Skip to content

Commit a5dd578

Browse files
committed
Reduce PR to direct SYCL integration only
1 parent 218b148 commit a5dd578

4 files changed

Lines changed: 25 additions & 61 deletions

File tree

.github/workflows/sycl-ci.yml

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,7 @@ jobs:
7676
-DCMAKE_CXX_COMPILER=${ITLABAI_CXX}
7777
-DCMAKE_PREFIX_PATH=${ITLABAI_CMAKE_PREFIX_PATH}
7878
-DITLABAI_ENABLE_SYCL=ON
79-
-DITLABAI_SYCL_IMPLEMENTATION=AdaptiveCpp
80-
-DITLABAI_ENABLE_OPENCV_APPS=OFF
81-
-DITLABAI_BUILD_TESTS=ON
82-
-DACPP_TARGETS=${ACPP_TARGETS}
79+
-DITLABAI_SYCL_TARGETS=${ACPP_TARGETS}
8380
)
8481
if command -v ccache >/dev/null 2>&1; then
8582
cmake_args+=(
@@ -91,8 +88,8 @@ jobs:
9188
cmake_args+=(-DOpenMP_ROOT=${ITLABAI_OPENMP_ROOT})
9289
fi
9390
cmake "${cmake_args[@]}"
94-
cmake --build "${build_dir}" --parallel
95-
ctest --test-dir "${build_dir}" --output-on-failure -E '^SYCL\.Example$' --parallel
91+
cmake --build "${build_dir}" --target SYCL_Example run_test --parallel
92+
ctest --test-dir "${build_dir}" --output-on-failure -R '^UnitTests$'
9693
done
9794
9895
- name: Configure, build and test
@@ -110,10 +107,7 @@ jobs:
110107
"-DCMAKE_CXX_COMPILER=$env:ITLABAI_CXX",
111108
"-DCMAKE_PREFIX_PATH=$env:ITLABAI_CMAKE_PREFIX_PATH",
112109
'-DITLABAI_ENABLE_SYCL=ON',
113-
'-DITLABAI_SYCL_IMPLEMENTATION=AdaptiveCpp',
114-
'-DITLABAI_ENABLE_OPENCV_APPS=OFF',
115-
'-DITLABAI_BUILD_TESTS=ON',
116-
"-DACPP_TARGETS=$env:ACPP_TARGETS"
110+
"-DITLABAI_SYCL_TARGETS=$env:ACPP_TARGETS"
117111
)
118112
if (Get-Command ccache -ErrorAction SilentlyContinue) {
119113
$cmakeArgs += '-DCMAKE_C_COMPILER_LAUNCHER=ccache'
@@ -124,8 +118,8 @@ jobs:
124118
}
125119
& cmake @cmakeArgs
126120
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
127-
& cmake --build $buildDir --parallel
121+
& cmake --build $buildDir --target SYCL_Example run_test --parallel
128122
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
129-
& ctest --test-dir $buildDir --output-on-failure -E '^SYCL\.Example$' --parallel
123+
& ctest --test-dir $buildDir --output-on-failure -R '^UnitTests$'
130124
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
131125
}

CMakeLists.txt

Lines changed: 14 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,9 @@
11
cmake_minimum_required(VERSION 3.20)
22

3-
project(ITLabAI LANGUAGES CXX)
3+
project(ITLabAI)
44

55
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Build type" FORCE)
66
option(ITLABAI_ENABLE_SYCL "Build SYCL example and helper targets" OFF)
7-
option(ITLABAI_ENABLE_OPENCV_APPS "Build OpenCV-dependent apps" ON)
8-
option(ITLABAI_BUILD_TESTS "Build unit tests" ON)
9-
set(ITLABAI_SYCL_IMPLEMENTATION "AdaptiveCpp" CACHE STRING
10-
"SYCL implementation to use")
11-
set_property(CACHE ITLABAI_SYCL_IMPLEMENTATION PROPERTY STRINGS AdaptiveCpp)
127
set(ITLABAI_SYCL_TARGETS "" CACHE STRING
138
"Optional SYCL targets; forwarded to AdaptiveCpp as ACPP_TARGETS")
149

@@ -29,25 +24,22 @@ option(ENABLE_STATISTIC_WEIGHTS "Enable statistic weights" OFF)
2924
if(ENABLE_STATISTIC_WEIGHTS)
3025
add_definitions(-DENABLE_STATISTIC_WEIGHTS)
3126
endif()
27+
3228
set(CMAKE_CXX_STANDARD 20)
3329

3430
enable_testing()
3531

36-
find_package(OpenMP REQUIRED COMPONENTS CXX)
32+
find_package(OpenMP REQUIRED)
3733

3834
if(OpenMP_FOUND)
3935
message(STATUS "OpenMP found - enabling parallel support")
36+
add_definitions(-DHAS_OPENMP)
37+
link_libraries(OpenMP::OpenMP_CXX)
4038
else()
4139
message(STATUS "OpenMP not found - parallel features disabled")
4240
endif()
4341

4442
if(ITLABAI_ENABLE_SYCL)
45-
if(NOT ITLABAI_SYCL_IMPLEMENTATION STREQUAL "AdaptiveCpp")
46-
message(FATAL_ERROR
47-
"ITLABAI_ENABLE_SYCL=ON currently supports only "
48-
"ITLABAI_SYCL_IMPLEMENTATION=AdaptiveCpp")
49-
endif()
50-
5143
if(ITLABAI_SYCL_TARGETS)
5244
set(ACPP_TARGETS "${ITLABAI_SYCL_TARGETS}" CACHE STRING
5345
"AdaptiveCpp targets" FORCE)
@@ -64,46 +56,31 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
6456

6557
add_subdirectory(3rdparty)
6658

67-
if(ITLABAI_ENABLE_OPENCV_APPS)
68-
include(cmake/opencv_config.cmake)
69-
endif()
59+
include(cmake/opencv_config.cmake)
7060
include(cmake/kokkos_config.cmake)
7161

72-
include_directories(SYSTEM "${KOKKOS_INSTALL_DIR}/include")
62+
include_directories("${KOKKOS_INSTALL_DIR}/include")
7363

7464
add_library(Kokkos_imported INTERFACE)
7565
add_dependencies(Kokkos_imported kokkos_external)
7666

77-
target_include_directories(Kokkos_imported SYSTEM INTERFACE
67+
target_include_directories(Kokkos_imported INTERFACE
7868
"${KOKKOS_INSTALL_DIR}/include"
7969
)
80-
target_link_directories(Kokkos_imported INTERFACE
70+
71+
target_link_directories(Kokkos_imported INTERFACE
8172
"${KOKKOS_INSTALL_DIR}/lib"
8273
)
74+
75+
8376
target_link_libraries(Kokkos_imported INTERFACE kokkoscore kokkoscontainers)
8477

8578

8679
if(MSVC)
8780
add_compile_options(/wd4267 /wd4244 /wd4127 /wd4324)
8881
endif()
8982

90-
get_filename_component(ITLABAI_C_COMPILER_NAME "${CMAKE_C_COMPILER}" NAME)
91-
get_filename_component(ITLABAI_CXX_COMPILER_NAME "${CMAKE_CXX_COMPILER}" NAME)
92-
string(TOLOWER "${ITLABAI_C_COMPILER_NAME}" ITLABAI_C_COMPILER_NAME_LOWER)
93-
string(TOLOWER "${ITLABAI_CXX_COMPILER_NAME}" ITLABAI_CXX_COMPILER_NAME_LOWER)
94-
95-
set(ITLABAI_WINDOWS_USES_MSVC_FRONTEND OFF)
96-
if(WIN32 AND (
97-
ITLABAI_C_COMPILER_NAME_LOWER MATCHES "(^|-)cl(\\.exe)?$"
98-
OR ITLABAI_C_COMPILER_NAME_LOWER MATCHES "clang-cl(\\.exe)?$"
99-
OR ITLABAI_C_COMPILER_NAME_LOWER MATCHES "icx-cl(\\.exe)?$"
100-
OR ITLABAI_CXX_COMPILER_NAME_LOWER MATCHES "(^|-)cl(\\.exe)?$"
101-
OR ITLABAI_CXX_COMPILER_NAME_LOWER MATCHES "clang-cl(\\.exe)?$"
102-
OR ITLABAI_CXX_COMPILER_NAME_LOWER MATCHES "icx-cl(\\.exe)?$"))
103-
set(ITLABAI_WINDOWS_USES_MSVC_FRONTEND ON)
104-
endif()
105-
106-
if(NOT WIN32 OR NOT ITLABAI_WINDOWS_USES_MSVC_FRONTEND)
83+
if (NOT WIN32)
10784
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror")
10885
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror")
10986
else()
@@ -120,7 +97,4 @@ endforeach()
12097
add_subdirectory(app)
12198
add_subdirectory(include)
12299
add_subdirectory(src)
123-
124-
if(ITLABAI_BUILD_TESTS)
125-
add_subdirectory(test)
126-
endif()
100+
add_subdirectory(test)

app/CMakeLists.txt

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
1-
if(ITLABAI_ENABLE_SYCL)
2-
add_subdirectory(SYCL)
3-
endif()
4-
1+
add_subdirectory(ReaderImage)
2+
add_subdirectory(Accuracy)
53
add_subdirectory(Converters)
4+
add_subdirectory(Graph)
65

7-
if(ITLABAI_ENABLE_OPENCV_APPS)
8-
add_subdirectory(ReaderImage)
9-
add_subdirectory(Accuracy)
10-
add_subdirectory(Graph)
6+
if(ITLABAI_ENABLE_SYCL)
7+
add_subdirectory(SYCL)
118
endif()

scripts/ci/sycl_setup.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ def set_common_env(cc: Path, cxx: Path, prefixes: list[Path], openmp_root: Path
6363
write_env("ITLABAI_CC", str(cc))
6464
write_env("ITLABAI_CXX", str(cxx))
6565
write_env("ITLABAI_CMAKE_PREFIX_PATH", ";".join(str(path) for path in prefixes))
66-
write_env("ITLABAI_ENABLE_OPENCV_APPS", "OFF")
6766
write_env("ACPP_TARGETS", "omp.library-only")
6867
if openmp_root is not None:
6968
write_env("ITLABAI_OPENMP_ROOT", str(openmp_root))

0 commit comments

Comments
 (0)