Gromacs  2025-dev-20241003-bd59e46
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Attributes
DeviceInformation Struct Reference

#include <gromacs/hardware/device_information.h>

+ Collaboration diagram for DeviceInformation:

Description

Platform-dependent device information.

The device information is queried and set at detection and contains both information about the device/hardware returned by the runtime as well as additional data like support status.

Public Attributes

DeviceStatus status
 Device status.
 
int id
 ID of the device, ie. the index into the device order reported by the GPU runtime.
 
DeviceVendor deviceVendor
 Device vendor.
 
gmx::FixedCapacityVector< int, 10 > supportedSubGroupSizes
 Warp/sub-group sizes supported by the device. More...
 
gmx::GpuAwareMpiStatus gpuAwareMpiStatus
 
std::optional< std::array
< std::byte, 16 > > 
uuid
 UUID of the device, when available. More...
 

Member Data Documentation

gmx::FixedCapacityVector<int, 10> DeviceInformation::supportedSubGroupSizes

Warp/sub-group sizes supported by the device.

DeviceInformation must be serializable in CUDA, so we cannot use std::vector here. Arbitrarily limiting to 10.

std::optional<std::array<std::byte, 16> > DeviceInformation::uuid

UUID of the device, when available.

If device UUIDs are not available, then multi-rank DLB may not work properly when environment variables restrict device visibility to each rank.

Note that even if the device and SDK support UUID queries, compatibility or version issues mean we need a field that might not contain a value in practice.


The documentation for this struct was generated from the following file: