Skip to content

Commit

Permalink
Update Dockerfile used for SYCL+Cuda CI
Browse files Browse the repository at this point in the history
  • Loading branch information
masterleinad committed Jan 25, 2023
1 parent 05d008d commit 61d8569
Showing 1 changed file with 32 additions and 5 deletions.
37 changes: 32 additions & 5 deletions scripts/docker/Dockerfile.sycl
Original file line number Diff line number Diff line change
Expand Up @@ -47,18 +47,45 @@ RUN CMAKE_URL=https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSIO
ENV PATH=${CMAKE_DIR}/bin:$PATH

ENV SYCL_DIR=/opt/sycl
RUN SYCL_VERSION=20220112 && \
RUN SYCL_VERSION=20221201 && \
SYCL_URL=https://github.com/intel/llvm/archive/sycl-nightly && \
SYCL_ARCHIVE=${SYCL_VERSION}.tar.gz && \
SCRATCH_DIR=/scratch && mkdir -p ${SCRATCH_DIR} && cd ${SCRATCH_DIR} && \
wget --quiet ${SYCL_URL}/${SYCL_ARCHIVE} && \
mkdir llvm && \
tar -xf ${SYCL_ARCHIVE} -C llvm --strip-components=1 && \
cd llvm && \
python3 buildbot/configure.py --cuda && \
python3 buildbot/compile.py && \
mkdir -p ${SYCL_DIR} && \
mv ${SCRATCH_DIR}/llvm/build/install/* ${SYCL_DIR} && \
mkdir build && \
cd build && \
cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DLLVM_TARGETS_TO_BUILD="X86;NVPTX" \
-DLLVM_EXTERNAL_PROJECTS="sycl;llvm-spirv;opencl;xpti;xptifw;libdevice" \
-DLLVM_EXTERNAL_SYCL_SOURCE_DIR=/scratch/llvm/sycl \
-DLLVM_EXTERNAL_LLVM_SPIRV_SOURCE_DIR=/scratch/llvm/llvm-spirv \
-DLLVM_EXTERNAL_XPTI_SOURCE_DIR=/scratch/llvm/xpti \
-DXPTI_SOURCE_DIR=/scratch/llvm/xpti \
-DLLVM_EXTERNAL_XPTIFW_SOURCE_DIR=/scratch/llvm/xptifw \
-DLLVM_EXTERNAL_LIBDEVICE_SOURCE_DIR=/scratch/llvm/libdevice \
-DLLVM_ENABLE_PROJECTS="clang;sycl;llvm-spirv;opencl;xpti;xptifw;libdevice;libclc" \
-DLIBCLC_TARGETS_TO_BUILD=";nvptx64--;nvptx64--nvidiacl" \
-DLIBCLC_GENERATE_REMANGLED_VARIANTS=ON \
-DLLVM_BUILD_TOOLS=OFF \
-DSYCL_ENABLE_WERROR=OFF \
-DCMAKE_INSTALL_PREFIX=${SYCL_DIR} \
-DSYCL_INCLUDE_TESTS=OFF \
-DLLVM_ENABLE_DOXYGEN=OFF \
-DLLVM_ENABLE_SPHINX=OFF \
-DBUILD_SHARED_LIBS=OFF \
-DSYCL_ENABLE_XPTI_TRACING=ON \
-DLLVM_ENABLE_LLD=OFF \
-DXPTI_ENABLE_WERROR=OFF \
-DSYCL_ENABLE_PLUGINS="opencl;cuda" \
/scratch/llvm/llvm && \
ninja -j8 deploy-sycl-toolchain && \
ninja -j8 install && \
cp bin/* ${SYCL_DIR}/bin && \
echo "${SYCL_DIR}/lib" > /etc/ld.so.conf.d/sycl.conf && ldconfig && \
rm -rf ${SCRATCH_DIR}
ENV PATH=${SYCL_DIR}/bin:$PATH

0 comments on commit 61d8569

Please sign in to comment.