Skip to content

LLNL/raja-suite-tutorial

Repository files navigation

RAJA

RAJA Portability Suite Tutorial

Welcome to the RAJA Portability Suite tutorial. In this repo, you will find tutorials that show how to use RAJA and Umpire capabilities. There is an introductory tutorial that provides a guided set of lessons to follow to learn how to get started with the RAJA Portability Suite. There is also an intermediate tutorial meant for those who would like more advanced hands-on instruction for RAJA and Umpire. If you are new to the RAJA Portability Suite, we suggest that you start the intro tutorial before attempting the intermediate tutorial.

For more detailed information about using RAJA and Umpire, please refer to the following:

The lessons that you can build and run depend on what is supported on your platform. Here are some configuration instructions to get you started on Livermore Computing machines. On a CPU-only TOSS4 system, you can build the lessons that use CPU back-ends, such as OpenMP. On a GPU-enabled system, you can build the lessons that use CPU and GPU back-ends, such as CUDA or HIP. Other platforms will be similar.

  • First
    • Create a build directory in the top-level raja-tutorial-suite directory
    • Run CMake from the build directory using one of the recipes below
    • Run make in the build directory.
    • Tutorial lesson executable files will be located in the bin sub-directory in your build directory

Note that you need to use a CMake version greater or equal to 3.23.1 and you need a C++ compiler (e.g., g++) that supports c++17.

  • On a CPU-only TOSS4 system:
module load cmake/3.23.1
module load gcc/10.3.1
cmake -DCMAKE_CXX_COMPILER=g++ -DBLT_CXX_STD=c++17 -DENABLE_CUDA=Off -DENABLE_OPENMP=On -DRAJA_ENABLE_EXERCISES=Off -DCMAKE_BUILD_TYPE=Release .. 
  • On a GPU-enabled system, such as blueos:
module load cmake/3.23.1
module load gcc/8.3.1
module load cuda/11.2.0
cmake -DBLT_CXX_STD=c++17 -DENABLE_CUDA=On -DENABLE_OPENMP=On -DCMAKE_CUDA_ARCHITECTURES=70 -DCMAKE_CUDA_COMPILER=/usr/tce/packages/cuda/cuda-11.2.0/bin/nvcc -DCUDA_TOOLKIT_ROOT_DIR=/usr/tce/packages/cuda/cuda-11.2.0 -DCMAKE_CUDA_FLAGS=--extended-lambda -DRAJA_ENABLE_EXERCISES=Off -DCMAKE_BUILD_TYPE=Release ..

License

RAJA is licensed under the BSD 3-Clause license.

Copyrights and patents in the RAJA project are retained by contributors. No copyright assignment is required to contribute to RAJA.

Unlimited Open Source - BSD 3-clause Distribution LLNL-CODE-689114 OCEC-16-063

For release details and restrictions, please see the information in the following:

About

Tutorial materials for the RAJA Portability Suite

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 7