Skip to content

Commit 56a9707

Browse files
committed
Update SYCL compiler build notes and start converting RAJA CI to use new install
1 parent 99c75ee commit 56a9707

File tree

2 files changed

+22
-33
lines changed

2 files changed

+22
-33
lines changed

.gitlab/jobs/corona.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ rocmcc_5_7_1_hip_desul_atomics:
3131
SPEC: " ~shared +rocm ~openmp +tests +desul amdgpu_target=gfx906 %llvm-amdgpu@=5.7.1 ^hip@5.7.1"
3232
extends: .job_on_corona
3333

34-
clang_19_0_0_sycl_gcc_10_3_1_rocmcc_6_3_1_hip:
34+
clang_22_0_0_sycl_gcc_10_3_1_rocmcc_6_4_2_hip:
3535
variables:
36-
SPEC: " ~shared +sycl ~openmp +tests cxxflags==\"-w -fsycl -fsycl-unnamed-lambda -fsycl-targets=amdgcn-amd-amdhsa -Xsycl-target-backend --offload-arch=gfx906\" %sycl-clang-19-gcc-10"
37-
MODULE_LIST: "rocm/6.3.1"
38-
SYCL_PATH: "/usr/workspace/raja-dev/clang_sycl_e42590ef4b94_hip_gcc10.3.1_rocm6.3.1/"
36+
SPEC: " ~shared +sycl ~openmp +tests cxxflags==\"-w -fsycl -fsycl-unnamed-lambda -fsycl-targets=amdgcn-amd-amdhsa -Xsycl-target-backend --offload-arch=gfx906\" %sycl-clang-22-gcc-10"
37+
MODULE_LIST: "rocm/6.4.2"
38+
SYCL_PATH: "/usr/workspace/raja-dev/clang_sycl_16b7bcb09915_hip_gcc10.3.1_rocm6.4.2"
3939
LD_LIBRARY_PATH: "${SYCL_PATH}/lib:${SYCL_PATH}/lib64:${LD_LIBRARY_PATH}"
4040
extends: .job_on_corona

docs/sphinx/dev_guide/ci_tasks.rst

Lines changed: 18 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,12 @@ Building the Compiler
194194
badge next to each commit. Look for a commit that passes.
195195

196196

197+
#. On LC machines, it is following the good neighbor policy to do your build a compute node.
198+
199+
Use an appropriate bank to get an interactive node, e.g on Corona::
200+
201+
flux alloc -t 60 -N 1 --bank=wbronze
202+
197203
#. Load the module of the version of GCC headers that you want to use. We typically use the system default, which on corona at time of writing is gcc/10.3.1-magic::
198204

199205
GCC_VERSION=10.3.1
@@ -219,14 +225,11 @@ Building the Compiler
219225

220226
#. Build the compiler.
221227

222-
Note that in this example, we are using rocm5.7.1, but one can change the
223-
version they wish to use simply by changing the paths in the configure step
224-
225228
a. Configure
226229

227230
.. code-block:: bash
228231
229-
srun -n1 python3 buildbot/configure.py --hip -o buildrocm${ROCM_VERSION} \
232+
python3 buildbot/configure.py --hip -o buildrocm${ROCM_VERSION} \
230233
--cmake-gen "Unix Makefiles" \
231234
--cmake-opt=-DSYCL_BUILD_PI_HIP_ROCM_DIR=/opt/rocm-${ROCM_VERSION} \
232235
--cmake-opt=-DSYCL_BUILD_PI_HIP_ROCM_INCLUDE_DIR=/opt/rocm-${ROCM_VERSION}/include \
@@ -241,40 +244,20 @@ Building the Compiler
241244

242245
#. Build::
243246

244-
srun -n1 python buildbot/compile.py -o buildrocm${ROCM_VERSION}
247+
python buildbot/compile.py -o buildrocm${ROCM_VERSION}
245248

246249
#. Install::
247250
248251
cp -rp buildrocm${ROCM_VERSION}/install ${INSTALL_PREFIX}
249252
cd ..
250253

251-
#. Install the oneDPL library.
252-
253-
The oneDPL library contains efficient SYCL implementations for scan, sort and other algorithms.
254-
255-
a. Clone::
256-
257-
git clone https://github.com/uxlfoundation/oneDPL
258-
259-
#. Configure::
260-
261-
srun -n1 cmake -S oneDPL -B build-oneDPL-rocm${ROCM_VERSION} -DCMAKE_CXX_COMPILER=${INSTALL_PREFIX}/bin/clang++ -DONEDPL_BACKEND=dpcpp_only -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX}
262-
263-
#. Build::
264-
265-
srun -n1 cmake --build build-oneDPL-rocm${ROCM_VERSION}
266-
267-
#. Install::
268-
269-
srun -n1 cmake --install build-oneDPL-rocm${ROCM_VERSION}
270-
271254
#. Set the permissions of the folder, and everything in it to 750::
272255

273-
chmod 750 /usr/workspace/raja-dev/<foldername>/ -R
256+
chmod 750 ${INSTALL_PREFIX} -R
274257

275258
#. Change the group of the folder and everything in it to raja-dev::
276259

277-
chgrp raja-dev /usr/workspace/raja-dev/<foldername>/ -R
260+
chgrp raja-dev ${INSTALL_PREFIX} -R
278261

279262
#. Test the compiler
280263

@@ -292,13 +275,19 @@ Using the compiler
292275

293276
cd /path/to/raja
294277

278+
#. Determine where you installed the compiler.
279+
280+
This is the ``INSTALL_PREFIX`` used above. For example::
281+
282+
SYCL_INSTALL_PREFIX=/usr/workspace/raja-dev/clang_sycl_16b7bcb09915_hip_gcc10.3.1_rocm6.4.2
283+
295284
#. Run the test config script::
296285

297-
./scripts/lc-builds/corona_sycl.sh ${INSTALL_PREFIX}
286+
./scripts/lc-builds/corona_sycl.sh ${SYCL_INSTALL_PREFIX}
298287

299288
#. As indicated in the output of the ``corona_sycl.sh`` script the SYCL compiler libraries need to be on the ``LD_LIBRARY_PATH``::
300289
301-
export LD_LIBRARY_PATH=${INSTALL_PREFIX}/lib:${INSTALL_PREFIX}/lib64:$LD_LIBRARY_PATH
290+
export LD_LIBRARY_PATH=${SYCL_INSTALL_PREFIX}/lib:${SYCL_INSTALL_PREFIX}/lib64:$LD_LIBRARY_PATH
302291

303292
#. cd into the generated build directory::
304293

0 commit comments

Comments
 (0)