Skip to content

Commit 8b584fe

Browse files
committed
ACC: install interface
- General: acc/acc.h acc/acc_bench.h acc/acc_libsmm.h - OpenCL: acc/opencl/acc_opencl.h
1 parent 07fd25a commit 8b584fe

File tree

3 files changed

+28
-14
lines changed

3 files changed

+28
-14
lines changed

CMakeLists.txt

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ set(CMAKE_INTERPROCEDURAL_OPTIMIZATION FALSE FORCE)
55
# include our cmake snippets
66
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
77
# DBCSR's source directory
8-
set(DBCSR_SOURCE_DIR src)
8+
set(DBCSR_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
99

1010
# =================================================================================================
1111
# REQUIRE OUT-OF-SOURCE BUILDS
@@ -236,16 +236,19 @@ Intel MPI compiler wrappers. Check the INSTALL.md for more information.")
236236
endif ()
237237

238238
# =================================== GPU backends
239+
240+
if (NOT USE_ACCEL MATCHES "none")
241+
set(DBCSR_ACC_HEADER acc/acc.h acc/acc_bench.h acc/acc_libsmm.h)
242+
endif ()
243+
239244
if (USE_ACCEL MATCHES "opencl")
240245
find_package(OpenCL REQUIRED)
241246
enable_language(C)
242247

243-
set(DBCSR_OPENCL_TOOLDIR
244-
${CMAKE_CURRENT_SOURCE_DIR}/${DBCSR_SOURCE_DIR}/acc/opencl)
245-
set(DBCSR_OPENCL_SCRIPT ${DBCSR_OPENCL_TOOLDIR}/acc_opencl.sh)
246-
247-
set(DBCSR_OPENCL_COMMON common/opencl_atomics.h common/opencl_common.h)
248-
list(TRANSFORM DBCSR_OPENCL_COMMON PREPEND ${DBCSR_OPENCL_TOOLDIR}/)
248+
set(DBCSR_OPENCL_SCRIPT ${DBCSR_SOURCE_DIR}/acc/opencl/acc_opencl.sh)
249+
set(DBCSR_OPENCL_COMMON acc/opencl/common/opencl_atomics.h
250+
acc/opencl/common/opencl_common.h)
251+
list(APPEND DBCSR_ACC_HEADER acc/opencl/acc_opencl.h)
249252
endif ()
250253

251254
if (USE_ACCEL MATCHES "cuda|hip")

src/CMakeLists.txt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -350,11 +350,19 @@ if (WITH_C_API)
350350
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
351351
endif ()
352352

353+
if (NOT USE_ACCEL MATCHES "none")
354+
foreach (FILE ${DBCSR_ACC_HEADER})
355+
cmake_path(GET FILE PARENT_PATH SUBDIR)
356+
install(FILES "${FILE}" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${SUBDIR}")
357+
endforeach ()
358+
endif ()
359+
353360
if (USE_ACCEL MATCHES "opencl")
354361
install(PROGRAMS "${DBCSR_OPENCL_SCRIPT}"
355362
DESTINATION "${CMAKE_INSTALL_DATADIR}/opencl")
356363
foreach (FILE ${DBCSR_OPENCL_COMMON})
357-
install(FILES "${FILE}" DESTINATION "${CMAKE_INSTALL_DATADIR}/opencl")
364+
cmake_path(GET FILE PARENT_PATH SUBDIR)
365+
install(FILES "${FILE}" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${SUBDIR}")
358366
endforeach ()
359367
endif ()
360368

src/acc/opencl/smm/CMakeLists.txt

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1-
set(DBCSR_OPENCL_KERNELS_INC ${CMAKE_CURRENT_SOURCE_DIR}/opencl_kernels.h)
2-
3-
set(DBCSR_OPENCL_KERNELS kernels/multiply.cl kernels/transpose.cl)
4-
list(TRANSFORM DBCSR_OPENCL_KERNELS PREPEND ${CMAKE_CURRENT_SOURCE_DIR}/)
5-
61
set(DBCSR_OPENCL_PARAMS_WITHGPU
72
${CMAKE_CURRENT_SOURCE_DIR}/params/tune_multiply_${WITH_GPU}.csv)
83
set(DBCSR_OPENCL_PARAMS_CUSTOM ${CMAKE_CURRENT_SOURCE_DIR}/tune_multiply.csv)
@@ -22,12 +17,20 @@ else ()
2217
endif ()
2318
message(STATUS ${DBCSR_OPENCL_SCRIPT_MSG})
2419

20+
set(DBCSR_OPENCL_KERNELS kernels/multiply.cl kernels/transpose.cl)
21+
list(TRANSFORM DBCSR_OPENCL_KERNELS PREPEND ${CMAKE_CURRENT_SOURCE_DIR}/)
22+
23+
list(APPEND DBCSR_OPENCL_DEPENDS ${DBCSR_ACC_HEADER} ${DBCSR_OPENCL_COMMON})
24+
list(TRANSFORM DBCSR_OPENCL_DEPENDS PREPEND ${DBCSR_SOURCE_DIR}/)
25+
26+
set(DBCSR_OPENCL_KERNELS_INC ${CMAKE_CURRENT_SOURCE_DIR}/opencl_kernels.h)
27+
2528
add_custom_target(
2629
parameters # ALL
2730
COMMAND
2831
${DBCSR_OPENCL_SCRIPT} ${DBCSR_OPENCL_SCRIPT_ARGS} ${DBCSR_OPENCL_KERNELS}
2932
${DBCSR_OPENCL_PARAMS} ${DBCSR_OPENCL_KERNELS_INC}
30-
DEPENDS ${DBCSR_OPENCL_SCRIPT} ${DBCSR_OPENCL_KERNELS} ${DBCSR_OPENCL_COMMON}
33+
DEPENDS ${DBCSR_OPENCL_SCRIPT} ${DBCSR_OPENCL_KERNELS} ${DBCSR_OPENCL_DEPENDS}
3134
BYPRODUCTS ${DBCSR_OPENCL_KERNELS_INC}
3235
COMMENT ${DBCSR_OPENCL_SCRIPT_MSG})
3336

0 commit comments

Comments
 (0)