Gromacs  2021.2
 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:


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

Mark Abraham


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...


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