Skip to content

Commit 9334e3b

Browse files
authored
Fix building without CMPLR_ROOT set (#1)
* Fix dlworkload and DNNL build issue. * Various CMake improvements.
1 parent 90b9230 commit 9334e3b

File tree

8 files changed

+50
-58
lines changed

8 files changed

+50
-58
lines changed

sdk/CMakeLists.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ set(PTI_LINK_FLAGS_EXPR
102102
set(PTI_DEFINE_FLAGS_EXPR
103103
$<$<CXX_COMPILER_ID:IntelLLVM>:$<$<NOT:$<BOOL:${PTI_SANITIZE}>>:_FORTIFY_SOURCE=2>>
104104
$<$<CXX_COMPILER_ID:Clang>:$<$<NOT:$<BOOL:${PTI_SANITIZE}>>:_FORTIFY_SOURCE=2>>
105-
$<$<CXX_COMPILER_ID:GNU>:$<$<NOT:$<BOOL:${PTI_SANITIZE}>>_:FORTIFY_SOURCE=2>>
105+
$<$<CXX_COMPILER_ID:GNU>:$<$<NOT:$<BOOL:${PTI_SANITIZE}>>:_FORTIFY_SOURCE=2>>
106106
)
107107

108108
# https://cmake.org/cmake/help/latest/guide/importing-exporting/index.html
@@ -265,7 +265,9 @@ if(PTI_BUILD_SAMPLES)
265265
)
266266
endif()
267267

268-
if(DEFINED ENV{DNNLROOT})
268+
find_package(dnnl REQUIRED)
269+
270+
if(TARGET DNNL::dnnl)
269271
set(ONEDNNL_IS_AVAILABLE TRUE)
270272
else()
271273
message(

sdk/cmake/Modules/FindXpti.cmake

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -48,29 +48,33 @@ if(UNIX)
4848
find_path(
4949
Xpti_INCLUDE_DIR
5050
NAMES xpti/xpti_trace_framework.h
51-
PATHS $ENV{CMPLR_ROOT}/linux/include
52-
$ENV{CMPLR_ROOT}/include
53-
$ENV{CMPLR_ROOT}/linux
54-
/opt/intel/oneapi/compiler/latest/linux/include
51+
HINTS ENV LD_LIBRARY_PATH
52+
ENV CMPLR_ROOT
53+
PATHS /opt/intel/oneapi/compiler/latest
5554
/opt/intel/oneapi/compiler/latest/linux
56-
)
55+
PATH_SUFFIXES include
56+
linux/include
57+
)
5758
find_library(
5859
Xpti_STATIC_LIBRARY
5960
NAMES xpti
60-
PATHS $ENV{CMPLR_ROOT}/linux/lib
61-
$ENV{CMPLR_ROOT}/lib
62-
$ENV{CMPLR_ROOT}/linux
63-
/opt/intel/oneapi/compiler/latest/linux/lib
61+
HINTS ENV LD_LIBRARY_PATH
62+
ENV CMPLR_ROOT
63+
PATHS /opt/intel/oneapi/compiler/latest
6464
/opt/intel/oneapi/compiler/latest/linux
65-
)
65+
PATH_SUFFIXES lib
66+
linux/lib
67+
)
6668
find_library(
6769
Xpti_SHARED_LIBRARY
6870
NAMES xptifw
69-
PATHS $ENV{CMPLR_ROOT}/linux/lib
70-
$ENV{CMPLR_ROOT}/lib
71-
$ENV{CMPLR_ROOT}/linux
72-
/opt/intel/oneapi/compiler/latest/linux/lib
73-
/opt/intel/oneapi/compiler/latest/linux)
71+
HINTS ENV LD_LIBRARY_PATH
72+
ENV CMPLR_ROOT
73+
PATHS /opt/intel/oneapi/compiler/latest
74+
/opt/intel/oneapi/compiler/latest/linux
75+
PATH_SUFFIXES lib
76+
linux/lib
77+
)
7478
endif()
7579

7680
include(FindPackageHandleStandardArgs)

sdk/cmake/icpx_asan_toolchain.cmake

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
if (UNIX)
2-
set(CMAKE_C_COMPILER $ENV{CMPLR_ROOT}/linux/bin/icx)
3-
set(CMAKE_CXX_COMPILER $ENV{CMPLR_ROOT}/linux/bin/icpx)
2+
set(CMAKE_C_COMPILER icx)
3+
set(CMAKE_CXX_COMPILER icpx)
44
endif()
5+
56
set(CMAKE_CXX_FLAGS_DEBUG_INIT "-fsanitize=address,undefined -fno-omit-frame-pointer -fno-optimize-sibling-calls")
67
set(CMAKE_C_FLAGS_DEBUG_INIT "-fsanitize=address,undefined")

sdk/cmake/icpx_fuzz_toolchain.cmake

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
if (UNIX)
2-
set(CMAKE_C_COMPILER $ENV{CMPLR_ROOT}/linux/bin/icx)
3-
set(CMAKE_CXX_COMPILER $ENV{CMPLR_ROOT}/linux/bin/icpx)
2+
set(CMAKE_C_COMPILER icx)
3+
set(CMAKE_CXX_COMPILER icpx)
44
endif()
55
set(CMAKE_CXX_FLAGS_DEBUG_INIT "-fsanitize=address,undefined -fno-omit-frame-pointer -fno-optimize-sibling-calls\
66
-fsanitize-ignorelist=${PROJECT_SOURCE_DIR}/fuzz/ubsan-ignore.txt")
77
set(CMAKE_C_FLAGS_DEBUG_INIT "-fsanitize=address,undefined\
8-
-fsanitize-ignorelist=${PROJECT_SOURCE_DIR}/fuzz/ubsan-ignore.txt")
8+
-fsanitize-ignorelist=${PROJECT_SOURCE_DIR}/fuzz/ubsan-ignore.txt")

sdk/cmake/icpx_toolchain.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
if (UNIX)
2-
set(CMAKE_C_COMPILER $ENV{CMPLR_ROOT}/linux/bin/icx)
3-
set(CMAKE_CXX_COMPILER $ENV{CMPLR_ROOT}/linux/bin/icpx)
2+
set(CMAKE_C_COMPILER icx)
3+
set(CMAKE_CXX_COMPILER icpx)
44
endif()

sdk/cmake/icpx_tsan_toolchain.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
if (UNIX)
2-
set(CMAKE_C_COMPILER $ENV{CMPLR_ROOT}/linux/bin/icx)
3-
set(CMAKE_CXX_COMPILER $ENV{CMPLR_ROOT}/linux/bin/icpx)
2+
set(CMAKE_C_COMPILER icx)
3+
set(CMAKE_CXX_COMPILER icpx)
44
endif()
55
set(CMAKE_CXX_FLAGS_DEBUG_INIT "-fsanitize=thread,undefined")
66
set(CMAKE_C_FLAGS_DEBUG_INIT "-fsanitize=thread,undefined")

sdk/samples/dlworkloads/CMakeLists.txt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,11 @@ if (NOT TARGET Pti::pti_view)
2424
find_package(Pti REQUIRED)
2525
endif()
2626

27-
target_include_directories(dlworkload SYSTEM PUBLIC $ENV{DNNLROOT}/include $ENV{MKLROOT}/include)
28-
target_link_libraries(dlworkload -ldnnl -lmkl_sycl -lmkl_intel_ilp64 -lmkl_core -lmkl_tbb_thread oneDPL Pti::pti_view)
27+
if (NOT TARGET DNNL::dnnl)
28+
find_package(dnnl REQUIRED)
29+
endif()
30+
31+
target_include_directories(dlworkload SYSTEM PUBLIC $ENV{MKLROOT}/include)
32+
33+
target_link_libraries(dlworkload PUBLIC DNNL::dnnl -lmkl_sycl -lmkl_intel_ilp64 -lmkl_core -lmkl_tbb_thread oneDPL Pti::pti_view)
2934

sdk/samples/vector_sq_add/CMakeLists.txt

Lines changed: 10 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -16,38 +16,18 @@ if(NOT has_sycl)
1616
message(FATAL_ERROR "${PROJECT_NAME} requres a sycl compatible compiler")
1717
endif()
1818

19-
add_compile_options(-fsycl -gline-tables-only)
20-
add_link_options(-fsycl -gline-tables-only)
21-
2219
add_executable(vec_sqadd vector_sq_add.cpp)
23-
target_include_directories(vec_sqadd PRIVATE ../samples_utilities)
24-
25-
# If not building as part of PTI
26-
get_directory_property(subproject PARENT_DIRECTORY)
27-
if(NOT subproject)
28-
if(NOT PTI_BUILD_DIR)
29-
set(PTI_BUILD_DIR "${CMAKE_SOURCE_DIR}/../../build")
30-
endif()
31-
32-
# TODO([email protected]): find_package first?
33-
if(NOT EXISTS ${PTI_BUILD_DIR})
34-
message(
35-
FATAL_ERROR
36-
"Unable to find PTI build directory. Please pass valid build directory with flag -DPTI_BUILD_DIR=/path/to/dir"
37-
)
38-
endif()
39-
40-
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PTI_BUILD_DIR}/cmake")
41-
include(PtiTargets OPTIONAL RESULT_VARIABLE FOUND_PTI_BUILD_TARGETS)
42-
if(NOT FOUND_PTI_BUILD_TARGETS)
43-
message(FATAL_ERROR "Unable to find PTI library targets")
44-
endif()
20+
21+
target_link_options(vec_sqadd PUBLIC -fsycl -gline-tables-only)
22+
target_compile_options(vec_sqadd PUBLIC -fsycl -gline-tables-only)
23+
24+
# Allow building in-source and out-of-source
25+
if (NOT TARGET Pti::pti_view)
26+
find_package(Pti REQUIRED)
4527
endif()
4628

47-
target_link_libraries(vec_sqadd PUBLIC xptifw Pti::pti_view)
29+
target_link_libraries(vec_sqadd PUBLIC Pti::pti_view)
4830

4931
target_include_directories(vec_sqadd
50-
PRIVATE "${PROJECT_SOURCE_DIR}/../../src/utils")
51-
if(CMAKE_INCLUDE_PATH)
52-
target_include_directories(vec_sqadd PUBLIC "${CMAKE_INCLUDE_PATH}")
53-
endif()
32+
PRIVATE "${PROJECT_SOURCE_DIR}/../../src/utils"
33+
"${PROJECT_SOURCE_DIR}/../samples_utilities")

0 commit comments

Comments
 (0)