Skip to content
Merged
Show file tree
Hide file tree
Changes from 43 commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
fe25e91
intial commit for raja launch docs updates
artv3 Apr 24, 2023
41f18a2
add sycl launch policies
artv3 Apr 25, 2023
2b9fd5b
pass at code
artv3 Apr 25, 2023
cd8acf8
fix link to example
artv3 Apr 25, 2023
cf3027b
Update policies.rst
artv3 Apr 26, 2023
8da8e0d
Merge branch 'develop' into artv3/launch-docs
artv3 May 16, 2023
9e1a12f
Update docs/sphinx/user_guide/feature/loop_basic.rst
artv3 May 17, 2023
40cb62d
Apply suggestions from code review
artv3 May 17, 2023
9d46895
Update docs/sphinx/user_guide/feature/policies.rst
artv3 May 17, 2023
6f81eb1
add docs on launch tiling
artv3 May 17, 2023
ceed0b3
Merge branch 'artv3/launch-docs' of github.com:LLNL/RAJA into artv3/l…
artv3 May 17, 2023
c27a74d
Update docs/sphinx/user_guide/feature/loop_basic.rst
artv3 May 17, 2023
1bca2f2
Update docs/sphinx/user_guide/tutorial/matrix_transpose_local_array.rst
artv3 May 17, 2023
3c14c5c
Update docs/sphinx/user_guide/tutorial/matrix_transpose_local_array.rst
artv3 May 17, 2023
0fe0181
Update docs/sphinx/user_guide/tutorial/matrix_transpose_local_array.rst
artv3 May 17, 2023
2bba385
fix links
artv3 May 17, 2023
e6cae81
make reference to dynamic shared memory example
artv3 May 17, 2023
1baea27
fix reference to dynamic shared memory example
artv3 May 17, 2023
57cc5e1
expand on what bump allocator means
artv3 May 18, 2023
a291a5e
minor grammar
artv3 May 18, 2023
d7943cf
expand on bump style allocator
artv3 May 18, 2023
9ff042b
Update docs/sphinx/user_guide/tutorial/matrix_transpose_local_array.rst
artv3 May 19, 2023
51de0be
Update docs/sphinx/user_guide/tutorial/matrix_transpose_local_array.rst
artv3 May 19, 2023
b90da74
Update docs/sphinx/user_guide/tutorial/matrix_transpose_local_array.rst
artv3 May 19, 2023
1e5d5bb
Update docs/sphinx/user_guide/feature/policies.rst
artv3 May 19, 2023
b88079e
Update docs/sphinx/user_guide/feature/tiling.rst
artv3 May 19, 2023
15a7897
rewording in loop_basic.rst
artv3 May 19, 2023
32c20a8
Merge branch 'develop' into artv3/launch-docs
rhornung67 May 29, 2023
82d658e
Merge branch 'develop' into artv3/launch-docs
artv3 Jun 6, 2023
8f8bb53
Merge branch 'develop' into artv3/launch-docs
artv3 Jun 8, 2023
29c358e
Merge branch 'develop' into artv3/launch-docs
rhornung67 Jun 9, 2023
9ff210f
Update docs/sphinx/user_guide/feature/loop_basic.rst
artv3 Jun 9, 2023
ddf38d7
Update docs/sphinx/user_guide/feature/loop_basic.rst
artv3 Jun 9, 2023
3b870e9
Update docs/sphinx/user_guide/feature/loop_basic.rst
artv3 Jun 9, 2023
8506a38
Update docs/sphinx/user_guide/feature/loop_basic.rst
artv3 Jun 9, 2023
4fc06a8
Update docs/sphinx/user_guide/feature/tiling.rst
artv3 Jun 9, 2023
fdf6bb0
Update docs/sphinx/user_guide/feature/loop_basic.rst
artv3 Jun 9, 2023
6e1e64b
Update docs/sphinx/user_guide/feature/policies.rst
artv3 Jun 9, 2023
4f421f9
Update docs/sphinx/user_guide/feature/policies.rst
artv3 Jun 9, 2023
756c79c
Update docs/sphinx/user_guide/feature/tiling.rst
artv3 Jun 9, 2023
b3c6bc3
Update docs/sphinx/user_guide/feature/policies.rst
artv3 Jun 9, 2023
c663769
fix formatting on code examples
artv3 Jun 9, 2023
ea6d6de
clean up pass
artv3 Jun 9, 2023
76f5404
Update docs/sphinx/user_guide/feature/loop_basic.rst
artv3 Jun 14, 2023
c91ddef
Merge branch 'develop' into artv3/launch-docs
rhornung67 Jun 14, 2023
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
23 changes: 13 additions & 10 deletions docs/sphinx/user_guide/feature/loop_basic.rst
Original file line number Diff line number Diff line change
Expand Up @@ -344,22 +344,25 @@ the same team. The ``RAJA::launch`` interface has three main concepts:
device execution environment, which enables run time selection of
kernel execution.

* ``RAJA::LaunchParams`` type. This type takes a number of teams and and a
number of threads as arguments.
* ``RAJA::LaunchParams`` type. This type takes a number of teams, threads
per team, and optionally the size of dynamic shared memory in bytes.

* ``RAJA::loop`` template. These are used to define hierarchical
parallel execution of a kernel. Operations within a loop are mapped to
either teams or threads based on the execution policy template parameter
provided.

Team shared memory is available by using the ``RAJA_TEAM_SHARED`` macro. Team
shared memory enables threads in a given team to share data. In practice,
team policies are typically aliases for RAJA GPU block policies in the
x,y,z dimensions, while thread policies are aliases for RAJA GPU thread
policies in the x,y,z dimensions. In a host execution environment, teams and
threads may be mapped to sequential loop execution or OpenMP threaded regions.
Often, the ``RAJA::LaunchParams`` method can take an empty argument list for
host execution.
Team shared memory can be allocated by using the ``RAJA_TEAM_SHARED`` macro on
statically sized arrays or via dynamic allocation in the ``RAJA::LaunchParams``
method. Team shared memory enables threads in a given team to have shared access to a shared memory buffer.
Loops are then assigned to either teams or threads based on the GPU execution
policy. Under the CUDA/HIP nomenclature, teams correspond to blocks while,
in SYCL, nomenclature teams correspond to workgroups.

In a host execution environment, team and thread parameters in the
``RAJA::LaunchParams`` struct have no effect in execution and may be
omitted if only running on the host.


Please see the following tutorial sections for detailed examples that use
``RAJA::launch``:
Expand Down
Loading