1#ifndef AMREX_GPU_TYPES_H_
2#define AMREX_GPU_TYPES_H_
3#include <AMReX_Config.H>
11# include <sycl/sycl.hpp>
24 constexpr dim3 (
unsigned int x_,
unsigned int y_=1,
unsigned int z_=1) :
x(x_),
y(y_),
z(z_) {}
32 sycl::queue* queue =
nullptr;
45#if defined(AMREX_USE_SYCL)
50 Handler (sycl::nd_item<1>
const* a_item =
nullptr,
void* a_local =
nullptr,
51 int a_n_active_threds = -1)
60 std::size_t globalIdx ()
const {
return item->get_global_linear_id(); }
61 std::size_t blockIdx ()
const {
return item->get_group_linear_id(); }
62 std::size_t threadIdx ()
const {
return item->get_local_linear_id(); }
64 std::size_t gridDim ()
const {
return item->get_group_range(0); }
65 std::size_t blockDim ()
const {
return item->get_local_range(0); }
68 std::size_t warpIdx ()
const {
return item->get_sub_group().get_group_id()[0]; }
70 std::size_t laneIdx ()
const {
return item->get_sub_group().get_local_id()[0]; }
72 std::size_t warpDim ()
const {
return item->get_sub_group().get_group_range()[0]; }
74 void* sharedMemory ()
const {
return local; }
76 void sharedBarrier ()
const { item->barrier(sycl::access::fence_space::local_space); }
77 void globalBarrier ()
const { item->barrier(sycl::access::fence_space::global_space); }
78 void syncThreads ()
const { item->barrier(sycl::access::fence_space::global_and_local); }
80 sycl::nd_item<1>
const* item;
85#elif defined(AMREX_USE_GPU)
Compiler- and backend-specific extension macros (e.g., restrict, SIMD, inline).
#define AMREX_FORCE_INLINE
Definition AMReX_Extension.H:124
#define AMREX_GPU_HOST_DEVICE
Definition AMReX_GpuQualifiers.H:20
Definition AMReX_BaseFwd.H:60
Definition AMReX_Amr.cpp:50
cudaStream_t gpuStream_t
Definition AMReX_GpuControl.H:79
bool operator==(A1 const &a1, A2 const &a2)
Definition AMReX_GpuAllocators.H:214
bool operator!=(A1 const &a1, A2 const &a2)
Definition AMReX_GpuAllocators.H:222
Definition AMReX_GpuTypes.H:88
int numActiveThreads
Definition AMReX_GpuTypes.H:98
__host__ __device__ constexpr Handler(int n_active_threads=-1)
Definition AMReX_GpuTypes.H:89
__host__ __device__ bool isFullBlock() const
Definition AMReX_GpuTypes.H:93