Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GitLab CI testing expansion #1644

Merged
merged 44 commits into from
Jul 12, 2024
Merged
Changes from 1 commit
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
7a3d6b0
Fix syntax error in gitlab-ci.yml which prevented rajaperf from being…
long58 Mar 19, 2024
8d5c5ac
Adds CI job for corona_sycl with new intel clang sycl compiler.
long58 Apr 1, 2024
7cf8969
Fix new CI job spec
long58 Apr 2, 2024
019ad22
Merge branch 'develop' of https://github.com/LLNL/RAJA into long58/ci…
long58 Apr 3, 2024
65a769e
Updates for testing sycl backend on corona.
long58 Apr 5, 2024
cfc8030
Add sycl to compiler name
long58 Apr 5, 2024
4d0e501
Merge branch 'develop' of https://github.com/LLNL/RAJA into long58/ci…
long58 Apr 9, 2024
ab3b264
Adds instructions on how to build the intel compiler for the CI tasks
long58 Apr 29, 2024
0e93fa9
update radiuss spack configs
long58 May 10, 2024
06c4708
Added openMPTarget CI Tests for lassen
long58 May 10, 2024
600c5d2
update radiuss spack configs
long58 May 10, 2024
59a8ccd
temporarily allow omptarget job to fail in ci
long58 May 10, 2024
751fc03
Merge branch 'develop' of https://github.com/LLNL/RAJA into long58/ci…
long58 May 10, 2024
2658554
update radiuss spack configs
long58 May 13, 2024
8b31fd5
Merge branch 'develop' of https://github.com/LLNL/RAJA into long58/in…
long58 May 13, 2024
c474d3a
Merge branch 'long58/intel_compiler_build_instructions' into long58/c…
long58 May 13, 2024
d61419f
Merge branch 'develop' into long58/ci_expansion
rhornung67 May 15, 2024
3d2fbf6
Formatting fixes based on PR comments
long58 May 16, 2024
0bada79
Fixed number formatting
long58 May 16, 2024
5778d3b
Docs fixes based on GitHub discussion.
long58 May 16, 2024
2a3e7e7
Deactivate intel 19.1.2 on poodle (too long) and syntaxical cleaning
adrienbernede May 30, 2024
222dbfe
More syntaxical cleaning
adrienbernede May 30, 2024
0a18db5
Merge branch 'develop' into long58/ci_expansion
rhornung67 May 30, 2024
7d00d34
CI Changes based on GitHub PR Discussion
long58 Jun 4, 2024
f6f5ca3
Merge branch 'develop' into long58/ci_expansion
rhornung67 Jun 4, 2024
14ed520
Update RSC
adrienbernede Jun 7, 2024
6ad023f
Merge branch 'develop' into long58/ci_expansion
adrienbernede Jun 7, 2024
b7adbc8
From RSC: Fix wrong variant
adrienbernede Jun 7, 2024
7db7fd7
Fix indentation in omptarget job on lassen
adrienbernede Jun 10, 2024
a5ae073
From RSC: Specify conflicts between rocm omptarget and sycl
adrienbernede Jun 10, 2024
ed2b115
Turn rocm support in sycl job
adrienbernede Jun 10, 2024
c3fee46
From RSC: Apply same conflicts to camp
adrienbernede Jun 10, 2024
e5bb7df
Remove amdgpu_target variant, which supposes +rocm
adrienbernede Jun 10, 2024
a3e807b
Merge branch 'develop' into long58/ci_expansion
rhornung67 Jun 10, 2024
c48d2f8
#1605: Test RAJAPerf whenever a PR is created
long58 Jun 14, 2024
452f15b
Merge branch 'develop' into long58/ci_expansion
adrienbernede Jun 20, 2024
372c96c
Merge branch 'develop' into long58/ci_expansion
rhornung67 Jun 26, 2024
ed5e207
Merge branch 'develop' into long58/ci_expansion
long58 Jun 27, 2024
65bf2d2
Change name of custom corona sycl compiler to get around a bug in spack.
long58 Jun 27, 2024
646002b
Merge branch 'long58/ci_expansion' of https://github.com/LLNL/RAJA in…
long58 Jun 27, 2024
da45c39
Merge branch 'develop' of https://github.com/LLNL/RAJA into long58/ci…
long58 Jul 8, 2024
5f8f54b
Revert change to gitlab-ci.yml
long58 Jul 10, 2024
826b4e1
From RSC: merge
adrienbernede Jul 11, 2024
235f9e1
Igore warnings from corona sycl test.
long58 Jul 11, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Formatting fixes based on PR comments
  • Loading branch information
long58 committed May 16, 2024
commit 3d2fbf6a6b445ad73fed1308198b277b6624e0ee
61 changes: 38 additions & 23 deletions docs/sphinx/dev_guide/ci_tasks.rst
Original file line number Diff line number Diff line change
Expand Up @@ -162,43 +162,43 @@ Building the Intel clang + SYCL HIP compiler for use in CI
------------------------------------------------------

The SYCL CI tests on corona rely on a custom Intel Clang SYCL compiler that we
build ourselves. This compiler lives in the /usr/workspace/raja-dev/ folder so
build ourselves. This compiler lives in the ``/usr/workspace/raja-dev/`` folder so
that it can be accessed by the gitlab CI system. Since the intel compiler does
not do releases in the typical sense (they simply update their repo *every night*),
it may become necessary to periodically build a new version of the compiler to
ensure that we are using the most up-to-date version available. The steps for
building/installing/running are shown here.
building, installing, and running are shown here.

Building the Compiler
^^^^^^^^^^^^^^^^^^^^^

.. important:: Because intel update's their compiler repo daily, there is a nonzero possibility that the had of the sycl branch will build.
In the event that it does not build, try checking out a different commit. On the intel/llvm github page, one can see which of their
.. important:: Because intel updates their compiler repo daily, there is a nonzero possibility that the head of the sycl branch will fail to build.
In the event that it does not build, try checking out a different commit. On the intel/llvm GitHub page, one can see which of their
commits builds by checking the status badge next to each commit. Look for a commit that passes.

#. 1. Load the version of GCC that you want to use. in this case, we are using LC's gcc/10.3.1-magic installation.
#. Load the version of GCC that you want to use. in this case, we are using LC's gcc/10.3.1-magic installation.

.. code-block:: bash

module load gcc/10.3.1-magic

#. 2. Clone the "sycl" branch of intel's llvm compiler fork
#. Clone the "sycl" branch of intel's llvm compiler fork

.. code-block:: bash

git clone https://github.com/intel/llvm -b sycl

#. 3. cd into that folder
#. cd into that folder

.. code-block:: bash

cd llvm

#. 3a. In the event that the head of the sycl branch does not build, run `git checkout <git sha>` to checkout a version that does build.
#. In the event that the head of the sycl branch does not build, run `git checkout <git sha>` to checkout a version that does build.

#. 4. build the compiler. Note that in this example, we are using rocm5.7.1, but one can change the version they wish to use simply by changing the paths in the configure step.
#. Build the compiler. Note that in this example, we are using rocm5.7.1, but one can change the version they wish to use simply by changing the paths in the configure step.

#. a. Configure
#. Configure

.. code-block:: bash

Expand All @@ -215,51 +215,66 @@ Building the Compiler
--cmake-opt=-DUR_HIP_HSA_INCLUDE_DIR=/opt/rocm-5.7.1/hsa/include/hsa \
--cmake-opt=-DUR_HIP_LIB_DIR=/opt/rocm-5.7.1/lib

#. b. Build
#. Build

.. code-block:: bash

srun -n1 /usr/bin/python3 buildbot/compile.py -o buildrocm5.7.1

#. 5. Test the compiler
#. Test the compiler

Follow the steps in the next section "Using the compiler" to test this installation

#. 6. Install
#. Install

#. a The build step will install the compiler to the folder buildrocm<version>/install. Simply copy this folder to the /usr/workspace/raja-dev/
directory using the naming scheme `clang_sycl_<git sha>_hip_gcc<version>_rocm<version>`
#. The build step will install the compiler to the folder ``buildrocm<version>/install``. Simply copy this folder to the ``/usr/workspace/raja-dev/`` directory using the naming scheme ``clang_sycl_<git sha>_hip_gcc<version>_rocm<version>``

#. b set the permissions of the folder, and everything in it to 750
#. Set the permissions of the folder, and everything in it to 750

.. code-block:: bash

chmod 750 /usr/workspace/raja-dev/<foldername>/ -R

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

.. code-block:: bash

chgrp raja-dev /usr/workspace/raja-dev/<foldername>/ -R


Using the compiler
^^^^^^^^^^^^^^^^^^

#. 1. Load the version of rocm that you used when building the compiler
#. Load the version of rocm that you used when building the compiler

.. code-block:: bash

module load rocm/5.7.1

#. 2. Navigate to the root of your raja repo
#. Navigate to the root of your local checkout space of the RAJA repo

.. code-block:: bash

cd /path/to/raja

#. 3. Run the test config script
#. Run the test config script

.. code-block:: bash

./scripts/lc-builds/corona_sycl.sh /usr/workspace/raja-dev/clang_sycl_2f03ef85fee5_hip_gcc10.3.1_rocm5.7.1

note that at the time of writing, the newest compiler we had built was at clang_sycl_2f03ef85fee5_hip_gcc10.3.1_rocm5.7.1
Note that at the time of writing, the newest compiler we had built was at ``clang_sycl_2f03ef85fee5_hip_gcc10.3.1_rocm5.7.1``

#. cd into the auto generated build directory

#. 4. cd into the auto generated build directory
.. code-block:: bash

cd {build directory}

#. 5 Run the test
.. code-bloc:: bash
#. Run the tests

.. code-block:: bash

make -j


Expand Down
Loading