Skip to content

Commit 4711d1e

Browse files
committed
Sync GPU Optimization Guide examples for 2025 release
1 parent 7b8ac30 commit 4711d1e

File tree

1 file changed

+19
-6
lines changed

1 file changed

+19
-6
lines changed

Publications/GPU-Opt-Guide/CMakeLists.txt

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,22 @@
1-
cmake_minimum_required(VERSION 3.25 FATAL_ERROR)
1+
cmake_minimum_required(VERSION 3.21 FATAL_ERROR)
22
option(BUILD_FORTRAN_EXAMPLES "Whether to build fortran examples" ON)
33
set(CMAKE_C_COMPILER icx)
44
set(CMAKE_CXX_COMPILER icpx)
5+
set(_languages C CXX)
6+
57
if (BUILD_FORTRAN_EXAMPLES)
8+
set(_languages ${_languages} Fortran)
69
set(CMAKE_Fortran_COMPILER ifx)
710
endif()
811

9-
project(GPUOptGuide)
10-
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
11-
12-
include(CheckLanguage)
1312
enable_testing()
1413

14+
project(GPUOptGuide
15+
LANGUAGES ${_languages}
16+
DESCRIPTION "Examples from oneAPI GPU Optimization Guide")
17+
18+
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
19+
1520
find_package(IntelSYCL REQUIRED)
1621

1722
if (BUILD_FOTRAN_EXAMPLES)
@@ -24,6 +29,7 @@ if (BUILD_FOTRAN_EXAMPLES)
2429
endif()
2530

2631
set(MKL_THREADING tbb_thread)
32+
set(MKL_INTERFACE "ilp64")
2733
set(DPCPP_COMPILER ON)
2834
find_package(MKL REQUIRED)
2935

@@ -151,7 +157,7 @@ function(add_example_with_mkl_mpi name)
151157
set(MKL_ROOT $ENV{MKLROOT} CACHE PATH "Folder contains MKL")
152158
endif(NOT MKL_ROOT)
153159
target_compile_options(${name} PRIVATE -fiopenmp -fopenmp-targets=spir64 -fsycl -DMKL_LP64 -I"${MKLROOT}/include")
154-
target_link_options(${name} PRIVATE -fiopenmp -fopenmp-targets=spir64 -fsycl -L${MKLROOT}/lib -lmkl_sycl_blas -lmkl_intel_lp64 -lmkl_tbb_thread -lmkl_core -lsycl -lpthread -lm -ldl)
160+
target_link_options(${name} PRIVATE -fiopenmp -fopenmp-targets=spir64 -fsycl -L${MKLROOT}/lib -lmkl_sycl_blas -lmkl_intel_ilp64 -lmkl_tbb_thread -lmkl_core -lsycl -lpthread -lm -ldl)
155161
target_link_libraries(${name} PRIVATE MPI::MPI_CXX)
156162
add_test(NAME ${name} COMMAND ${name} ${ARGN})
157163
endif()
@@ -163,28 +169,35 @@ add_subdirectory(atomics)
163169
add_subdirectory(buffer-accessors)
164170
add_subdirectory(buffers)
165171
add_subdirectory(composite-explicit-scaling)
172+
add_subdirectory(composite-implicit-scaling)
166173
add_subdirectory(conditionals)
167174
add_subdirectory(exec-model)
168175
add_subdirectory(flat)
169176
add_subdirectory(fp-computations)
170177
add_subdirectory(grf-mode-selection)
178+
add_subdirectory(host-device-memory)
171179
add_subdirectory(io-kernel)
172180
add_subdirectory(jitting)
181+
add_subdirectory(joint-matrix)
173182
add_subdirectory(kernels)
174183
add_subdirectory(libraries-fcorr)
175184
add_subdirectory(libraries-kernel)
176185
add_subdirectory(libraries-stdlib)
186+
add_subdirectory(local-global-sync)
177187
add_subdirectory(matrix)
178188
add_subdirectory(memory-movement)
179189
add_subdirectory(MPI)
180190
add_subdirectory(multiple-devices)
181191
add_subdirectory(multiple-kernel-execution)
182192
add_subdirectory(multiple-queue-submission)
193+
add_subdirectory(onemkl-scaling)
183194
add_subdirectory(OpenMP)
184195
add_subdirectory(optimize-data-transfers)
196+
add_subdirectory(overlap-data-transfers)
185197
add_subdirectory(porting-registers)
186198
add_subdirectory(prefetch)
187199
add_subdirectory(reduction)
200+
add_subdirectory(redundant-queues)
188201
add_subdirectory(registers)
189202
add_subdirectory(restrict)
190203
add_subdirectory(slm)

0 commit comments

Comments
 (0)