Skip to content

WIP: Move GPU initialization into a separate class

This introduces the DevicesManager class, that is responsible for detection, initialization and management of the GPU hardware. The Class has separate implementations for CPU-only, CUDA and OpenCL builds. The DeviceInformation structure is moved to hardware subfolder, where this new manager is. Mostly, this commit is a plain movement of the code to a new location, with slight changes to the memory management and reconsideration of booleans. Introduction of this or similar class would simplify the hardware management in special cases as well, e.g. tests.

Future improvements:

  1. Make it into a class with private implementation (need to make MPI broadcast work).
  2. Make list of the devices into a vector (requires PImpling or inclusion of DeviceInformation header)
Edited by Artem Zhmurov

Merge request reports