Skip to content

Commit 101f9a7

Browse files
committed
Merge branch 'sycl' into review/yang/fix_metadata_assert
2 parents bfac7b6 + 6a9de65 commit 101f9a7

File tree

1,952 files changed

+4469
-3660
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,952 files changed

+4469
-3660
lines changed

.github/workflows/sycl-nightly.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ jobs:
110110
image_options: ${{ matrix.image_options }}
111111
target_devices: ${{ matrix.target_devices }}
112112
tests_selector: ${{ matrix.tests_selector }}
113-
extra_lit_opts: ${{ matrix.extra_lit_opts }}
113+
extra_lit_opts: "--param 'cxx_flags=-D_GLIBCXX_USE_CXX11_ABI=0' ${{ matrix.extra_lit_opts }}"
114114
reset_intel_gpu: ${{ matrix.reset_intel_gpu }}
115115
ref: ${{ github.sha }}
116116
merge_ref: ''

devops/containers/ubuntu2204_base.Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,6 @@ COPY actions/cleanup /actions/cleanup
2929
COPY scripts/docker_entrypoint.sh /docker_entrypoint.sh
3030
COPY scripts/install_drivers.sh /opt/install_drivers.sh
3131

32+
USER sycl
33+
3234
ENTRYPOINT ["/docker_entrypoint.sh"]

devops/containers/ubuntu2204_build.Dockerfile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,9 @@ gpg --dearmor | tee /etc/apt/keyrings/rocm.gpg > /dev/null && \
2424
# Add rocm repo
2525
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/6.1.1 jammy main" \
2626
| tee --append /etc/apt/sources.list.d/rocm.list && \
27-
printf 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | tee /etc/apt/preferences.d/rocm-pin-600 && \
28-
apt update
27+
printf 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | tee /etc/apt/preferences.d/rocm-pin-600
2928
# Install the kernel driver
30-
RUN apt install -yqq rocm-dev && \
29+
RUN apt update && apt install -yqq rocm-dev && \
3130
apt-get clean && \
3231
rm -rf /var/lib/apt/lists/*
3332

@@ -42,5 +41,7 @@ RUN usermod -aG irc sycl
4241

4342
COPY scripts/docker_entrypoint.sh /docker_entrypoint.sh
4443

44+
USER sycl
45+
4546
ENTRYPOINT ["/docker_entrypoint.sh"]
4647

devops/containers/ubuntu2204_intel_drivers.Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,7 @@ RUN --mount=type=secret,id=github_token \
2525

2626
COPY scripts/drivers_entrypoint.sh /drivers_entrypoint.sh
2727

28+
USER sycl
29+
2830
ENTRYPOINT ["/bin/bash", "/drivers_entrypoint.sh"]
2931

devops/containers/ubuntu2204_preinstalled.Dockerfile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,16 @@ ADD sycl_linux.tar.gz /opt/sycl/
1010
ENV PATH /opt/sycl/bin:$PATH
1111
ENV LD_LIBRARY_PATH /opt/sycl/lib:$LD_LIBRARY_PATH
1212

13+
# By default Ubuntu sets an arbitrary UID value, that is different from host
14+
# system. When CI passes default UID value of 1001, some of LLVM tools fail to
15+
# discover user home directory and fail a few LIT tests. Fixes UID and GID to
16+
# 1001, that is used as default by GitHub Actions.
17+
RUN groupadd -g 1001 sycl && useradd sycl -u 1001 -g 1001 -m -s /bin/bash
18+
# Add sycl user to video/irc groups so that it can access GPU
19+
RUN usermod -aG video sycl
20+
RUN usermod -aG irc sycl
21+
22+
USER sycl
23+
1324
ENTRYPOINT ["/bin/bash", "/drivers_entrypoint.sh"]
1425

devops/containers/ubuntu2404_base.Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,6 @@ COPY actions/cleanup /actions/cleanup
2929
COPY scripts/docker_entrypoint.sh /docker_entrypoint.sh
3030
COPY scripts/install_drivers.sh /opt/install_drivers.sh
3131

32+
USER sycl
33+
3234
ENTRYPOINT ["/docker_entrypoint.sh"]

devops/containers/ubuntu2404_intel_drivers.Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,7 @@ RUN --mount=type=secret,id=github_token \
2525

2626
COPY scripts/drivers_entrypoint.sh /drivers_entrypoint.sh
2727

28+
USER sycl
29+
2830
ENTRYPOINT ["/bin/bash", "/drivers_entrypoint.sh"]
2931

devops/containers/ubuntu2404_intel_drivers_igc_dev.Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,7 @@ RUN --mount=type=secret,id=github_token \
2020

2121
COPY scripts/drivers_entrypoint.sh /drivers_entrypoint.sh
2222

23+
USER sycl
24+
2325
ENTRYPOINT ["/bin/bash", "/drivers_entrypoint.sh"]
2426

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
#!/bin/bash
22

33
if [ -d "$GITHUB_WORKSPACE" ]; then
4-
chown -R sycl:sycl $GITHUB_WORKSPACE
5-
su sycl
4+
sudo chown -R sycl:sycl $GITHUB_WORKSPACE
65
fi
76

87
exec "$@"

libclc/CMakeLists.txt

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,29 +19,30 @@ include( AddLibclc )
1919
include( GNUInstallDirs )
2020
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS
2121
amdgcn-amdhsa/lib/SOURCES;
22-
amdgcn-amdhsa/libspirv/SOURCES;
2322
amdgcn/lib/SOURCES;
24-
amdgcn/libspirv/SOURCES;
2523
amdgcn-mesa3d/lib/SOURCES;
2624
amdgpu/lib/SOURCES;
2725
clspv/lib/SOURCES;
2826
clspv64/lib/SOURCES;
2927
generic/lib/SOURCES;
30-
generic/libspirv/SOURCES;
3128
ptx/lib/SOURCES;
3229
ptx-nvidiacl/lib/SOURCES;
33-
ptx-nvidiacl/libspirv/SOURCES;
3430
r600/lib/SOURCES;
35-
r600/libspirv/SOURCES;
3631
spirv/lib/SOURCES;
3732
spirv64/lib/SOURCES;
38-
native_cpu-unknown-linux/libspirv/SOURCES;
3933
# CLC internal libraries
4034
clc/lib/generic/SOURCES;
4135
clc/lib/clspv/SOURCES;
4236
clc/lib/clspv64/SOURCES;
4337
clc/lib/spirv/SOURCES;
4438
clc/lib/spirv64/SOURCES;
39+
# libspirv libraries
40+
libspirv/lib/generic/SOURCES;
41+
libspirv/lib/amdgcn-amdhsa/SOURCES;
42+
libspirv/lib/amdgcn/SOURCES;
43+
libspirv/lib/ptx-nvidiacl/SOURCES;
44+
libspirv/lib/r600/SOURCES;
45+
libspirv/lib/native_cpu-unknown-linux/SOURCES;
4546
)
4647

4748
set( LIBCLC_MIN_LLVM 3.9.0 )
@@ -264,8 +265,8 @@ endif()
264265

265266
find_package( Python3 REQUIRED COMPONENTS Interpreter )
266267
file( TO_CMAKE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/generic/lib/gen_convert.py clc_script_loc )
267-
file( TO_CMAKE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/generic/libspirv/gen_core_convert.py core_script_loc )
268-
file( TO_CMAKE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/generic/libspirv/gen_convert.py spirv_script_loc )
268+
file( TO_CMAKE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/libspirv/lib/generic/gen_core_convert.py core_script_loc )
269+
file( TO_CMAKE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/libspirv/lib/generic/gen_convert.py spirv_script_loc )
269270
file( TO_CMAKE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/generic/lib/gen_convert.py script_loc )
270271
add_custom_command(
271272
OUTPUT convert.cl
@@ -363,7 +364,7 @@ foreach( t ${LIBCLC_TARGETS_TO_BUILD} )
363364
list( APPEND opencl_gen_files clspv-convert.cl )
364365
elseif ( NOT ENABLE_RUNTIME_SUBNORMAL )
365366
list( APPEND opencl_gen_files convert-clc.cl )
366-
list( APPEND opencl_lib_files generic/libspirv/subnormal_use_default.ll )
367+
list( APPEND opencl_lib_files generic/lib/subnormal_use_default.ll )
367368
endif()
368369
endif()
369370

@@ -380,13 +381,13 @@ foreach( t ${LIBCLC_TARGETS_TO_BUILD} )
380381
list( APPEND libspirv_gen_files clspv-convert.cl )
381382
elseif ( NOT ENABLE_RUNTIME_SUBNORMAL )
382383
list( APPEND libspirv_gen_files convert-spirv.cl convert-core.cl )
383-
list( APPEND libspirv_lib_files generic/libspirv/subnormal_use_default.ll )
384+
list( APPEND libspirv_lib_files libspirv/lib/generic/subnormal_use_default.ll )
384385
endif()
385386
endif()
386387

387388
libclc_configure_lib_source(
388389
libspirv_lib_files
389-
LIB_DIR libspirv
390+
LIB_ROOT_DIR libspirv
390391
DIRS ${dirs} ${DARCH} ${DARCH}-${OS} ${DARCH}-${VENDOR}-${OS}
391392
)
392393

@@ -531,16 +532,18 @@ foreach( t ${LIBCLC_TARGETS_TO_BUILD} )
531532
LIB_FILES ${clc_lib_files}
532533
)
533534

534-
list( APPEND build_flags
535+
set( spirv_build_flags ${build_flags} )
536+
list( APPEND spirv_build_flags
535537
-I${CMAKE_CURRENT_SOURCE_DIR}/generic/include
538+
-I${CMAKE_CURRENT_SOURCE_DIR}/libspirv/include/
536539
)
537540

538541
add_libclc_builtin_set(
539542
ARCH ${ARCH}
540543
ARCH_SUFFIX libspirv-${arch_suffix}
541544
TRIPLE ${clang_triple}
542545
TARGET_ENV libspirv-
543-
COMPILE_FLAGS ${build_flags}
546+
COMPILE_FLAGS ${spirv_build_flags}
544547
OPT_FLAGS ${opt_flags}
545548
LIB_FILES ${libspirv_lib_files}
546549
GEN_FILES ${libspirv_gen_files}
@@ -550,11 +553,18 @@ foreach( t ${LIBCLC_TARGETS_TO_BUILD} )
550553
INTERNAL_LINK_DEPENDENCIES $<TARGET_PROPERTY:builtins.link.clc-${arch_suffix},TARGET_FILE>
551554
)
552555

556+
set( opencl_build_flags ${build_flags} )
557+
list( APPEND opencl_build_flags
558+
-I${CMAKE_CURRENT_SOURCE_DIR}/generic/include
559+
# FIXME: OpenCL bindings shouldn't depend on libspirv
560+
-I${CMAKE_CURRENT_SOURCE_DIR}/libspirv/include/
561+
)
562+
553563
add_libclc_builtin_set(
554564
ARCH ${ARCH}
555565
ARCH_SUFFIX ${arch_suffix}
556566
TRIPLE ${clang_triple}
557-
COMPILE_FLAGS ${build_flags}
567+
COMPILE_FLAGS ${opencl_build_flags}
558568
OPT_FLAGS ${opt_flags}
559569
LIB_FILES ${opencl_lib_files}
560570
GEN_FILES ${opencl_gen_files}

0 commit comments

Comments
 (0)