From 2bbee24c2e2c4414334a767f931cd5be6ceeca1e Mon Sep 17 00:00:00 2001 From: Tobias Ribizel Date: Sun, 19 May 2024 22:09:26 +0200 Subject: [PATCH] fix CUDA CMake --- common/cuda_hip/CMakeLists.txt | 4 +++- cuda/CMakeLists.txt | 32 +++++++++++++------------------- 2 files changed, 16 insertions(+), 20 deletions(-) diff --git a/common/cuda_hip/CMakeLists.txt b/common/cuda_hip/CMakeLists.txt index af919e90897..8014d5dad6d 100644 --- a/common/cuda_hip/CMakeLists.txt +++ b/common/cuda_hip/CMakeLists.txt @@ -1,3 +1,5 @@ +include(${PROJECT_SOURCE_DIR}/cmake/template_instantiation.cmake) +add_instantiation_files(${CMAKE_CURRENT_SOURCE_DIR} matrix/fbcsr_kernels.instantiate.cpp FBCSR_INSTANTIATE) set(CUDA_HIP_SOURCES base/batch_multi_vector_kernels.cpp base/device_matrix_data_kernels.cpp @@ -42,7 +44,6 @@ set(CUDA_HIP_SOURCES matrix/dense_kernels.cpp matrix/diagonal_kernels.cpp matrix/ell_kernels.cpp - matrix/fbcsr_kernels.cpp matrix/sellp_kernels.cpp matrix/sparsity_csr_kernels.cpp multigrid/pgm_kernels.cpp @@ -55,4 +56,5 @@ set(CUDA_HIP_SOURCES stop/batch_criteria.hpp ) list(TRANSFORM CUDA_HIP_SOURCES PREPEND ${CMAKE_CURRENT_SOURCE_DIR}/) +list(APPEND CUDA_HIP_SOURCES ${FBCSR_INSTANTIATE}) set(GKO_CUDA_HIP_COMMON_SOURCES ${CUDA_HIP_SOURCES} PARENT_SCOPE) \ No newline at end of file diff --git a/cuda/CMakeLists.txt b/cuda/CMakeLists.txt index 11c00a1f8e1..8abdd7ba3f5 100644 --- a/cuda/CMakeLists.txt +++ b/cuda/CMakeLists.txt @@ -2,7 +2,6 @@ cmake_minimum_required(VERSION 3.18 FATAL_ERROR) add_library(ginkgo_cuda $ "") include(${PROJECT_SOURCE_DIR}/cmake/template_instantiation.cmake) add_instantiation_files(. matrix/csr_kernels.instantiate.cu CSR_INSTANTIATE) -add_instantiation_files(. matrix/fbcsr_kernels.instantiate.cu FBCSR_INSTANTIATE) # we don't split up the dense kernels into distinct compilations list(APPEND GKO_UNIFIED_COMMON_SOURCES ${PROJECT_SOURCE_DIR}/common/unified/matrix/dense_kernels.instantiate.cpp) target_sources(ginkgo_cuda @@ -19,19 +18,14 @@ target_sources(ginkgo_cuda base/version.cpp factorization/ic_kernels.cu factorization/ilu_kernels.cu - factorization/par_ilut_approx_filter_kernel.cu - factorization/par_ilut_filter_kernel.cu + factorization/par_ilut_approx_filter_kernels.cu factorization/par_ilut_select_common.cu - factorization/par_ilut_select_kernel.cu - factorization/par_ilut_spgeam_kernel.cu - factorization/par_ilut_sweep_kernel.cu ${CSR_INSTANTIATE} - ${FBCSR_INSTANTIATE} matrix/fft_kernels.cu preconditioner/batch_jacobi_kernels.cu - preconditioner/jacobi_advanced_apply_kernel.cu - preconditioner/jacobi_generate_kernel.cu - preconditioner/jacobi_simple_apply_kernel.cu + preconditioner/jacobi_advanced_apply_kernels.cu + preconditioner/jacobi_generate_kernels.cu + preconditioner/jacobi_simple_apply_kernels.cu solver/batch_bicgstab_kernels.cu solver/batch_cg_kernels.cu solver/lower_trs_kernels.cu @@ -56,18 +50,18 @@ endif() set(GKO_CUDA_JACOBI_SOURCES) foreach(GKO_JACOBI_BLOCK_SIZE IN LISTS GKO_CUDA_JACOBI_BLOCK_SIZES) configure_file( - preconditioner/jacobi_generate_instantiate.inc.cu - preconditioner/jacobi_generate_instantiate.${GKO_JACOBI_BLOCK_SIZE}.cu) + preconditioner/jacobi_generate_kernels.instantiate.cu + preconditioner/jacobi_generate_kernels.instantiate.${GKO_JACOBI_BLOCK_SIZE}.cu) configure_file( - preconditioner/jacobi_simple_apply_instantiate.inc.cu - preconditioner/jacobi_simple_apply_instantiate.${GKO_JACOBI_BLOCK_SIZE}.cu) + preconditioner/jacobi_simple_apply_kernels.instantiate.cu + preconditioner/jacobi_simple_apply_kernels.instantiate.${GKO_JACOBI_BLOCK_SIZE}.cu) configure_file( - preconditioner/jacobi_advanced_apply_instantiate.inc.cu - preconditioner/jacobi_advanced_apply_instantiate.${GKO_JACOBI_BLOCK_SIZE}.cu) + preconditioner/jacobi_advanced_apply_kernels.instantiate.cu + preconditioner/jacobi_advanced_apply_kernels.instantiate.${GKO_JACOBI_BLOCK_SIZE}.cu) list(APPEND GKO_CUDA_JACOBI_SOURCES - ${CMAKE_CURRENT_BINARY_DIR}/preconditioner/jacobi_generate_instantiate.${GKO_JACOBI_BLOCK_SIZE}.cu - ${CMAKE_CURRENT_BINARY_DIR}/preconditioner/jacobi_simple_apply_instantiate.${GKO_JACOBI_BLOCK_SIZE}.cu - ${CMAKE_CURRENT_BINARY_DIR}/preconditioner/jacobi_advanced_apply_instantiate.${GKO_JACOBI_BLOCK_SIZE}.cu) + ${CMAKE_CURRENT_BINARY_DIR}/preconditioner/jacobi_generate_kernels.instantiate.${GKO_JACOBI_BLOCK_SIZE}.cu + ${CMAKE_CURRENT_BINARY_DIR}/preconditioner/jacobi_simple_apply_kernels.instantiate.${GKO_JACOBI_BLOCK_SIZE}.cu + ${CMAKE_CURRENT_BINARY_DIR}/preconditioner/jacobi_advanced_apply_kernels.instantiate.${GKO_JACOBI_BLOCK_SIZE}.cu) endforeach() target_sources(ginkgo_cuda PRIVATE ${GKO_CUDA_JACOBI_SOURCES}) string(REPLACE ";" "," GKO_CUDA_JACOBI_BLOCK_SIZES_CODE "${GKO_CUDA_JACOBI_BLOCK_SIZES}")