Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Macros | Functions
sycl_mpi_interop.cpp File Reference
#include "shambase/memory.hpp"
#include "shamcomm/wrapper.hpp"
#include "shamsys/legacy/sycl_handler.hpp"
#include "shamsys/legacy/sycl_mpi_interop.hpp"
+ Include dependency graph for sycl_mpi_interop.cpp:

Go to the source code of this file.

Macros

#define X(_t)   template _t *init<_t>(const std::unique_ptr<sycl::buffer<_t>> &buf, u32 comm_sz);
 
#define X(_t)   template void finalize(_t *comm_ptr);
 
#define X(_t)   template _t *init(u32 comm_sz);
 
#define X(_t)    template void finalize(const std::unique_ptr<sycl::buffer<_t>> &buf, _t *comm_ptr, u32 comm_sz);
 
#define X(_t)   template _t *init<_t>(const std::unique_ptr<sycl::buffer<_t>> &buf, u32 comm_sz);
 
#define X(_t)   template void finalize(_t *comm_ptr);
 
#define X(_t)   template _t *init(u32 comm_sz);
 
#define X(_t)    template void finalize(const std::unique_ptr<sycl::buffer<_t>> &buf, _t *comm_ptr, u32 comm_sz);
 
#define X(a)   template struct BufferMpiRequest<a>;
 

Functions

template<class T >
T * impl::copy_to_host::send::init (const std::unique_ptr< sycl::buffer< T > > &buf, u32 comm_sz)
 
template<class T >
XMAC_SYCLMPI_TYPE_ENABLED 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 >
XMAC_SYCLMPI_TYPE_ENABLED 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 >
XMAC_SYCLMPI_TYPE_ENABLED void impl::directgpu::send::finalize (T *comm_ptr)
 
template<class T >
T * impl::directgpu::recv::init (u32 comm_sz)
 
template<class T >
XMAC_SYCLMPI_TYPE_ENABLED void impl::directgpu::recv::finalize (const std::unique_ptr< sycl::buffer< T > > &buf, T *comm_ptr, u32 comm_sz)
 

Detailed Description

Author
Timothée David–Cléris (tim.s.nosp@m.hamr.nosp@m.ock@p.nosp@m.roto.nosp@m.n.me)

Definition in file sycl_mpi_interop.cpp.

Macro Definition Documentation

◆ X [1/9]

#define X (   _t)    template _t *init<_t>(const std::unique_ptr<sycl::buffer<_t>> &buf, u32 comm_sz);

Definition at line 60 of file sycl_mpi_interop.cpp.

◆ X [2/9]

#define X (   _t)    template void finalize(_t *comm_ptr);

Definition at line 60 of file sycl_mpi_interop.cpp.

◆ X [3/9]

#define X (   _t)    template _t *init(u32 comm_sz);

Definition at line 60 of file sycl_mpi_interop.cpp.

◆ X [4/9]

#define X (   _t)     template void finalize(const std::unique_ptr<sycl::buffer<_t>> &buf, _t *comm_ptr, u32 comm_sz);

Definition at line 60 of file sycl_mpi_interop.cpp.

◆ X [5/9]

#define X (   _t)    template _t *init<_t>(const std::unique_ptr<sycl::buffer<_t>> &buf, u32 comm_sz);

Definition at line 60 of file sycl_mpi_interop.cpp.

◆ X [6/9]

#define X (   _t)    template void finalize(_t *comm_ptr);

Definition at line 60 of file sycl_mpi_interop.cpp.

◆ X [7/9]

#define X (   _t)    template _t *init(u32 comm_sz);

Definition at line 60 of file sycl_mpi_interop.cpp.

◆ X [8/9]

#define X (   _t)     template void finalize(const std::unique_ptr<sycl::buffer<_t>> &buf, _t *comm_ptr, u32 comm_sz);

Definition at line 60 of file sycl_mpi_interop.cpp.

◆ X [9/9]

#define X (   a)    template struct BufferMpiRequest<a>;

Definition at line 60 of file sycl_mpi_interop.cpp.

Function Documentation

◆ finalize() [1/4]

template<class T >
XMAC_SYCLMPI_TYPE_ENABLED void impl::copy_to_host::recv::finalize ( const std::unique_ptr< sycl::buffer< T > > &  buf,
T *  comm_ptr,
u32  comm_sz 
)

Definition at line 97 of file sycl_mpi_interop.cpp.

◆ finalize() [2/4]

template<class T >
XMAC_SYCLMPI_TYPE_ENABLED void impl::directgpu::recv::finalize ( const std::unique_ptr< sycl::buffer< T > > &  buf,
T *  comm_ptr,
u32  comm_sz 
)

Definition at line 196 of file sycl_mpi_interop.cpp.

◆ finalize() [3/4]

template<class T >
XMAC_SYCLMPI_TYPE_ENABLED void impl::copy_to_host::send::finalize ( T *  comm_ptr)

Definition at line 65 of file sycl_mpi_interop.cpp.

◆ finalize() [4/4]

template<class T >
XMAC_SYCLMPI_TYPE_ENABLED void impl::directgpu::send::finalize ( T *  comm_ptr)

Definition at line 171 of file sycl_mpi_interop.cpp.

◆ init() [1/4]

template<class T >
T * impl::copy_to_host::send::init ( const std::unique_ptr< sycl::buffer< T > > &  buf,
u32  comm_sz 
)

Definition at line 27 of file sycl_mpi_interop.cpp.

◆ init() [2/4]

template<class T >
T * impl::directgpu::send::init ( const std::unique_ptr< sycl::buffer< T > > &  buf,
u32  comm_sz 
)

Definition at line 137 of file sycl_mpi_interop.cpp.

◆ init() [3/4]

template<class T >
T * impl::copy_to_host::recv::init ( u32  comm_sz)

Definition at line 82 of file sycl_mpi_interop.cpp.

◆ init() [4/4]

template<class T >
T * impl::directgpu::recv::init ( u32  comm_sz)

Definition at line 184 of file sycl_mpi_interop.cpp.