Gromacs
2024.4
|
#include "gmxpre.h"
#include "gromacs/taskassignment/usergpuids.h"
#include <cctype>
#include <algorithm>
#include <sstream>
#include <string>
#include <vector>
#include "gromacs/hardware/device_management.h"
#include "gromacs/hardware/hw_info.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/stringutil.h"
Defines routines for handling user-specified GPU IDs.
Functions | |
static std::vector< int > | gmx::parseGpuDeviceIdentifierList (const std::string &gpuIdString) |
Parse a GPU ID specifier string into a container. More... | |
std::vector< int > | gmx::parseUserGpuIdString (const std::string &gpuIdString) |
Parse a GPU ID specifier string into a container describing device IDs exposed to the run. More... | |
std::vector< int > | gmx::makeListOfAvailableDevices (gmx::ArrayRef< const std::unique_ptr< DeviceInformation >> deviceInfoList, const std::string &devicesSelectedByUserString) |
Implement GPU ID selection by returning the available GPU IDs on this physical node that are compatible. More... | |
std::vector< int > | gmx::parseUserTaskAssignmentString (const std::string &gpuIdString) |
Parse a GPU ID specifier string into a container describing device ID to task mapping. More... | |
std::vector< int > | gmx::makeGpuIds (ArrayRef< const int > compatibleGpus, size_t numGpuTasks) |
Make a vector containing numGpuTasks IDs of the IDs found in compatibleGpus . More... | |
std::string | gmx::makeGpuIdString (const std::vector< int > &gpuIds, int totalNumberOfTasks) |
Convert a container of GPU deviced IDs to a string that can be used by gmx tune_pme as input to mdrun -gputasks. More... | |
void | gmx::checkUserGpuIds (ArrayRef< const std::unique_ptr< DeviceInformation >> deviceInfoList, ArrayRef< const int > compatibleGpus, ArrayRef< const int > gpuIds) |
Check that all user-selected GPUs are compatible. More... | |