Added a function for checking whether CUDA-capable devices are available
This commit is contained in:
@@ -49,6 +49,10 @@ AcResult acInit(const AcMeshInfo mesh_info);
|
||||
* called at exit. */
|
||||
AcResult acQuit(void);
|
||||
|
||||
/** Checks whether there are any CUDA devices available. Returns AC_SUCCESS if there is 1 or more,
|
||||
* AC_FAILURE otherwise. */
|
||||
AcResult acCheckDeviceAvailability(void);
|
||||
|
||||
/** Synchronizes a specific stream. All streams are synchronized if STREAM_ALL is passed as a
|
||||
* parameter*/
|
||||
AcResult acSynchronizeStream(const Stream stream);
|
||||
|
@@ -19,6 +19,7 @@
|
||||
// #include "astaroth_defines.h"
|
||||
#include "astaroth.h"
|
||||
|
||||
#include "errchk.h"
|
||||
#include "math_utils.h" // int3 + int3
|
||||
|
||||
#define AC_GEN_STR(X) #X
|
||||
@@ -51,6 +52,17 @@ acQuit(void)
|
||||
return acNodeDestroy(nodes[0]);
|
||||
}
|
||||
|
||||
AcResult
|
||||
acCheckDeviceAvailability(void)
|
||||
{
|
||||
int device_count; // Separate from num_devices to avoid side effects
|
||||
ERRCHK_CUDA_ALWAYS(cudaGetDeviceCount(&device_count));
|
||||
if (device_count > 0)
|
||||
return AC_SUCCESS;
|
||||
else
|
||||
return AC_FAILURE;
|
||||
}
|
||||
|
||||
AcResult
|
||||
acSynchronize(void)
|
||||
{
|
||||
|
Reference in New Issue
Block a user