Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Macros | Functions | Variables
SyclMpiTypes.cpp File Reference
#include "shambackends/SyclMpiTypes.hpp"
#include "shamcomm/logs.hpp"
#include "shamcomm/mpiErrorCheck.hpp"
+ Include dependency graph for SyclMpiTypes.cpp:

Go to the source code of this file.

Macros

#define __SYCL_TYPE_COMMIT_len2(base_name, src_type)
 
#define __SYCL_TYPE_COMMIT_len3(base_name, src_type)
 
#define __SYCL_TYPE_COMMIT_len4(base_name, src_type)
 
#define __SYCL_TYPE_COMMIT_len8(base_name, src_type)
 
#define __SYCL_TYPE_COMMIT_len16(base_name, src_type)
 

Functions

bool is_mpi_sycl_interop_active ()
 
template<class T >
void check_offset_validity ()
 
void create_sycl_mpi_types ()
 
void free_sycl_mpi_types ()
 

Variables

bool __mpi_sycl_type_active = false
 
const int __len_vec2 = 2
 
const int __len_vec3 = 3
 
const int __len_vec4 = 4
 
const int __len_vec8 = 8
 
const int __len_vec16 = 16
 
MPI_Datatype __tmp_mpi_type_i64_3
 
MPI_Datatype __tmp_mpi_type_i32_3
 
MPI_Datatype __tmp_mpi_type_i16_3
 
MPI_Datatype __tmp_mpi_type_i8_3
 
MPI_Datatype __tmp_mpi_type_u64_3
 
MPI_Datatype __tmp_mpi_type_u32_3
 
MPI_Datatype __tmp_mpi_type_u16_3
 
MPI_Datatype __tmp_mpi_type_u8_3
 
MPI_Datatype __tmp_mpi_type_f16_3
 
MPI_Datatype __tmp_mpi_type_f32_3
 
MPI_Datatype __tmp_mpi_type_f64_3
 

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 SyclMpiTypes.cpp.

Macro Definition Documentation

◆ __SYCL_TYPE_COMMIT_len16

#define __SYCL_TYPE_COMMIT_len16 (   base_name,
  src_type 
)
Value:
{ \
check_offset_validity<base_name>(); \
MPICHECK(MPI_Type_contiguous(__len_vec16, mpi_type_##src_type, &mpi_type_##base_name)); \
MPICHECK(MPI_Type_commit(&mpi_type_##base_name)); \
shamlog_debug_mpi_ln("SyclMpiTypes", "init mpi type for : " #base_name); \
}

Definition at line 83 of file SyclMpiTypes.cpp.

◆ __SYCL_TYPE_COMMIT_len2

#define __SYCL_TYPE_COMMIT_len2 (   base_name,
  src_type 
)
Value:
{ \
check_offset_validity<base_name>(); \
MPICHECK(MPI_Type_contiguous(__len_vec2, mpi_type_##src_type, &mpi_type_##base_name)); \
MPICHECK(MPI_Type_commit(&mpi_type_##base_name)); \
shamlog_debug_mpi_ln("SyclMpiTypes", "init mpi type for : " #base_name); \
}

Definition at line 48 of file SyclMpiTypes.cpp.

◆ __SYCL_TYPE_COMMIT_len3

#define __SYCL_TYPE_COMMIT_len3 (   base_name,
  src_type 
)
Value:
{ \
check_offset_validity<base_name>(); \
MPICHECK( \
MPI_Type_contiguous(__len_vec3, mpi_type_##src_type, &__tmp_mpi_type_##base_name)); \
MPICHECK(MPI_Type_create_resized( \
__tmp_mpi_type_##base_name, 0, sizeof(base_name), &mpi_type_##base_name)); \
MPICHECK(MPI_Type_commit(&mpi_type_##base_name)); \
shamlog_debug_mpi_ln("SyclMpiTypes", "init mpi type for : " #base_name); \
}

Definition at line 56 of file SyclMpiTypes.cpp.

◆ __SYCL_TYPE_COMMIT_len4

#define __SYCL_TYPE_COMMIT_len4 (   base_name,
  src_type 
)
Value:
{ \
check_offset_validity<base_name>(); \
MPICHECK(MPI_Type_contiguous(__len_vec4, mpi_type_##src_type, &mpi_type_##base_name)); \
MPICHECK(MPI_Type_commit(&mpi_type_##base_name)); \
shamlog_debug_mpi_ln("SyclMpiTypes", "init mpi type for : " #base_name); \
}

Definition at line 67 of file SyclMpiTypes.cpp.

◆ __SYCL_TYPE_COMMIT_len8

#define __SYCL_TYPE_COMMIT_len8 (   base_name,
  src_type 
)
Value:
{ \
check_offset_validity<base_name>(); \
MPICHECK(MPI_Type_contiguous(__len_vec8, mpi_type_##src_type, &mpi_type_##base_name)); \
MPICHECK(MPI_Type_commit(&mpi_type_##base_name)); \
shamlog_debug_mpi_ln("SyclMpiTypes", "init mpi type for : " #base_name); \
}

Definition at line 75 of file SyclMpiTypes.cpp.

Function Documentation

◆ check_offset_validity()

template<class T >
void check_offset_validity ( )

Definition at line 92 of file SyclMpiTypes.cpp.

◆ create_sycl_mpi_types()

void create_sycl_mpi_types ( )

Definition at line 104 of file SyclMpiTypes.cpp.

◆ free_sycl_mpi_types()

void free_sycl_mpi_types ( )

Definition at line 185 of file SyclMpiTypes.cpp.

◆ is_mpi_sycl_interop_active()

bool is_mpi_sycl_interop_active ( )

Definition at line 21 of file SyclMpiTypes.cpp.

Variable Documentation

◆ __len_vec16

const int __len_vec16 = 16

Definition at line 34 of file SyclMpiTypes.cpp.

◆ __len_vec2

const int __len_vec2 = 2

Definition at line 30 of file SyclMpiTypes.cpp.

◆ __len_vec3

const int __len_vec3 = 3

Definition at line 31 of file SyclMpiTypes.cpp.

◆ __len_vec4

const int __len_vec4 = 4

Definition at line 32 of file SyclMpiTypes.cpp.

◆ __len_vec8

const int __len_vec8 = 8

Definition at line 33 of file SyclMpiTypes.cpp.

◆ __mpi_sycl_type_active

bool __mpi_sycl_type_active = false

Definition at line 20 of file SyclMpiTypes.cpp.

◆ __tmp_mpi_type_f16_3

MPI_Datatype __tmp_mpi_type_f16_3
inline

Definition at line 44 of file SyclMpiTypes.cpp.

◆ __tmp_mpi_type_f32_3

MPI_Datatype __tmp_mpi_type_f32_3
inline

Definition at line 45 of file SyclMpiTypes.cpp.

◆ __tmp_mpi_type_f64_3

MPI_Datatype __tmp_mpi_type_f64_3
inline

Definition at line 46 of file SyclMpiTypes.cpp.

◆ __tmp_mpi_type_i16_3

MPI_Datatype __tmp_mpi_type_i16_3
inline

Definition at line 38 of file SyclMpiTypes.cpp.

◆ __tmp_mpi_type_i32_3

MPI_Datatype __tmp_mpi_type_i32_3
inline

Definition at line 37 of file SyclMpiTypes.cpp.

◆ __tmp_mpi_type_i64_3

MPI_Datatype __tmp_mpi_type_i64_3
inline

Definition at line 36 of file SyclMpiTypes.cpp.

◆ __tmp_mpi_type_i8_3

MPI_Datatype __tmp_mpi_type_i8_3
inline

Definition at line 39 of file SyclMpiTypes.cpp.

◆ __tmp_mpi_type_u16_3

MPI_Datatype __tmp_mpi_type_u16_3
inline

Definition at line 42 of file SyclMpiTypes.cpp.

◆ __tmp_mpi_type_u32_3

MPI_Datatype __tmp_mpi_type_u32_3
inline

Definition at line 41 of file SyclMpiTypes.cpp.

◆ __tmp_mpi_type_u64_3

MPI_Datatype __tmp_mpi_type_u64_3
inline

Definition at line 40 of file SyclMpiTypes.cpp.

◆ __tmp_mpi_type_u8_3

MPI_Datatype __tmp_mpi_type_u8_3
inline

Definition at line 43 of file SyclMpiTypes.cpp.