Skip to content

Commit e9f9220

Browse files
authored
Merge pull request #30 from victor-eds/svm-onemkl-headers
[svm][SYCL] Use oneMKL interface instead of oneMKL library
2 parents a357dbd + 4483591 commit e9f9220

File tree

2 files changed

+39
-4
lines changed

2 files changed

+39
-4
lines changed

svm/SYCL/CMakeLists.txt

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ set(SOURCES
7676
#infrastructure/SYCL.cpp
7777
)
7878

79+
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
80+
7981
include_directories(${CMAKE_SOURCE_DIR}
8082
${CMAKE_SOURCE_DIR}/libSVM
8183
${CMAKE_SOURCE_DIR}/cuSVM
@@ -86,7 +88,7 @@ include_directories(${CMAKE_SOURCE_DIR}
8688
# Use either default or user defined CXX flags
8789
# -DCMAKE_CXX_FLAGS=" -blah -blah " overrides the default flags
8890

89-
set(INTEL_GPU_CXX_FLAGS " -O3 -fsycl -DMKL_ILP64")
91+
set(INTEL_GPU_CXX_FLAGS " -O3 -fsycl")
9092
set(NVIDIA_GPU_CXX_FLAGS " -O3 -fsycl -DUSE_CUBLAS")
9193
set(AMD_GPU_CXX_FLAGS " -O3 -fsycl -DUSE_HIPBLAS -D__HIP_PLATFORM_AMD__")
9294

@@ -110,8 +112,9 @@ elseif(USE_AMD_BACKEND)
110112
target_link_libraries(${PROJECT_NAME} -lhipblas)
111113
else()
112114
message(STATUS "Enabling INTEL backend")
113-
link_directories(${MKLROOT}/lib/intel64)
114-
target_link_libraries(${PROJECT_NAME} mkl_sycl mkl_intel_ilp64 mkl_tbb_thread mkl_core pthread dl m)
115+
find_package(oneMKL REQUIRED CONFIG HINTS ${oneMKLROOT})
116+
message(STATUS "Found oneMKL: ${oneMKL_DIR}")
117+
target_link_libraries(${PROJECT_NAME} PRIVATE MKL::onemkl)
115118
endif()
116119

117120
if(GPU_AOT)
@@ -141,4 +144,4 @@ file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/a9a
141144
DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
142145

143146
#add_executable(${PROJECT_NAME} ${SOURCES})
144-
target_link_libraries(${PROJECT_NAME} sycl stdc++fs)
147+
target_link_libraries(${PROJECT_NAME} PRIVATE sycl stdc++fs)

svm/SYCL/cmake/FindSYCL.cmake

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Copyright (C) 2023 Intel Corporation
2+
#
3+
# Permission is hereby granted, free of charge, to any person obtaining a copy
4+
# of this software and associated documentation files (the "Software"),
5+
# to deal in the Software without restriction, including without limitation
6+
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
7+
# and/or sell copies of the Software, and to permit persons to whom
8+
# the Software is furnished to do so, subject to the following conditions:
9+
#
10+
# The above copyright notice and this permission notice shall be included
11+
# in all copies or substantial portions of the Software.
12+
#
13+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
14+
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
16+
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
17+
# OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
18+
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
19+
# OR OTHER DEALINGS IN THE SOFTWARE.
20+
#
21+
# SPDX-License-Identifier: MIT
22+
#
23+
################################################################################
24+
# oneMKL provides a FindCompiler.cmake file which can be reused to handle calls
25+
# to find_package(SYCL ...) (found in oneMKLConfig.cmake). Reuse that and set
26+
# SYCL_Found to true on success.
27+
################################################################################
28+
29+
include(FindCompiler)
30+
31+
find_package(Compiler REQUIRED)
32+
find_package_handle_standard_args(SYCL REQUIRED_VARS SYCL_LIBRARY)

0 commit comments

Comments
 (0)