Skip to content

Commit 9189ef6

Browse files
authored
Revert "[SYCL][ESIMD][EMU] pi_esimd_cpu bringing up with CM library (intel#4011)" (intel#4421)
This reverts commit bf7eb4c.
1 parent be67535 commit 9189ef6

File tree

7 files changed

+619
-1154
lines changed

7 files changed

+619
-1154
lines changed

sycl/CMakeLists.txt

+1-13
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,7 @@ set( SYCL_TOOLCHAIN_DEPLOY_COMPONENTS
259259
sycl
260260
pi_opencl
261261
pi_level_zero
262+
pi_esimd_cpu
262263
libsycldevice
263264
${XPTIFW_LIBS}
264265
)
@@ -291,19 +292,6 @@ if(SYCL_BUILD_PI_ROCM)
291292
list(APPEND SYCL_TOOLCHAIN_DEPLOY_COMPONENTS libspirv-builtins pi_rocm)
292293
endif()
293294

294-
# TODO : Remove 'if (NOT MSVC)' when CM_EMU supports Windows
295-
# environment
296-
if (NOT MSVC)
297-
if (SYCL_BUILD_PI_ESIMD_CPU)
298-
list(APPEND SYCL_TOOLCHAIN_DEPLOY_COMPONENTS pi_esimd_cpu libcmrt-headers)
299-
if (MSVC)
300-
list(APPEND SYCL_TOOLCHAIN_DEPLOY_COMPONENTS libcmrt-libs libcmrt-dlls)
301-
else()
302-
list(APPEND SYCL_TOOLCHAIN_DEPLOY_COMPONENTS libcmrt-sos)
303-
endif()
304-
endif()
305-
endif()
306-
307295
# Use it as fake dependency in order to force another command(s) to execute.
308296
add_custom_command(OUTPUT __force_it
309297
COMMAND "${CMAKE_COMMAND}" -E echo

sycl/include/sycl/ext/intel/experimental/esimd/emu/detail/esimd_emu_functions_v1.h

-4
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,3 @@ void (*cm_fence_ptr)(void);
4444
char *(*sycl_get_surface_base_addr_ptr)(int);
4545
char *(*__cm_emu_get_slm_ptr)(void);
4646
void (*cm_slm_init_ptr)(size_t);
47-
void (*sycl_get_cm_buffer_params_ptr)(void *, char **, uint32_t *,
48-
std::mutex **);
49-
void (*sycl_get_cm_image_params_ptr)(void *, char **, uint32_t *, uint32_t *,
50-
uint32_t *, std::mutex **);

sycl/include/sycl/ext/intel/experimental/esimd/emu/detail/esimdcpu_device_interface.hpp

-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
// pointer table file ('esimd_emu_functions_v1.h') included in 'struct
2525
// ESIMDDeviceInterface' definition.
2626
#include <cstdint>
27-
#include <mutex>
2827

2928
__SYCL_INLINE_NAMESPACE(cl) {
3029
namespace sycl {

sycl/plugins/CMakeLists.txt

+2-6
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,6 @@ endif()
1515
add_subdirectory(opencl)
1616
add_subdirectory(level_zero)
1717

18-
# TODO : Remove 'if (NOT MSVC)' when CM_EMU supports Windows
19-
# environment
20-
if (NOT MSVC)
21-
if (SYCL_BUILD_PI_ESIMD_CPU)
22-
add_subdirectory(esimd_cpu)
23-
endif()
18+
if (SYCL_BUILD_PI_ESIMD_CPU)
19+
add_subdirectory(esimd_cpu)
2420
endif()

sycl/plugins/esimd_cpu/CMakeLists.txt

+7-114
Original file line numberDiff line numberDiff line change
@@ -2,90 +2,9 @@
22
# PI Esimd CPU library
33
# Create Shared library for libpi_esimd_cpu.so.
44

5-
include(ExternalProject)
6-
75
include_directories("${sycl_inc_dir}")
8-
# FIXME/TODO: 'pi.h' is included in 'pi_esimd_cpu.cpp', and CL_*_INTEL
9-
# and CL_*_KHR definitions in 'pi.h' are from
10-
# ${OPENCL_INCLUDE}. Remove build dependency on OpenCL
116
include_directories(${OpenCL_INCLUDE_DIR})
12-
13-
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/cm-emu_build)
14-
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/cm-emu_install)
15-
16-
if (MSVC)
17-
set(LIBCM ${LLVM_BINARY_DIR}/pi_esimd_cpu_deps/lib/libcm${CMAKE_STATIC_LIBRARY_SUFFIX})
18-
set(LIBIGFXCMRT_EMU ${LLVM_BINARY_DIR}/pi_esimd_cpu_deps/lib/igfxcmrt64_emu${CMAKE_STATIC_LIBRARY_SUFFIX})
19-
else()
20-
set(LIBCM ${LLVM_BINARY_DIR}/pi_esimd_cpu_deps/lib/libcm${CMAKE_SHARED_LIBRARY_SUFFIX})
21-
set(LIBIGFXCMRT_EMU ${LLVM_BINARY_DIR}/pi_esimd_cpu_deps/lib/libigfxcmrt_emu${CMAKE_SHARED_LIBRARY_SUFFIX})
22-
endif()
23-
24-
if (DEFINED CM_LOCAL_SOURCE_DIR)
25-
# Using local CM directory for online building without downloading
26-
if (MSVC)
27-
ExternalProject_Add(cm-emu
28-
DOWNLOAD_COMMAND ""
29-
SOURCE_DIR ${CM_LOCAL_SOURCE_DIR}
30-
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/cm-emu_build
31-
INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/cm-emu_install
32-
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
33-
BUILD_BYPRODUCTS ${LIBCM} ${LIBIGFXCMRT_EMU}
34-
)
35-
else()
36-
ExternalProject_Add(cm-emu
37-
DOWNLOAD_COMMAND ""
38-
SOURCE_DIR ${CM_LOCAL_SOURCE_DIR}
39-
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/cm-emu_build
40-
INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/cm-emu_install
41-
CMAKE_ARGS -DLIBVA_INSTALL_PATH=/usr
42-
-D__SYCL_EXPLICIT_SIMD_PLUGIN__=true
43-
-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
44-
BUILD_BYPRODUCTS ${LIBCM} ${LIBIGFXCMRT_EMU}
45-
)
46-
endif()
47-
else ()
48-
# Downloading pre-built CM Package
49-
if (NOT DEFINED CM_PACKAGE_URL)
50-
if (MSVC)
51-
message(FATAL_ERROR "ESIMD_CPU is not supported under Windows environment yet")
52-
else()
53-
# FIXME/TODO : Use 'generic' package instead of 'u18.04'
54-
set (CM_PACKAGE_URL "https://github.com/intel/cm-cpu-emulation/releases/download/v2021-07-21/intel-cmemu-1.0.1.u18.04-release.x86_64.tar.xz")
55-
endif()
56-
endif()
57-
file (MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/cm-emu_install)
58-
ExternalProject_Add(cm-emu
59-
URL ${CM_PACKAGE_URL}
60-
CONFIGURE_COMMAND ""
61-
BUILD_COMMAND ""
62-
UPDATE_COMMAND ""
63-
INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/cm-emu_install
64-
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_BINARY_DIR}/cm-emu-prefix/src/cm-emu/ <INSTALL_DIR>
65-
BUILD_BYPRODUCTS ${LIBCM} ${LIBIGFXCMRT_EMU}
66-
)
67-
endif ()
68-
ExternalProject_Add_Step(cm-emu llvminstall
69-
COMMAND ${CMAKE_COMMAND} -E make_directory ${LLVM_BINARY_DIR}/pi_esimd_cpu_deps && ${CMAKE_COMMAND} -E copy_directory <INSTALL_DIR>/ ${LLVM_BINARY_DIR}/pi_esimd_cpu_deps
70-
COMMENT "Installing cm-emu into the LLVM binary directory"
71-
DEPENDEES install
72-
)
73-
74-
include_directories(${LLVM_BINARY_DIR}/pi_esimd_cpu_deps/include/igfxcmrt_emu)
75-
include_directories(${LLVM_BINARY_DIR}/pi_esimd_cpu_deps/include/libcm/cm)
76-
77-
# Compilation flag to exclude lines in header files imported from CM
78-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__SYCL_EXPLICIT_SIMD_PLUGIN__")
79-
80-
set(CMAKE_CXX_STANDARD 17)
81-
82-
# Compilation option modification to prevent build termination caused by
83-
# warnings from CM-imported files
84-
if (MSVC)
85-
string(REPLACE "/W4" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
86-
else()
87-
string(REPLACE "-pedantic" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
88-
endif()
7+
include_directories(${LIBCMRT_INCLUDE})
898

909
add_library(pi_esimd_cpu SHARED
9110
"${sycl_inc_dir}/CL/sycl/detail/pi.h"
@@ -112,42 +31,16 @@ else()
11231
)
11332
endif()
11433

115-
add_dependencies(pi_esimd_cpu OpenCL-Headers)
116-
add_dependencies(pi_esimd_cpu cm-emu)
11734
add_dependencies(sycl-toolchain pi_esimd_cpu)
11835

119-
target_link_libraries(pi_esimd_cpu PRIVATE sycl ${LIBCM} ${LIBIGFXCMRT_EMU})
36+
add_dependencies(pi_esimd_cpu
37+
OpenCL-Headers)
38+
39+
target_link_libraries(pi_esimd_cpu PRIVATE sycl)
12040
set_target_properties(pi_esimd_cpu PROPERTIES LINKER_LANGUAGE CXX)
12141

12242
add_common_options(pi_esimd_cpu)
12343

12444
install(TARGETS pi_esimd_cpu
125-
LIBRARY DESTINATION "lib${LLVM_LIBDIR_SUFFIX}" COMPONENT pi_esimd_cpu
126-
RUNTIME DESTINATION "bin" COMPONENT pi_esimd_cpu)
127-
128-
# Copy CM Header files to $(INSTALL)/include/sycl/CL/
129-
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/cm-emu_install/include/libcm/cm/
130-
DESTINATION ${SYCL_INCLUDE_DIR}/CL
131-
COMPONENT libcmrt-headers
132-
FILES_MATCHING PATTERN "*.h"
133-
)
134-
135-
# Copy '.so' files to '$(INSTALL)/lib'
136-
if (MSVC)
137-
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/cm-emu_install/lib/
138-
DESTINATION ${CMAKE_INSTALL_PREFIX}/lib
139-
COMPONENT libcmrt-libs
140-
FILES_MATCHING PATTERN "*.lib"
141-
)
142-
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/cm-emu_install/bin/
143-
DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
144-
COMPONENT libcmrt-dlls
145-
FILES_MATCHING PATTERN "*.dll"
146-
)
147-
else()
148-
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/cm-emu_install/lib/
149-
DESTINATION ${CMAKE_INSTALL_PREFIX}/lib
150-
COMPONENT libcmrt-sos
151-
FILES_MATCHING PATTERN "*.so"
152-
)
153-
endif()
45+
LIBRARY DESTINATION "lib${LLVM_LIBDIR_SUFFIX}" COMPONENT pi_esimd_cpu
46+
RUNTIME DESTINATION "bin" COMPONENT pi_esimd_cpu)

0 commit comments

Comments
 (0)