|
template<> |
void | olb::checkPlatform< Platform::GPU_CUDA > () |
| Verifies availability of CUDA device and MPI support.
|
|
template<typename CONTEXT , typename FIELD > |
void | olb::gpu::cuda::kernel::gather_field (CONTEXT lattice, const CellID *indices, std::size_t nIndices, typename FIELD::template value_type< typename CONTEXT::value_t > *buffer) __global__ |
| CUDA kernel for gathering FIELD data of lattice at indices into buffer.
|
|
template<typename SOURCE , typename TARGET , typename FIELD > |
void | olb::gpu::cuda::kernel::copy_field (SOURCE sourceLattice, TARGET targetLattice, const CellID *sourceIndices, const CellID *targetIndices, std::size_t nIndices) __global__ |
| CUDA kernel for copying FIELD data of sourceLattice at sourceIndices into targetLattice at targetIndices.
|
|
__global__ void | olb::gpu::cuda::kernel::gather_any_fields (AnyDeviceFieldArrayD *fields, std::size_t nFields, const CellID *indices, std::size_t nIndices, std::uint8_t *buffer) |
| CUDA kernel for gathering fields at indices into buffer.
|
|
__global__ void | olb::gpu::cuda::kernel::copy_any_fields (AnyDeviceFieldArrayD *sourceFields, AnyDeviceFieldArrayD *targetFields, std::size_t nFields, const CellID *sourceIndices, const CellID *targetIndices, std::size_t nIndices) |
| CUDA kernel for copying sourceFields at sourceIndices to targetFields at targetIndices.
|
|
template<typename CONTEXT , typename FIELD > |
void | olb::gpu::cuda::kernel::scatter_field (CONTEXT lattice, const CellID *indices, std::size_t nIndices, typename FIELD::template value_type< typename CONTEXT::value_t > *buffer) __global__ |
| CUDA kernel for scattering FIELD data in buffer to indices in lattice.
|
|
__global__ void | olb::gpu::cuda::kernel::scatter_any_fields (AnyDeviceFieldArrayD *fields, std::size_t nFields, const CellID *indices, std::size_t nIndices, std::uint8_t *buffer) |
| CUDA kernel for scattering fields in buffer to indices in lattice.
|
|
template<typename FIELD , typename CONTEXT > |
void | olb::gpu::cuda::gather_field (CONTEXT &lattice, const thrust::device_vector< CellID > &indices, std::uint8_t *buffer) |
| Blocking gather of FIELD at given indices into buffer.
|
|
template<typename FIELD , typename CONTEXT > |
void | olb::gpu::cuda::async_gather_field (cudaStream_t stream, CONTEXT &lattice, const thrust::device_vector< CellID > &indices, std::uint8_t *buffer) |
| Non-blocking gather of FIELD at given indices into buffer.
|
|
template<typename FIELD , typename SOURCE , typename TARGET > |
void | olb::gpu::cuda::async_copy_field (cudaStream_t stream, SOURCE &sourceLattice, TARGET &targetLattice, const thrust::device_vector< CellID > &sourceIndices, const thrust::device_vector< CellID > &targetIndices) |
| Non-blocking copy of FIELD at given indices from sourceLattice to targetLattice.
|
|
void | olb::gpu::cuda::gather_any_fields (thrust::device_vector< AnyDeviceFieldArrayD > &fields, const thrust::device_vector< CellID > &indices, std::uint8_t *buffer) |
| Blocking gather of fields at given indices into buffer.
|
|
void | olb::gpu::cuda::async_gather_any_fields (cudaStream_t stream, thrust::device_vector< AnyDeviceFieldArrayD > &fields, const thrust::device_vector< CellID > &indices, std::uint8_t *buffer) |
| Non-blocking gather of fields at given indices into buffer.
|
|
void | olb::gpu::cuda::async_copy_any_fields (cudaStream_t stream, thrust::device_vector< AnyDeviceFieldArrayD > &sourceFields, thrust::device_vector< AnyDeviceFieldArrayD > &targetFields, const thrust::device_vector< CellID > &sourceIndices, const thrust::device_vector< CellID > &targetIndices) |
| Non-blocking copy of fields at given indices from sourceIndices to targetIndices.
|
|
template<typename FIELD , typename CONTEXT > |
void | olb::gpu::cuda::scatter_field (CONTEXT &lattice, const thrust::device_vector< CellID > &indices, std::uint8_t *buffer) |
| Blocking scatter of FIELD data in buffer to given indices.
|
|
template<typename FIELD , typename CONTEXT > |
void | olb::gpu::cuda::async_scatter_field (cudaStream_t stream, CONTEXT &lattice, const thrust::device_vector< CellID > &indices, std::uint8_t *buffer) |
| Non-blocking scatter of FIELD data in buffer to given indices.
|
|
void | olb::gpu::cuda::scatter_any_fields (thrust::device_vector< AnyDeviceFieldArrayD > &fields, const thrust::device_vector< CellID > &indices, std::uint8_t *buffer) |
| Blocking scatter of fields data in buffer to given indices.
|
|
void | olb::gpu::cuda::async_scatter_any_fields (cudaStream_t stream, thrust::device_vector< AnyDeviceFieldArrayD > &fields, const thrust::device_vector< CellID > &indices, std::uint8_t *buffer) |
| Non-blocking scatter of fields data in buffer to given indices.
|
|