Gromacs
2024.3
|
#include "config.h"
#include <array>
#include <optional>
#include <type_traits>
#include "gromacs/utility/arrayref.h"
#include "gromacs/utility/enumerationhelpers.h"
#include "gromacs/utility/mpiinfo.h"
Declares the GPU information structure and its helpers.
Classes | |
struct | DeviceInformation |
Platform-dependent device information. More... | |
Enumerations | |
enum | DeviceStatus : int { DeviceStatus::Compatible, DeviceStatus::Nonexistent, DeviceStatus::Incompatible, DeviceStatus::IncompatibleClusterSize, DeviceStatus::IncompatibleNvidiaVolta, DeviceStatus::NotPreferredBackend, DeviceStatus::NonFunctional, DeviceStatus::Unavailable, DeviceStatus::DeviceNotTargeted, DeviceStatus::IncompatibleOclAmdRdna, DeviceStatus::IncompatibleAmdRdnaNotTargeted, DeviceStatus::Count } |
Possible results of the GPU detection/check. More... | |
enum | DeviceVendor : int { DeviceVendor::Unknown = 0, DeviceVendor::Nvidia = 1, DeviceVendor::Amd = 2, DeviceVendor::Intel = 3, DeviceVendor::Apple = 4, DeviceVendor::Count = 5 } |
Device vendors. More... | |
Variables | |
static constexpr bool | c_binarySupportsGpus = (GMX_GPU != 0) |
Constant used to help minimize preprocessed code. | |
static const gmx::EnumerationArray < DeviceStatus, const char * > | c_deviceStateString |
Names of the GPU detection/check results. More... | |
static constexpr bool | c_canSerializeDeviceInformation = std::is_trivial_v<DeviceInformation> |
Whether DeviceInformation can be serialized for sending via MPI. | |
|
strong |
Possible results of the GPU detection/check.
|
strong |
|
static |
Names of the GPU detection/check results.
Check-source wants to warn about the use of a symbol name that would require an inclusion of config.h. However the use is in a comment, so that is a false warning. So C-style string concatenation is used to fool the naive parser in check-source. That needs a clang-format suppression in order to look reasonable. Also clang-tidy wants to suggest that a comma is missing, so that is suppressed.