-
Notifications
You must be signed in to change notification settings - Fork 16
Home
Matt Norman edited this page Jan 21, 2022
·
35 revisions
Author: Matt Norman (Oak Ridge National Laboratory) - mrnorman.github.io
Contributors:
- Matt Norman (Oak Ridge National Laboratory)
- Isaac Lyngaas (Oak Ridge National Laboratory)
- Abhishek Bagusetty (Argonne National Laboratory)
- Mark Berrill (Oak Ridge National Laboratory)
For a self-contained example of how to use YAKL, please checkout the cpp/
folder of the miniWeather repo
- https://github.com/mrnorman/miniWeather
- Particularly
miniWeather/cpp/miniWeather_mpi_parallelfor.cpp
- Introduction and Overview
- Using and Compiling with YAKL
- Common Issues / Errors
parallel_for
,Bounds
, C-style and Fortran-style,YAKL_INLINE
,YAKL_LAMBDA
,fence()
Array
Multi-Dimensional Dynamically-Allocated Arrays, C-style and Fortran-style, Shallow and Deep Copy, Deallocation, Reshaping, Host / Device Management, Slicing,const
Data Types, Index CheckingSArray
andFSArray
Statically-sized Arrays, C-style and Fortran-style,- Parallel Reductions (
minval
,maxval
,sum
) - Atomics (
atomicAdd
,atomicMin
,atomicMax
) - Scalar Live-Out
- YAKL's Fortran Intrinsics Library
YAKL_INLINE
and Calling Class Methods from KernelsYAKL_SCOPE
and lambda captures from non-local scopeconst
Correctness andintent(in/out/inout)
- Fortran - C++ Interoperability with YAKL
Gator
: YAKL's pool allocator- YAKL Timers
- Thread-Private Data
- Asynchronicity in YAKL
- Improving Readability with
typedef
,using
, andauto
- YAKL Interoperability with Kokkos
- Moving Data Between Host and Device Memory
- Can I Use Runtime-Sized Arrays on the Stack Inside Kernels?
- How To Investigate a Suspected Device Memory Leak
- More Information About YAKL's Multi-Dimensional
Array
Classes