Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
SyclHelper.hpp File Reference
#include "shambackends/sycl.hpp"
#include "shambackends/typeAliasVec.hpp"
#include <ostream>
#include <random>
Include dependency graph for SyclHelper.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  shamsys::syclhelper::get_base_sycl_type< T >
struct  shamsys::syclhelper::get_base_sycl_type< sycl::vec< T, N > >

Namespaces

namespace  shamsys
 namespace for the system handling

Functions

template<class T>
sycl::buffer< T > shamsys::syclhelper::mock::mock_buffer (u32 len, std::mt19937 &eng)
template<class T>
void shamsys::syclhelper::print_vec (std::ostream &ostream, T a)
template<class T>
shamsys::syclhelper::next_obj (std::mt19937 &eng, std::uniform_real_distribution< f64 > &distval)
template<class T>
void shamsys::syclhelper::print_vec (std::ostream &ostream, sycl::vec< T, 2 > a)
template<class T>
void shamsys::syclhelper::print_vec (std::ostream &ostream, sycl::vec< T, 3 > a)
template<class T>
void shamsys::syclhelper::print_vec (std::ostream &ostream, sycl::vec< T, 4 > a)
template<class T>
void shamsys::syclhelper::print_vec (std::ostream &ostream, sycl::vec< T, 8 > a)
template<class T>
void shamsys::syclhelper::print_vec (std::ostream &ostream, sycl::vec< T, 16 > a)
template<>
i64 shamsys::syclhelper::next_obj (std::mt19937 &eng, std::uniform_real_distribution< f64 > &distval)
template<>
i32 shamsys::syclhelper::next_obj (std::mt19937 &eng, std::uniform_real_distribution< f64 > &distval)
template<>
i16 shamsys::syclhelper::next_obj (std::mt19937 &eng, std::uniform_real_distribution< f64 > &distval)
template<>
i8 shamsys::syclhelper::next_obj (std::mt19937 &eng, std::uniform_real_distribution< f64 > &distval)
template<>
u64 shamsys::syclhelper::next_obj (std::mt19937 &eng, std::uniform_real_distribution< f64 > &distval)
template<>
u32 shamsys::syclhelper::next_obj (std::mt19937 &eng, std::uniform_real_distribution< f64 > &distval)
template<>
u16 shamsys::syclhelper::next_obj (std::mt19937 &eng, std::uniform_real_distribution< f64 > &distval)
template<>
u8 shamsys::syclhelper::next_obj (std::mt19937 &eng, std::uniform_real_distribution< f64 > &distval)
template<>
f32 shamsys::syclhelper::next_obj (std::mt19937 &eng, std::uniform_real_distribution< f64 > &distval)
template<>
f64 shamsys::syclhelper::next_obj (std::mt19937 &eng, std::uniform_real_distribution< f64 > &distval)
template<>
sycl::vec< f32, 2 > shamsys::syclhelper::next_obj (std::mt19937 &eng, std::uniform_real_distribution< f64 > &distval)
template<>
sycl::vec< f32, 3 > shamsys::syclhelper::next_obj (std::mt19937 &eng, std::uniform_real_distribution< f64 > &distval)
template<>
sycl::vec< f32, 4 > shamsys::syclhelper::next_obj (std::mt19937 &eng, std::uniform_real_distribution< f64 > &distval)
template<>
sycl::vec< f32, 8 > shamsys::syclhelper::next_obj (std::mt19937 &eng, std::uniform_real_distribution< f64 > &distval)
template<>
sycl::vec< f32, 16 > shamsys::syclhelper::next_obj (std::mt19937 &eng, std::uniform_real_distribution< f64 > &distval)
template<>
sycl::vec< f64, 2 > shamsys::syclhelper::next_obj (std::mt19937 &eng, std::uniform_real_distribution< f64 > &distval)
template<>
sycl::vec< f64, 3 > shamsys::syclhelper::next_obj (std::mt19937 &eng, std::uniform_real_distribution< f64 > &distval)
template<>
sycl::vec< f64, 4 > shamsys::syclhelper::next_obj (std::mt19937 &eng, std::uniform_real_distribution< f64 > &distval)
template<>
sycl::vec< f64, 8 > shamsys::syclhelper::next_obj (std::mt19937 &eng, std::uniform_real_distribution< f64 > &distval)
template<>
sycl::vec< f64, 16 > shamsys::syclhelper::next_obj (std::mt19937 &eng, std::uniform_real_distribution< f64 > &distval)
template<>
sycl::vec< u16, 3 > shamsys::syclhelper::next_obj (std::mt19937 &eng, std::uniform_real_distribution< f64 > &distval)
template<>
sycl::vec< u32, 3 > shamsys::syclhelper::next_obj (std::mt19937 &eng, std::uniform_real_distribution< f64 > &distval)

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 SyclHelper.hpp.

Function Documentation

◆ mock_buffer()

template<class T>
sycl::buffer< T > shamsys::syclhelper::mock::mock_buffer ( u32 len,
std::mt19937 & eng )

Definition at line 21 of file SyclHelper.cpp.

◆ next_obj() [1/22]

template<>
sycl::vec< u32, 3 > shamsys::syclhelper::next_obj ( std::mt19937 & eng,
std::uniform_real_distribution< f64 > & distval )
inline

Definition at line 241 of file SyclHelper.hpp.

◆ next_obj() [2/22]

template<>
sycl::vec< u16, 3 > shamsys::syclhelper::next_obj ( std::mt19937 & eng,
std::uniform_real_distribution< f64 > & distval )
inline

Definition at line 234 of file SyclHelper.hpp.

◆ next_obj() [3/22]

template<>
sycl::vec< f64, 16 > shamsys::syclhelper::next_obj ( std::mt19937 & eng,
std::uniform_real_distribution< f64 > & distval )
inline

Definition at line 212 of file SyclHelper.hpp.

◆ next_obj() [4/22]

template<>
sycl::vec< f64, 8 > shamsys::syclhelper::next_obj ( std::mt19937 & eng,
std::uniform_real_distribution< f64 > & distval )
inline

Definition at line 198 of file SyclHelper.hpp.

◆ next_obj() [5/22]

template<>
sycl::vec< f64, 4 > shamsys::syclhelper::next_obj ( std::mt19937 & eng,
std::uniform_real_distribution< f64 > & distval )
inline

Definition at line 188 of file SyclHelper.hpp.

◆ next_obj() [6/22]

template<>
sycl::vec< f64, 3 > shamsys::syclhelper::next_obj ( std::mt19937 & eng,
std::uniform_real_distribution< f64 > & distval )
inline

Definition at line 182 of file SyclHelper.hpp.

◆ next_obj() [7/22]

template<>
sycl::vec< f64, 2 > shamsys::syclhelper::next_obj ( std::mt19937 & eng,
std::uniform_real_distribution< f64 > & distval )
inline

Definition at line 177 of file SyclHelper.hpp.

◆ next_obj() [8/22]

template<>
sycl::vec< f32, 16 > shamsys::syclhelper::next_obj ( std::mt19937 & eng,
std::uniform_real_distribution< f64 > & distval )
inline

Definition at line 155 of file SyclHelper.hpp.

◆ next_obj() [9/22]

template<>
sycl::vec< f32, 8 > shamsys::syclhelper::next_obj ( std::mt19937 & eng,
std::uniform_real_distribution< f64 > & distval )
inline

Definition at line 141 of file SyclHelper.hpp.

◆ next_obj() [10/22]

template<>
sycl::vec< f32, 4 > shamsys::syclhelper::next_obj ( std::mt19937 & eng,
std::uniform_real_distribution< f64 > & distval )
inline

Definition at line 131 of file SyclHelper.hpp.

◆ next_obj() [11/22]

template<>
sycl::vec< f32, 3 > shamsys::syclhelper::next_obj ( std::mt19937 & eng,
std::uniform_real_distribution< f64 > & distval )
inline

Definition at line 125 of file SyclHelper.hpp.

◆ next_obj() [12/22]

template<>
sycl::vec< f32, 2 > shamsys::syclhelper::next_obj ( std::mt19937 & eng,
std::uniform_real_distribution< f64 > & distval )
inline

Definition at line 120 of file SyclHelper.hpp.

◆ next_obj() [13/22]

template<>
f64 shamsys::syclhelper::next_obj ( std::mt19937 & eng,
std::uniform_real_distribution< f64 > & distval )
inline

Definition at line 115 of file SyclHelper.hpp.

◆ next_obj() [14/22]

template<>
f32 shamsys::syclhelper::next_obj ( std::mt19937 & eng,
std::uniform_real_distribution< f64 > & distval )
inline

Definition at line 111 of file SyclHelper.hpp.

◆ next_obj() [15/22]

template<>
u8 shamsys::syclhelper::next_obj ( std::mt19937 & eng,
std::uniform_real_distribution< f64 > & distval )
inline

Definition at line 101 of file SyclHelper.hpp.

◆ next_obj() [16/22]

template<>
u16 shamsys::syclhelper::next_obj ( std::mt19937 & eng,
std::uniform_real_distribution< f64 > & distval )
inline

Definition at line 97 of file SyclHelper.hpp.

◆ next_obj() [17/22]

template<>
u32 shamsys::syclhelper::next_obj ( std::mt19937 & eng,
std::uniform_real_distribution< f64 > & distval )
inline

Definition at line 93 of file SyclHelper.hpp.

◆ next_obj() [18/22]

template<>
u64 shamsys::syclhelper::next_obj ( std::mt19937 & eng,
std::uniform_real_distribution< f64 > & distval )
inline

Definition at line 89 of file SyclHelper.hpp.

◆ next_obj() [19/22]

template<>
i8 shamsys::syclhelper::next_obj ( std::mt19937 & eng,
std::uniform_real_distribution< f64 > & distval )
inline

Definition at line 85 of file SyclHelper.hpp.

◆ next_obj() [20/22]

template<>
i16 shamsys::syclhelper::next_obj ( std::mt19937 & eng,
std::uniform_real_distribution< f64 > & distval )
inline

Definition at line 81 of file SyclHelper.hpp.

◆ next_obj() [21/22]

template<>
i32 shamsys::syclhelper::next_obj ( std::mt19937 & eng,
std::uniform_real_distribution< f64 > & distval )
inline

Definition at line 77 of file SyclHelper.hpp.

◆ next_obj() [22/22]

template<>
i64 shamsys::syclhelper::next_obj ( std::mt19937 & eng,
std::uniform_real_distribution< f64 > & distval )
inline

Definition at line 73 of file SyclHelper.hpp.

◆ print_vec() [1/6]

template<class T>
void shamsys::syclhelper::print_vec ( std::ostream & ostream,
sycl::vec< T, 16 > a )
inline

Definition at line 60 of file SyclHelper.hpp.

◆ print_vec() [2/6]

template<class T>
void shamsys::syclhelper::print_vec ( std::ostream & ostream,
sycl::vec< T, 2 > a )
inline

Definition at line 39 of file SyclHelper.hpp.

◆ print_vec() [3/6]

template<class T>
void shamsys::syclhelper::print_vec ( std::ostream & ostream,
sycl::vec< T, 3 > a )
inline

Definition at line 44 of file SyclHelper.hpp.

◆ print_vec() [4/6]

template<class T>
void shamsys::syclhelper::print_vec ( std::ostream & ostream,
sycl::vec< T, 4 > a )
inline

Definition at line 49 of file SyclHelper.hpp.

◆ print_vec() [5/6]

template<class T>
void shamsys::syclhelper::print_vec ( std::ostream & ostream,
sycl::vec< T, 8 > a )
inline

Definition at line 54 of file SyclHelper.hpp.

◆ print_vec() [6/6]

template<class T>
void shamsys::syclhelper::print_vec ( std::ostream & ostream,
T a )
inline

Definition at line 68 of file SyclHelper.hpp.