#include <AMReX_Config.H>#include <AMReX_GpuQualifiers.H>#include <AMReX_GpuKernelInfo.H>#include <AMReX_GpuControl.H>#include <AMReX_GpuTypes.H>#include <AMReX_GpuError.H>#include <AMReX_GpuRange.H>#include <AMReX_GpuDevice.H>#include <AMReX_GpuMemory.H>#include <AMReX_GpuReduce.H>#include <AMReX_Tuple.H>#include <AMReX_Box.H>#include <AMReX_Loop.H>#include <AMReX_Extension.H>#include <AMReX_BLassert.H>#include <AMReX_TypeTraits.H>#include <AMReX_GpuLaunchGlobal.H>#include <AMReX_RandomEngine.H>#include <AMReX_Algorithm.H>#include <AMReX_Math.H>#include <AMReX_Vector.H>#include <cstddef>#include <limits>#include <algorithm>#include <utility>#include <AMReX_GpuLaunchMacrosG.H>#include <AMReX_GpuLaunchFunctsG.H>#include <AMReX_GpuLaunch.nolint.H>#include <AMReX_CTOParallelForImpl.H>Go to the source code of this file.
Classes | |
| struct | amrex::Gpu::ComponentBox |
| struct | amrex::Gpu::GridSize |
| struct | amrex::Gpu::ExecutionConfig |
| struct | amrex::Gpu::ExecConfig |
Namespaces | |
| namespace | amrex |
| namespace | amrex::Gpu |
Macros | |
| #define | AMREX_GPU_NCELLS_PER_THREAD 3 |
| #define | AMREX_GPU_Y_STRIDE 1 |
| #define | AMREX_GPU_Z_STRIDE 1 |
| #define | AMREX_LAUNCH_KERNEL(MT, blocks, threads, sharedMem, stream, ...) amrex::launch_global<MT><<<blocks, threads, sharedMem, stream>>>(__VA_ARGS__) |
| #define | AMREX_LAUNCH_KERNEL_NOBOUND(blocks, threads, sharedMem, stream, ...) amrex::launch_global <<<blocks, threads, sharedMem, stream>>>(__VA_ARGS__) |
Functions | |
| template<class L , class... Lambdas> | |
| __global__ void | amrex::launch_global (L f0, Lambdas... fs) |
| template<class L > | |
| __device__ void | amrex::call_device (L &&f0) noexcept |
| template<class L , class... Lambdas> | |
| __device__ void | amrex::call_device (L &&f0, Lambdas &&... fs) noexcept |
| template<class L > | |
| void | amrex::launch_host (L &&f0) noexcept |
| template<class L , class... Lambdas> | |
| void | amrex::launch_host (L &&f0, Lambdas &&... fs) noexcept |
| constexpr std::size_t | amrex::Gpu::numThreadsPerBlockParallelFor () |
| __host__ __device__ Box | amrex::Gpu::getThreadBox (const Box &bx, Long offset) noexcept |
| template<int MT> | |
| ExecutionConfig | amrex::Gpu::makeExecutionConfig (Long N) noexcept |
| template<int MT> | |
| ExecutionConfig | amrex::Gpu::makeExecutionConfig (const Box &box) noexcept |
| template<int MT> | |
| Vector< ExecConfig > | amrex::Gpu::makeNExecutionConfigs (Long N) noexcept |
| template<int MT, int dim> | |
| Vector< ExecConfig > | amrex::Gpu::makeNExecutionConfigs (BoxND< dim > const &box) noexcept |
| template<typename T , typename L , typename M = std::enable_if_t<std::is_integral_v<T>>> | |
| void | amrex::ParallelForOMP (T n, L const &f) noexcept |
| template<typename L > | |
| void | amrex::ParallelForOMP (Box const &box, L const &f) noexcept |
| template<typename T , typename L , typename M = std::enable_if_t<std::is_integral_v<T>>> | |
| void | amrex::ParallelForOMP (Box const &box, T ncomp, L const &f) noexcept |
| #define AMREX_GPU_NCELLS_PER_THREAD 3 |
| #define AMREX_GPU_Y_STRIDE 1 |
| #define AMREX_GPU_Z_STRIDE 1 |
| #define AMREX_LAUNCH_KERNEL | ( | MT, | |
| blocks, | |||
| threads, | |||
| sharedMem, | |||
| stream, | |||
| ... | |||
| ) | amrex::launch_global<MT><<<blocks, threads, sharedMem, stream>>>(__VA_ARGS__) |
| #define AMREX_LAUNCH_KERNEL_NOBOUND | ( | blocks, | |
| threads, | |||
| sharedMem, | |||
| stream, | |||
| ... | |||
| ) | amrex::launch_global <<<blocks, threads, sharedMem, stream>>>(__VA_ARGS__) |