Skip to content

Conversation

@MrBurmark
Copy link
Member

@MrBurmark MrBurmark commented Dec 27, 2025

This writes a file for each kernel by combining the relevant parts of our normal output files. These files are written into a RAJAPerf-kernels directory to avoid cluttering the main directory.
This writes a single file with all the data for all of the kernel variant tunings.

Most of the changes involve changing the output code to only print the variant tunings defined for the given kernel to avoid excessive "Not Run" outputs.

Summary

  • This PR is a refactoring, feature
  • It does the following:
    • Modifies/refactors the output code to avoid extraneous outputs in some cases
    • Adds per kernel output files at the request of me
    • Adds kernel-data output file

Here is an example RAJAPerf-kernel-run-data.csv file if you ran Hip variants of the Stream kernels.

Kernels run on 4 MPI ranks
Kernel         , Variant    , Tuning                  ,    Problem size , Checksum   ,    Mean time per rep (sec.) ,    Mean Bandwidth (GiB per sec.) ,    Mean flops (gigaFLOP per sec.)
Stream_ADD     , Base_HIP   , block_256               ,        10000000 , PASSED     ,                 6.07924e-05 ,                          3676.73 ,                           164.494
Stream_ADD     , RAJA_HIP   , block_256               ,        10000000 , PASSED     ,                 6.07376e-05 ,                          3680.05 ,                           164.643
Stream_COPY    , Base_HIP   , block_256               ,        10000000 , PASSED     ,                 4.04066e-05 ,                          3687.80 ,                           0.00000
Stream_COPY    , RAJA_HIP   , block_256               ,        10000000 , PASSED     ,                 4.05098e-05 ,                          3678.41 ,                           0.00000
Stream_DOT     , Base_HIP   , blkatm_direct_256       ,        10000000 , PASSED     ,                 0.000368436 ,                          404.444 ,                           54.2835
Stream_DOT     , Base_HIP   , blkatm_occgs_256        ,        10000000 , FAILED     ,                 6.57267e-05 ,                          2267.14 ,                           304.290
Stream_DOT     , RAJA_HIP   , blkatm_direct_256       ,        10000000 , FAILED     ,                 7.45838e-05 ,                          1997.91 ,                           268.155
Stream_DOT     , RAJA_HIP   , blkdev_direct_256       ,        10000000 , FAILED     ,                 8.77280e-05 ,                          1698.56 ,                           227.977
Stream_DOT     , RAJA_HIP   , blkdev_direct_new_256   ,        10000000 , FAILED     ,                  0.00124367 ,                          119.816 ,                           16.0815
Stream_DOT     , RAJA_HIP   , blkatm_occgs_256        ,        10000000 , FAILED     ,                 5.42222e-05 ,                          2748.17 ,                           368.853
Stream_DOT     , RAJA_HIP   , blkdev_occgs_256        ,        10000000 , FAILED     ,                 5.51046e-05 ,                          2704.16 ,                           362.946
Stream_DOT     , RAJA_HIP   , blkdev_occgs_new_256    ,        10000000 , FAILED     ,                 9.86878e-05 ,                          1509.93 ,                           202.659
Stream_MUL     , Base_HIP   , block_256               ,        10000000 , PASSED     ,                 4.04627e-05 ,                          3682.70 ,                           247.141
Stream_MUL     , RAJA_HIP   , block_256               ,        10000000 , PASSED     ,                 4.04394e-05 ,                          3684.81 ,                           247.283
Stream_TRIAD   , Base_HIP   , block_256               ,        10000000 , PASSED     ,                 6.07600e-05 ,                          3678.69 ,                           329.164
Stream_TRIAD   , RAJA_HIP   , block_256               ,        10000000 , PASSED     ,                 6.10325e-05 ,                          3662.27 ,                           327.694

This writes a file for each kernel by combining the
relevant parts of our normal output files.

Most of the changes involve changing the output code
to only print the variant tunings defined for the given
kernel to avoid excessive "Not Run" outputs.
@MrBurmark MrBurmark requested review from a team and rhornung67 December 27, 2025 01:25
@artv3
Copy link
Member

artv3 commented Dec 30, 2025

Super nice! I'm super interested in trying out this feature, if I can get a day or two I can give some user experience feedback.

Copy link
Member

@rhornung67 rhornung67 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GitLab CI checks are failing because tioga and tuo are down for maintenance.

@MrBurmark MrBurmark merged commit a28a257 into develop Jan 8, 2026
17 checks passed
@MrBurmark MrBurmark deleted the feature/burmark1/kernel_file branch January 8, 2026 21:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants