Skip to content
Open
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
daee2df
add scripts to compare compiler performance per kernel
artv3 Mar 17, 2026
6927458
clean up pass
artv3 May 1, 2026
bc7ffe2
clean up pass
artv3 May 1, 2026
68a99af
Merge branch 'develop' into artv3/compiler-sweep
artv3 May 1, 2026
0e8f160
clean up pass
artv3 May 1, 2026
86f96c0
Merge branch 'artv3/compiler-sweep' of github.com:llnl/RAJAPerf into …
artv3 May 1, 2026
cf5ab96
clean up pass + docs
artv3 May 1, 2026
e03a32e
add reproducer info
artv3 May 1, 2026
be34a81
add compiler examples
artv3 May 4, 2026
929f9c2
default folder name is compiler matrix
artv3 May 4, 2026
f65b726
add @khuck-AMD html contribution
artv3 May 14, 2026
43bd71f
clean up pass
artv3 May 14, 2026
161f829
Apply suggestion from @artv3
artv3 May 14, 2026
fcb4570
clean up pass
artv3 May 14, 2026
a1fe0ca
Merge branch 'artv3/compiler-sweep' of github.com:llnl/RAJAPerf into …
artv3 May 14, 2026
98c6193
Apply suggestion from @artv3
artv3 May 14, 2026
b025988
add example figure
artv3 May 14, 2026
ac3b103
fix python script
artv3 May 14, 2026
426b9c0
clean up pass
artv3 May 14, 2026
2c0f24c
Set colors, markers, and line styles
MrBurmark May 29, 2026
cfec41d
Add an html landing page for plotly and png
MrBurmark May 29, 2026
def057a
Add option to output matplotlib to pngs
MrBurmark May 29, 2026
353fed9
make html for pdfs as well
MrBurmark May 29, 2026
83794e9
Rename png arg
MrBurmark May 29, 2026
ca6b358
Merge branch 'develop' into artv3/compiler-sweep
artv3 Jul 7, 2026
b702ad7
revert changes regarding early version of CUDA and C++20
artv3 Jul 7, 2026
ed741c0
Merge branch 'develop' into artv3/compiler-sweep
artv3 Aug 7, 2026
ac41859
Merge branch 'develop' into artv3/compiler-sweep
artv3 Aug 24, 2026
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
5 changes: 5 additions & 0 deletions data/compiler_sweeps/tier1_base_raja_hip_compilers.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# build_script mpi_version rocm_version gpu_arch
toss4_cray-mpich_amdclang.sh 9.0.1 6.3.1 gfx942
toss4_cray-mpich_amdclang.sh 9.0.1 6.4.3 gfx942
toss4_cray-mpich_amdclang.sh 9.0.1 7.2.1 gfx942

22 changes: 22 additions & 0 deletions data/compiler_sweeps/tier1_base_raja_hip_repro.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
Compiler matrix input:
data/compiler_sweeps/tier1_base_raja_hip_compilers.txt

Kernel lists:
data/compiler_sweeps/tier1_main_kernels.txt
data/compiler_sweeps/tier1_diff_range_kernels.txt

Run from the repository root.

Main Tier 1 kernels:
scripts/lc-builds/run_compiler_matrix.sh from-list data/compiler_sweeps/tier1_base_raja_hip_compilers.txt --run-cmd direct --throughput --base-mem 100000 --factors "1 4 16 32 64 128 256 512 1024 1500 2048 3000 4000" --kernel-file data/compiler_sweeps/tier1_main_kernels.txt -- --variants Base_HIP RAJA_HIP --npasses 3 --npasses-combiners Average Minimum Maximum --outdir compiler_sweep_runs/tier1_base_raja_hip

Tier 1 special-range kernels:
scripts/lc-builds/run_compiler_matrix.sh from-list data/compiler_sweeps/tier1_base_raja_hip_compilers.txt --run-cmd direct --throughput --base-mem 100000 --factors "32 64 128 256 512 1024 1500 2048 3000 4000 5000 6000" --kernel-file data/compiler_sweeps/tier1_diff_range_kernels.txt -- --variants Base_HIP RAJA_HIP --npasses 3 --npasses-combiners Average Minimum Maximum --outdir compiler_sweep_runs/tier1_base_raja_hip

Generate plots from the produced kernel-run-data CSV files:
python3 scripts/build_compiler_matrix.py --root-dir . --output-dir compiler-matrix-output/tier1_base_raja_hip --no-fixed-plots

Notes:
- The Tier 1 kernel split and factor ranges match RAJAPerf-Benchmark/2026-FCR/scripts/run_tier_mi300a.sh.
- The runs above keep only Base_HIP and RAJA_HIP.
- Output CSV files land under each build directory in compiler_sweep_runs/tier1_base_raja_hip/.
3 changes: 3 additions & 0 deletions data/compiler_sweeps/tier1_diff_range_kernels.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Tier 1 kernels with special factor ranges from RAJAPerf-Benchmark/2026-FCR/scripts/run_tier_mi300a.sh
FEMSWEEP
MASS3DEA
9 changes: 9 additions & 0 deletions data/compiler_sweeps/tier1_main_kernels.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Tier 1 kernels from RAJAPerf-Benchmark/2026-FCR/scripts/run_tier_mi300a.sh
DIFFUSION3DPA
EDGE3D
ENERGY
INTSC_HEXRECT
MASS3DPA_ATOMIC
MASSVEC3DPA
NODAL_ACCUMULATION_3D
VOL3D
33 changes: 31 additions & 2 deletions docs/sphinx/user_guide/run.rst
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ generated in the run directory after Suite execution completes.
.. note:: You can pass the ``--dryrun`` command-line option to the executable
to see a summary of how the Suite will execute by showing run
parameters without actually running it. You can pass any other
command-line options when doing a "dry run" and you will see
command-line options when doing a "dryrun" and you will see
Comment thread
artv3 marked this conversation as resolved.
Outdated
that the given options are represented in the screen output.

Lastly, the program will report specific errors if given incorrect input, such
Expand All @@ -106,7 +106,7 @@ a summary of command-line arguments it was given if the input contains
something that the code does not know how to parse. For example, running the
command::

$ ./bin/raja-perf.exe --dry-run -k DAXPY Foo
$ ./bin/raja-perf.exe --dryrun -k DAXPY Foo

will report the following in the screen output::

Expand All @@ -130,6 +130,35 @@ in the Suite.
screen output, hopefully making it easy for users to correct
erroneous usage, such as mis-spelled option names.

.. _compiler-matrix-label:

=========================
Compiler matrix workflow
=========================

For compiler sweeps, use ``scripts/lc-builds/run_compiler_matrix.sh`` rather
than invoking a single build script by hand. The matrix driver reads a compiler
list file, sources the selected build script for each line, builds each
configuration, and then runs the Suite with the launcher command you provide
via ``--run-cmd``.

A typical invocation looks like::

$ ./scripts/lc-builds/run_compiler_matrix.sh toss4_amdclang.sh compiler_list.txt \
--run-cmd "srun -N1 -n1 -c 64 --" --kernel-file kernels.txt -- --dryrun

The trailing ``--`` in ``--run-cmd`` is part of the launcher prefix. It tells
``srun`` to stop parsing its own options so the matrix script can append
``./bin/raja-perf.exe`` and the RAJAPerf run arguments after it.

The compiler list file contains one build configuration per non-comment line.
If you pass ``from-list`` as the build-script argument, the first token on each
line names the build script and the remaining tokens are passed to that script.

The generated ``*-kernel-run-data.csv`` files can then be merged and plotted
with the processing scripts in ``scripts/`` such as
``scripts/build_compiler_matrix.py`` and ``scripts/kh_compiler_matrix.py``.
Comment thread
artv3 marked this conversation as resolved.
Outdated

.. _run_mpi-label:

==================
Expand Down
Loading
Loading