From dce6d0bd67d202137d931de9fbe26e93bde65a50 Mon Sep 17 00:00:00 2001 From: gnumlab Date: Mon, 5 May 2025 11:00:04 +0200 Subject: [PATCH] add variable for filling psb_config.h --- CMakeLists.txt | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9cbe79f7..b56a004f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -960,7 +960,7 @@ option(PSB_BUILD_CUDA "Build CUDA code" OFF) if(PSB_BUILD_CUDA) if(NOT DEFINED PSB_CUDA_PATH) - set(PSB_CUDA_PATH "/opt/cuda/12.8") + set(PSB_CUDA_PATH "/opt/cuda/12.8") endif() # Include the CMakeLists for the cbind library include(${CMAKE_CURRENT_LIST_DIR}/cuda/CMakeLists.txt) @@ -972,6 +972,32 @@ if(PSB_BUILD_CUDA) enable_language(CUDA) + # Check for CUDA version + set(PSB_CUDA_VERSION 12800) + if(PSB_CUDA_VERSION) + message(STATUS "CUDA version: ${PSB_CUDA_VERSION}") + + # Define macros for CUDA version + # add_definitions(-DPSB_HAVE_CUDA) + # add_definitions(-DPSB_CUDA_VERSION=${PSB_CUDA_VERSION}) + math(EXPR PSB_CUDA_SHORT_VERSION "${PSB_CUDA_VERSION} / 1000") + # add_definitions(-DPSB_CUDA_SHORT_VERSION=${PSB_CUDA_SHORT_VERSION}) + + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -DPSB_HAVE_CUDA") + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -DPSB_CUDA_VERSION=${PSB_CUDA_VERSION}") + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -DPSB_CUDA_SHORT_VERSION=${PSB_CUDA_SHORT_VERSION}") + + + set(CHAVECUDA "#define PSB_HAVE_CUDA") + set(CSHORTVCUDA "#define PSB_CUDA_SHORT_VERSION ${PSB_CUDA_SHORT_VERSION}") + set(CVERSIONCUDA "#define PSB_CUDA_VERSION ${PSB_CUDA_VERSION}") + + else() + message(FATAL_ERROR "CUDA version not found!") + endif() + + + # Define the CUDA library #if(WIN32) #add_library(psb_cuda_C STATIC ${cuda_source_files}) @@ -1010,6 +1036,8 @@ if(PSB_BUILD_CUDA) add_library(psb_cuda_C OBJECT ${cuda_source_C_files} ${cuda_source_cu_files}) + # Create the main CUDA library + add_library(cuda ${cuda_source_files}) # Create the main CUDA library add_library(cuda ${cuda_source_files}) @@ -1132,8 +1160,6 @@ endif() #configure_package_config_file( -# "${CMAKE_CURRENT_SOURCE_DIR}/cmake/psblasConfig.cmake.in" -# "${CMAKE_CURRENT_BINARY_DIR}/psblasConfig.cmake" # INSTALL_DESTINATION "${CMAKE_INSTALL_PREFIX}/cmake/psblas" #)