Go to the source code of this file.
|
| enum | comm_type { CopyToHost
, DirectGPU
} |
| |
| enum | op_type { Send
, Recv_Probe
} |
| |
|
| template<class T > |
| u64 | mpi_sycl_interop::isend (std::unique_ptr< sycl::buffer< T > > &p, const u32 &size_comm, std::vector< BufferMpiRequest< T > > &rq_lst, i32 rank_dest, i32 tag, MPI_Comm comm) |
| |
| template<class T > |
| u64 | mpi_sycl_interop::irecv (std::unique_ptr< sycl::buffer< T > > &p, const u32 &size_comm, std::vector< BufferMpiRequest< T > > &rq_lst, i32 rank_source, i32 tag, MPI_Comm comm) |
| |
| template<class T > |
| u64 | mpi_sycl_interop::irecv_probe (std::unique_ptr< sycl::buffer< T > > &p, std::vector< BufferMpiRequest< T > > &rq_lst, i32 rank_source, i32 tag, MPI_Comm comm) |
| |
| template<class T > |
| std::vector< MPI_Request > | mpi_sycl_interop::get_rqs (std::vector< BufferMpiRequest< T > > &rq_lst) |
| |
| template<class T > |
| void | mpi_sycl_interop::waitall (std::vector< BufferMpiRequest< T > > &rq_lst) |
| |
| template<class T > |
| void | mpi_sycl_interop::file_write (MPI_File fh, std::unique_ptr< sycl::buffer< T > > &p, const u32 &size_comm) |
| |
| template<class T > |
| T * | impl::copy_to_host::send::init (const std::unique_ptr< sycl::buffer< T > > &buf, u32 comm_sz) |
| |
| template<class T > |
| void | impl::copy_to_host::send::finalize (T *comm_ptr) |
| |
| template<class T > |
| T * | impl::copy_to_host::recv::init (u32 comm_sz) |
| |
| template<class T > |
| void | impl::copy_to_host::recv::finalize (const std::unique_ptr< sycl::buffer< T > > &buf, T *comm_ptr, u32 comm_sz) |
| |
| template<class T > |
| T * | impl::directgpu::send::init (const std::unique_ptr< sycl::buffer< T > > &buf, u32 comm_sz) |
| |
| template<class T > |
| void | impl::directgpu::send::finalize (T *comm_ptr) |
| |
| template<class T > |
| T * | impl::directgpu::recv::init (u32 comm_sz) |
| |
| template<class T > |
| void | impl::directgpu::recv::finalize (const std::unique_ptr< sycl::buffer< T > > &buf, T *comm_ptr, u32 comm_sz) |
| |
- Author
- Timothée David–Cléris (tim.s.nosp@m.hamr.nosp@m.ock@p.nosp@m.roto.nosp@m.n.me)
- Version
- 0.1
- Date
- 2022-03-14
- Copyright
- Copyright (c) 2022
Definition in file sycl_mpi_interop.hpp.
◆ XMAC_SYCLMPI_TYPE_ENABLED
| #define XMAC_SYCLMPI_TYPE_ENABLED |
Value:
X(f32_2) \
X(f32_3) \
X(f32_4) \
X(f32_8) \
X(f32_16) \
X(f64_2) \
X(f64_3) \
X(f64_4) \
X(f64_8) \
X(f64_16) \
X(u32_3) \
X(u16_3) \
X(u64_3) \
X(i64_3) \
double f64
Alias for double.
float f32
Alias for float.
std::uint8_t u8
8 bit unsigned integer
std::uint32_t u32
32 bit unsigned integer
std::uint64_t u64
64 bit unsigned integer
std::int64_t i64
64 bit integer
Definition at line 29 of file sycl_mpi_interop.hpp.
◆ comm_type
| enum mpi_sycl_interop::comm_type |
◆ op_type
| enum mpi_sycl_interop::op_type |
◆ file_write()
template<class T >
| void mpi_sycl_interop::file_write |
( |
MPI_File |
fh, |
|
|
std::unique_ptr< sycl::buffer< T > > & |
p, |
|
|
const u32 & |
size_comm |
|
) |
| |
|
inline |
◆ finalize() [1/4]
template<class T >
| void impl::copy_to_host::recv::finalize |
( |
const std::unique_ptr< sycl::buffer< T > > & |
buf, |
|
|
T * |
comm_ptr, |
|
|
u32 |
comm_sz |
|
) |
| |
◆ finalize() [2/4]
template<class T >
| void impl::directgpu::recv::finalize |
( |
const std::unique_ptr< sycl::buffer< T > > & |
buf, |
|
|
T * |
comm_ptr, |
|
|
u32 |
comm_sz |
|
) |
| |
◆ finalize() [3/4]
template<class T >
| void impl::copy_to_host::send::finalize |
( |
T * |
comm_ptr | ) |
|
◆ finalize() [4/4]
template<class T >
| void impl::directgpu::send::finalize |
( |
T * |
comm_ptr | ) |
|
◆ get_rqs()
template<class T >
| std::vector< MPI_Request > mpi_sycl_interop::get_rqs |
( |
std::vector< BufferMpiRequest< T > > & |
rq_lst | ) |
|
|
inline |
◆ init() [1/4]
template<class T >
| T * impl::copy_to_host::send::init |
( |
const std::unique_ptr< sycl::buffer< T > > & |
buf, |
|
|
u32 |
comm_sz |
|
) |
| |
◆ init() [2/4]
template<class T >
| T * impl::directgpu::send::init |
( |
const std::unique_ptr< sycl::buffer< T > > & |
buf, |
|
|
u32 |
comm_sz |
|
) |
| |
◆ init() [3/4]
template<class T >
| T * impl::copy_to_host::recv::init |
( |
u32 |
comm_sz | ) |
|
◆ init() [4/4]
template<class T >
| T * impl::directgpu::recv::init |
( |
u32 |
comm_sz | ) |
|
◆ irecv()
template<class T >
| u64 mpi_sycl_interop::irecv |
( |
std::unique_ptr< sycl::buffer< T > > & |
p, |
|
|
const u32 & |
size_comm, |
|
|
std::vector< BufferMpiRequest< T > > & |
rq_lst, |
|
|
i32 |
rank_source, |
|
|
i32 |
tag, |
|
|
MPI_Comm |
comm |
|
) |
| |
|
inline |
◆ irecv_probe()
template<class T >
| u64 mpi_sycl_interop::irecv_probe |
( |
std::unique_ptr< sycl::buffer< T > > & |
p, |
|
|
std::vector< BufferMpiRequest< T > > & |
rq_lst, |
|
|
i32 |
rank_source, |
|
|
i32 |
tag, |
|
|
MPI_Comm |
comm |
|
) |
| |
|
inline |
◆ isend()
template<class T >
| u64 mpi_sycl_interop::isend |
( |
std::unique_ptr< sycl::buffer< T > > & |
p, |
|
|
const u32 & |
size_comm, |
|
|
std::vector< BufferMpiRequest< T > > & |
rq_lst, |
|
|
i32 |
rank_dest, |
|
|
i32 |
tag, |
|
|
MPI_Comm |
comm |
|
) |
| |
|
inline |
◆ waitall()
◆ current_mode
| comm_type mpi_sycl_interop::current_mode = CopyToHost |