Block-Structured AMR Software Framework
Loading...
Searching...
No Matches
AMReX_GpuDevice.H File Reference
#include <AMReX_Config.H>
#include <AMReX.H>
#include <AMReX_Extension.H>
#include <AMReX_Utility.H>
#include <AMReX_GpuTypes.H>
#include <AMReX_GpuError.H>
#include <AMReX_GpuControl.H>
#include <AMReX_OpenMP.H>
#include <AMReX_Vector.H>
#include <algorithm>
#include <array>
#include <cstdlib>
#include <cstring>
#include <memory>
#include <mutex>

Go to the source code of this file.

Classes

class  amrex::Gpu::StreamManager
 
class  amrex::Gpu::Device
 
struct  amrex::Gpu::ExternalGpuStreamRegion
 
struct  amrex::Gpu::SyncAtExitOnly
 

Namespaces

namespace  amrex
 
namespace  amrex::Gpu
 

Macros

#define AMREX_GPU_MAX_STREAMS   8
 

Typedefs

using amrex::gpuDeviceProp_t = cudaDeviceProp
 

Enumerations

enum class  amrex::Gpu::ExternalStreamSync { amrex::Gpu::Yes , amrex::Gpu::No }
 

Functions

gpuStream_t amrex::Gpu::gpuStream () noexcept
 
int amrex::Gpu::numGpuStreams () noexcept
 
void amrex::Gpu::synchronize () noexcept
 
void amrex::Gpu::streamSynchronize () noexcept
 
void amrex::Gpu::streamSynchronize (gpuStream_t s) noexcept
 
void amrex::Gpu::streamSynchronizeActive () noexcept
 
void amrex::Gpu::streamSynchronizeAll () noexcept
 
void amrex::Gpu::freeAsync (Arena *arena, void *mem) noexcept
 
bool amrex::Gpu::clearFreeAsyncBuffer () noexcept
 
void amrex::Gpu::setExternalGpuStream (gpuStream_t stream)
 Provide a user-supplied GPU stream.
 
void amrex::Gpu::resetExternalGpuStream (ExternalStreamSync sync_stream=ExternalStreamSync::Yes) noexcept
 Pop the current user-supplied GPU stream.
 
void amrex::Gpu::htod_memcpy_async (void *p_d, const void *p_h, const std::size_t sz) noexcept
 
void amrex::Gpu::dtoh_memcpy_async (void *p_h, const void *p_d, const std::size_t sz) noexcept
 
void amrex::Gpu::dtod_memcpy_async (void *p_d_dst, const void *p_d_src, const std::size_t sz) noexcept
 
void amrex::Gpu::htod_memcpy (void *p_d, const void *p_h, const std::size_t sz) noexcept
 
void amrex::Gpu::dtoh_memcpy (void *p_h, const void *p_d, const std::size_t sz) noexcept
 
void amrex::Gpu::dtod_memcpy (void *p_d_dst, const void *p_d_src, const std::size_t sz) noexcept
 
template<typename T >
void amrex::Gpu::memcpy_from_host_to_device_global_async (T &dg, const void *src, std::size_t nbytes, std::size_t offset=0)
 
template<typename T >
void amrex::Gpu::memcpy_from_device_global_to_host_async (void *dst, T const &dg, std::size_t nbytes, std::size_t offset=0)
 
bool amrex::Gpu::isStreamActive (gpuStream_t s)
 Check if the given stream is active.
 

Macro Definition Documentation

◆ AMREX_GPU_MAX_STREAMS

#define AMREX_GPU_MAX_STREAMS   8