Gromacs  2019-beta1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Typedefs | Enumerations | Functions
#include <vector>
+ Include dependency graph for taskassignment.h:

Description

Declares high-level functionality for managing assigning tasks on ranks of a node to hardware on that node, and the factory function to build the correct flavours of gmx::INodeTaskAssigner required to implement the user's requirements.

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

Classes

struct  gmx::GpuTaskMapping
 Specifies the GPU deviceID_ available for task_ to use. More...
 

Typedefs

using gmx::GpuTaskAssignment = std::vector< GpuTaskMapping >
 Container of GPU tasks on a rank, specifying the task type and GPU device ID, e.g. potentially ready for consumption by the modules on that rank.
 
using gmx::GpuTasksOnRanks = std::vector< std::vector< GpuTask > >
 Container of compute tasks suitable to run on a GPU e.g. on each rank of a node.
 
using gmx::GpuTaskAssignments = std::vector< GpuTaskAssignment >
 Container of RankGpuTaskAssignments e.g. for all ranks on a node.
 

Enumerations

enum  gmx::GpuTask : int { gmx::GpuTask::Nonbonded, gmx::GpuTask::Pme }
 Types of compute tasks that can be run on a GPU. More...
 

Functions

GpuTaskAssignments::value_type gmx::runTaskAssignment (const std::vector< int > &gpuIdsToUse, const std::vector< int > &userGpuTaskAssignment, const gmx_hw_info_t &hardwareInfo, const MDLogger &mdlog, const t_commrec *cr, const gmx_multisim_t *ms, const PhysicalNodeCommunicator &physicalNodeComm, const std::vector< GpuTask > &gpuTasksOnThisRank, bool useGpuForBonded, PmeRunMode pmeRunMode)
 Coordinate the final stages of task assignment and reporting, and return the assignment for this rank. More...
 
template<GpuTask TaskType>
bool gmx::hasTaskType (const GpuTaskMapping &mapping)
 Function for whether the task of mapping has value TaskType.