Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 1 addition & 23 deletions applications/plugins/SofaCUDA/Core/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -67,25 +67,6 @@ sofa_find_package(Sofa.Component.Mass REQUIRED) # because of CudaMassType -> nee

option(SOFACUDA_CORE_VERBOSE_PTXAS "???" OFF)

option(SOFACUDA_CUBLAS "Activate cublas support in CUDA (requires SOFACUDA_DOUBLE)." OFF)
if(SOFACUDA_CUBLAS)
set(SOFA_GPU_CUBLAS 1) # #cmakedefine
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
find_package(CUDASparse REQUIRED)
endif()

# Note: THRUST is included in CUDA SDK 4.0+, it is recommended to use it if available
option(SOFACUDA_THRUST "Activate THRUST (for RadixSort)." ON)
if(SOFACUDA_THRUST)
set(SOFA_GPU_THRUST 1) # #cmakedefine
endif()

option(SOFACUDA_DOUBLE "Activate double-precision support in CUDA (requires GT200+ GPU and -arch sm_13 flag." OFF)
if(SOFACUDA_DOUBLE)
set(SOFA_GPU_CUDA_DOUBLE 1) # #cmakedefine
endif()


# Note: with SOFA_GPU_CUDA_PRECISE and SOFA_GPU_CUDA_DOUBLE you get IEEE
# 754-compliant floating point operations for addition and multiplication only.
option(SOFACUDA_PRECISE "Use IEEE 754-compliant floating point operations." OFF)
Expand Down Expand Up @@ -126,10 +107,7 @@ target_link_libraries(${PROJECT_NAME} PUBLIC Sofa.Component.Mass)
target_link_libraries(${PROJECT_NAME} PUBLIC CUDA::cudart)

target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_17 cuda_std_17)

if(SOFACUDA_CUBLAS)
target_link_libraries(${PROJECT_NAME} ${CUDA_cusparse_LIBRARY} CUDA::cublas)
endif()
target_link_libraries(${PROJECT_NAME} PUBLIC ${CUDA_cusparse_LIBRARY} CUDA::cublas)

# see (I guess) https://github.com/sofa-framework/sofa/blob/314b95cbfba411bf8431486ea75b7c67c0bbcc76/Sofa/framework/Config/cmake/SofaMacrosInstall.cmake#L695
target_include_directories(${PROJECT_NAME} PUBLIC "$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>/include/${PROJECT_NAME}/${PROJECT_NAME}")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,15 @@
#include <sofa/config.h>
#include <sofa/config/sharedlibrary_defines.h>

#cmakedefine SOFA_GPU_THRUST
#cmakedefine SOFA_GPU_CUDA_DOUBLE
#define SOFA_GPU_CUDA_DOUBLE
#define SOFA_GPU_THRUST
#define SOFA_GPU_CUBLAS
#cmakedefine SOFA_GPU_CUDA_PRECISE
#cmakedefine SOFA_GPU_CUDA_DOUBLE_PRECISE
#cmakedefine SOFA_GPU_CUBLAS

#cmakedefine01 SOFACUDA_CORE_HAVE_SOFA_GL


#ifdef SOFA_BUILD_SOFACUDA_CORE
# define SOFACUDA_CORE_API SOFA_EXPORT_DYNAMIC_LIBRARY
#else
Expand Down
Loading