diff --git a/cmake/CompilerConfiguration.cmake b/cmake/CompilerConfiguration.cmake index b2b68dc8d8e..5d418744386 100644 --- a/cmake/CompilerConfiguration.cmake +++ b/cmake/CompilerConfiguration.cmake @@ -51,9 +51,6 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") if ((NOT (USE_MPI)) OR (NOT ("${MPI_Fortran_LIBRARY_VERSION_STRING}" MATCHES "Open MPI"))) set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=leak") endif () - if (USE_ACCEL MATCHES "hip" AND hip_VERSION GREATER_EQUAL 6.0.0) # Remove deprecated function error with ROCm v6+ - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=deprecated-declarations") - endif () elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") set(CMAKE_CXX_FLAGS_RELEASE "-O3 -funroll-loops") set(CMAKE_CXX_FLAGS_COVERAGE "-O0 -g --coverage") diff --git a/src/acc/cuda_hip/acc_init.cpp b/src/acc/cuda_hip/acc_init.cpp index b1e70178c0f..2a4b684ded3 100644 --- a/src/acc/cuda_hip/acc_init.cpp +++ b/src/acc/cuda_hip/acc_init.cpp @@ -26,8 +26,10 @@ extern "C" int c_dbcsr_acc_init() { ACC_DRV(device) acc_device; ACC_API_CALL(GetDevice, (&myDevice)); ACC_DRV_CALL(DeviceGet, (&acc_device, myDevice)); +#if defined(__CUDA) ACC_DRV(context) ctx; ACC_DRV_CALL(DevicePrimaryCtxRetain, (&ctx, acc_device)); +#endif ACC_API_CALL(RuntimeGetVersion, (&runtimeVersion)); // Initialize libsmm_acc, DBCSR's GPU backend @@ -41,6 +43,8 @@ extern "C" int c_dbcsr_acc_finalize() { ACC_DRV(device) acc_device; ACC_API_CALL(GetDevice, (&myDevice)); ACC_DRV_CALL(DeviceGet, (&acc_device, myDevice)); +#if defined(__CUDA) ACC_DRV_CALL(DevicePrimaryCtxRelease, (acc_device)); +#endif return libsmm_acc_finalize(); }