Access the device status directly, remove the getter
[alexxy/gromacs.git] / src / gromacs / gpu_utils / tests / devicetransfers.cu
index 0636285a1ea5cb286549db2342d5f8ec8fcd4596..4e7e14779d16ddfa991b6fbb2f39c9098707c9cf 100644 (file)
@@ -49,8 +49,7 @@
 #include "devicetransfers.h"
 
 #include "gromacs/gpu_utils/cudautils.cuh"
-#include "gromacs/hardware/device_management.h"
-#include "gromacs/hardware/gpu_hw_info.h"
+#include "gromacs/hardware/device_information.h"
 #include "gromacs/utility/arrayref.h"
 #include "gromacs/utility/exceptions.h"
 #include "gromacs/utility/gmxassert.h"
@@ -76,23 +75,16 @@ static void throwUponFailure(cudaError_t status, const char* message)
 
 } // namespace
 
-void doDeviceTransfers(const gmx_gpu_info_t& gpuInfo, ArrayRef<const char> input, ArrayRef<char> output)
+void doDeviceTransfers(const DeviceInformation& deviceInfo, ArrayRef<const char> input, ArrayRef<char> output)
 {
     GMX_RELEASE_ASSERT(input.size() == output.size(), "Input and output must have matching size");
-    const auto compatibleGpus = getCompatibleGpus(gpuInfo);
-    if (compatibleGpus.empty())
-    {
-        std::copy(input.begin(), input.end(), output.begin());
-        return;
-    }
     cudaError_t status;
 
-    const auto* device = getDeviceInfo(gpuInfo, compatibleGpus[0]);
-    int         oldDeviceId;
+    int oldDeviceId;
 
     status = cudaGetDevice(&oldDeviceId);
     throwUponFailure(status, "getting old device id");
-    status = cudaSetDevice(device->id);
+    status = cudaSetDevice(deviceInfo.id);
     throwUponFailure(status, "setting device id to the first compatible GPU");
 
     void* devicePointer;