Gromacs  2024.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions | Variables
#include "gmxpre.h"
#include "findallgputasks.h"
#include "config.h"
#include <numeric>
#include <vector>
#include "gromacs/taskassignment/decidegpuusage.h"
#include "gromacs/taskassignment/taskassignment.h"
#include "gromacs/utility/arrayref.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/gmxassert.h"
#include "gromacs/utility/gmxmpi.h"
#include "gromacs/utility/physicalnodecommunicator.h"
+ Include dependency graph for findallgputasks.cpp:

Description

Defines routine for collecting all GPU tasks found on ranks of a node.

Author
Mark Abraham mark..nosp@m.j.ab.nosp@m.raham.nosp@m.@gma.nosp@m.il.co.nosp@m.m

Functions

std::vector< GpuTask > gmx::findGpuTasksOnThisRank (bool haveGpusOnThisPhysicalNode, TaskTarget nonbondedTarget, TaskTarget pmeTarget, TaskTarget bondedTarget, TaskTarget updateTarget, bool useGpuForNonbonded, bool useGpuForPme, bool rankHasPpTask, bool rankHasPmeTask)
 Returns container of all tasks on this rank that are eligible for GPU execution. More...
 
std::vector< int > gmx::anonymous_namespace{findallgputasks.cpp}::allgather (const int &input, int numRanks, MPI_Comm communicator)
 Helper function to prepare to all-gather the vector of non-bonded tasks on this node.
 
std::vector< int > gmx::anonymous_namespace{findallgputasks.cpp}::computeDisplacements (ArrayRef< const int > extentOnEachRank, int numRanks)
 Helper function to compute allgatherv displacements.
 
std::vector< GpuTask > gmx::anonymous_namespace{findallgputasks.cpp}::allgatherv (ArrayRef< const GpuTask > input, ArrayRef< const int > extentOnEachRank, ArrayRef< const int > displacementForEachRank, MPI_Comm communicator)
 Helper function to all-gather the vector of all GPU tasks on ranks of this node.
 
GpuTasksOnRanks gmx::findAllGpuTasksOnThisNode (ArrayRef< const GpuTask > gpuTasksOnThisRank, const PhysicalNodeCommunicator &physicalNodeComm)
 Returns container of all tasks on all ranks of this node that are eligible for GPU execution. More...
 

Variables

constexpr bool gmx::anonymous_namespace{findallgputasks.cpp}::g_usingMpi = GMX_MPI
 Constant used to help minimize preprocessing of code.