From 7abc9fdbd32b9bfddabaa5b98f24209e79fdba09 Mon Sep 17 00:00:00 2001 From: Uldis Locans Date: Wed, 23 Nov 2016 21:15:20 +0100 Subject: [PATCH 1/4] cuda random number initialization - same seed different sequence for each state --- src/CUDA/CudaBase.cu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CUDA/CudaBase.cu b/src/CUDA/CudaBase.cu index f352cf2..03fa327 100644 --- a/src/CUDA/CudaBase.cu +++ b/src/CUDA/CudaBase.cu @@ -8,7 +8,7 @@ __global__ void initcuRandState(curandState *state, int size, int seed = 0) { int idx = blockIdx.x * blockDim.x + threadIdx.x; if (idx < size) { - curand_init(seed + idx, 0, 0, &state[idx]); + curand_init(seed, idx, 0, &state[idx]); } } From 69a9f7b9fb370e8a4fb464aea86138f8011f6fd2 Mon Sep 17 00:00:00 2001 From: Locans Uldis Date: Tue, 10 Jan 2017 16:06:00 +0100 Subject: [PATCH 2/4] remove rpath in cmake when AMD OpenCL is used - fixes segfaults in OpenCL. Write compiler flags and cmake options in DKSConfig.cmake.in file to be used by projects using DKS --- CMakeLists.txt | 1 + cmake/DKSConfig.cmake.in | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9c08e39..e33b237 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -123,6 +123,7 @@ IF ( (${CMAKE_C_COMPILER_ID} STREQUAL "GNU" OR ${CMAKE_C_COMPILER_ID} STREQUAL " MESSAGE(STATUS "OpenCL version : ${OpenCL_VERSION_STRING}") MESSAGE(STATUS "OpenCL include dir: ${OpenCL_INCLUDE_DIR}") MESSAGE(STATUS "OpenCL library dir: ${OpenCL_LIBRARY}") + SET(CMAKE_SKIP_RPATH TRUE) INCLUDE_DIRECTORIES(${OpenCL_INCLUDE_DIR}) LINK_DIRECTORIES(${OpenCL_LIBRARY}) ENDIF (OpenCL_FOUND) diff --git a/cmake/DKSConfig.cmake.in b/cmake/DKSConfig.cmake.in index d764963..9499d8e 100644 --- a/cmake/DKSConfig.cmake.in +++ b/cmake/DKSConfig.cmake.in @@ -1,4 +1,5 @@ -SET(${PROJECT_NAME}_CMAKE_CXX_FLAGS "${${PROJECT_NAME}_CXX_FLAGS}") +SET(${PROJECT_NAME}_CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") SET(${PROJECT_NAME}_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include") SET(${PROJECT_NAME}_LIBRARY_DIR "${CMAKE_INSTALL_PREFIX}/lib") -SET(${PROJECT_NAME}_LIBRARY "dks") \ No newline at end of file +SET(${PROJECT_NAME}_LIBRARY "dks") +SET(CMAKE_SKIP_RPATH ${CMAKE_SKIP_RPATH}) \ No newline at end of file From 8750ea06e5ea64d418fa312f614f0ddb6ab24d25 Mon Sep 17 00:00:00 2001 From: Uldis Locans Date: Mon, 16 Jan 2017 11:10:22 +0100 Subject: [PATCH 3/4] remove duplicate flags for c++ and cuda compilers --- CMakeLists.txt | 3 ++- test/CMakeLists.txt | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e33b237..17bd9a4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -95,10 +95,11 @@ IF ( (${CMAKE_C_COMPILER_ID} STREQUAL "GNU" OR ${CMAKE_C_COMPILER_ID} STREQUAL " MESSAGE (STATUS "cuda include: ${CUDA_INCLUDE_DIRS}") MESSAGE (STATUS "cuda libs: ${CUDA_TOOLKIT_ROOT_DIR}/lib64") MESSAGE (STATUS "cuda version: ${CUDA_VERSION}") + SET(CUDA_PROPAGATE_HOST_FLAGS OFF) SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lcudart -lcufft -lcublas -lnvToolsExt -DDKS_CUDA") SET (CUDA_NVCC_FLAGS "-arch=sm_35 -DDEBUG -lcufft -lcublas -lcudart -fmad=false") - + SET (CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS} -DDEBUG -std=c++11 -D__wsu") SET (CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS} ${OPENCL_KERNELS}") #if cuda version >= 7.0 add runtime commpilation flags diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 01f33fb..e81e69f 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -53,7 +53,7 @@ ADD_EXECUTABLE(testCollimatorPhysics testCollimatorPhysics.cpp) #TARGET_LINK_LIBRARIES(testGather dks) #TARGET_LINK_LIBRARIES(testGatherAsync dks) #TARGET_LINK_LIBRARIES(testTranspose dks) -TARGET_LINK_LIBRARIES(testCollimatorPhysics dks) +TARGET_LINK_LIBRARIES(testCollimatorPhysics dks ${Boost_LIBRARIES}) #TARGET_LINK_LIBRARIES(testCollimatorPhysicsSoA dks) #TARGET_LINK_LIBRARIES(testPush dks) #TARGET_LINK_LIBRARIES(testFFTSolverMIC dks) From c4e7029b5db58792ae38ba44ac2e186ddecb9911 Mon Sep 17 00:00:00 2001 From: Uldis Locans Date: Mon, 16 Jan 2017 15:25:31 +0100 Subject: [PATCH 4/4] libcuda loaded from stubs --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 17bd9a4..d7d0415 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -91,6 +91,7 @@ IF ( (${CMAKE_C_COMPILER_ID} STREQUAL "GNU" OR ${CMAKE_C_COMPILER_ID} STREQUAL " SET (USE_CUDA ON) INCLUDE_DIRECTORIES(${CUDA_INCLUDE_DIRS}) LINK_DIRECTORIES(${CUDA_TOOLKIT_ROOT_DIR}/lib64) + LINK_DIRECTORIES(${CUDA_TOOLKIT_ROOT_DIR}/lib64/stubs) MESSAGE (STATUS "cuda include: ${CUDA_INCLUDE_DIRS}") MESSAGE (STATUS "cuda libs: ${CUDA_TOOLKIT_ROOT_DIR}/lib64")