Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Namespaces | Macros | Functions
memory.cpp File Reference
#include "shamalgs/details/memory/memory.hpp"
#include "shamalgs/details/memory/avoidCopyMemory.hpp"
#include "shamalgs/details/memory/fallbackMemory.hpp"
+ Include dependency graph for memory.cpp:

Go to the source code of this file.

Namespaces

namespace  shamalgs
 namespace to contain everything implemented by shamalgs
 
namespace  shamalgs::memory
 memory manipulation algorithms
 

Macros

#define XMAC_TYPES
 
#define X(_arg_)
 

Functions

template<class T >
shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< T > &buf, u32 idx)
 extract a value of a buffer
 
template<class T >
sycl::buffer< T > shamalgs::memory::vec_to_buf (const std::vector< T > &buf)
 Convert a std::vector to a sycl::buffer
 
template<class T >
std::vector< T > shamalgs::memory::buf_to_vec (sycl::buffer< T > &buf, u32 len)
 Convert a sycl::buffer to a std::vector
 
template f32 shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< f32 > &buf, u32 idx)
 
template sycl::buffer< f32shamalgs::memory::vec_to_buf (const std::vector< f32 > &buf)
 
template std::vector< f32shamalgs::memory::buf_to_vec (sycl::buffer< f32 > &buf, u32 len)
 
template f32_2 shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< f32_2 > &buf, u32 idx)
 
template sycl::buffer< f32_2 > shamalgs::memory::vec_to_buf (const std::vector< f32_2 > &buf)
 
template std::vector< f32_2 > shamalgs::memory::buf_to_vec (sycl::buffer< f32_2 > &buf, u32 len)
 
template f32_3 shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< f32_3 > &buf, u32 idx)
 
template sycl::buffer< f32_3 > shamalgs::memory::vec_to_buf (const std::vector< f32_3 > &buf)
 
template std::vector< f32_3 > shamalgs::memory::buf_to_vec (sycl::buffer< f32_3 > &buf, u32 len)
 
template f32_4 shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< f32_4 > &buf, u32 idx)
 
template sycl::buffer< f32_4 > shamalgs::memory::vec_to_buf (const std::vector< f32_4 > &buf)
 
template std::vector< f32_4 > shamalgs::memory::buf_to_vec (sycl::buffer< f32_4 > &buf, u32 len)
 
template f32_8 shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< f32_8 > &buf, u32 idx)
 
template sycl::buffer< f32_8 > shamalgs::memory::vec_to_buf (const std::vector< f32_8 > &buf)
 
template std::vector< f32_8 > shamalgs::memory::buf_to_vec (sycl::buffer< f32_8 > &buf, u32 len)
 
template f32_16 shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< f32_16 > &buf, u32 idx)
 
template sycl::buffer< f32_16 > shamalgs::memory::vec_to_buf (const std::vector< f32_16 > &buf)
 
template std::vector< f32_16 > shamalgs::memory::buf_to_vec (sycl::buffer< f32_16 > &buf, u32 len)
 
template f64 shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< f64 > &buf, u32 idx)
 
template sycl::buffer< f64shamalgs::memory::vec_to_buf (const std::vector< f64 > &buf)
 
template std::vector< f64shamalgs::memory::buf_to_vec (sycl::buffer< f64 > &buf, u32 len)
 
template f64_2 shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< f64_2 > &buf, u32 idx)
 
template sycl::buffer< f64_2 > shamalgs::memory::vec_to_buf (const std::vector< f64_2 > &buf)
 
template std::vector< f64_2 > shamalgs::memory::buf_to_vec (sycl::buffer< f64_2 > &buf, u32 len)
 
template f64_3 shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< f64_3 > &buf, u32 idx)
 
template sycl::buffer< f64_3 > shamalgs::memory::vec_to_buf (const std::vector< f64_3 > &buf)
 
template std::vector< f64_3 > shamalgs::memory::buf_to_vec (sycl::buffer< f64_3 > &buf, u32 len)
 
template f64_4 shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< f64_4 > &buf, u32 idx)
 
template sycl::buffer< f64_4 > shamalgs::memory::vec_to_buf (const std::vector< f64_4 > &buf)
 
template std::vector< f64_4 > shamalgs::memory::buf_to_vec (sycl::buffer< f64_4 > &buf, u32 len)
 
template f64_8 shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< f64_8 > &buf, u32 idx)
 
template sycl::buffer< f64_8 > shamalgs::memory::vec_to_buf (const std::vector< f64_8 > &buf)
 
template std::vector< f64_8 > shamalgs::memory::buf_to_vec (sycl::buffer< f64_8 > &buf, u32 len)
 
template f64_16 shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< f64_16 > &buf, u32 idx)
 
template sycl::buffer< f64_16 > shamalgs::memory::vec_to_buf (const std::vector< f64_16 > &buf)
 
template std::vector< f64_16 > shamalgs::memory::buf_to_vec (sycl::buffer< f64_16 > &buf, u32 len)
 
template u8 shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< u8 > &buf, u32 idx)
 
template sycl::buffer< u8shamalgs::memory::vec_to_buf (const std::vector< u8 > &buf)
 
template std::vector< u8shamalgs::memory::buf_to_vec (sycl::buffer< u8 > &buf, u32 len)
 
template u32 shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< u32 > &buf, u32 idx)
 
template sycl::buffer< u32shamalgs::memory::vec_to_buf (const std::vector< u32 > &buf)
 
template std::vector< u32shamalgs::memory::buf_to_vec (sycl::buffer< u32 > &buf, u32 len)
 
template u32_2 shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< u32_2 > &buf, u32 idx)
 
template sycl::buffer< u32_2 > shamalgs::memory::vec_to_buf (const std::vector< u32_2 > &buf)
 
template std::vector< u32_2 > shamalgs::memory::buf_to_vec (sycl::buffer< u32_2 > &buf, u32 len)
 
template u32_3 shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< u32_3 > &buf, u32 idx)
 
template sycl::buffer< u32_3 > shamalgs::memory::vec_to_buf (const std::vector< u32_3 > &buf)
 
template std::vector< u32_3 > shamalgs::memory::buf_to_vec (sycl::buffer< u32_3 > &buf, u32 len)
 
template u32_4 shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< u32_4 > &buf, u32 idx)
 
template sycl::buffer< u32_4 > shamalgs::memory::vec_to_buf (const std::vector< u32_4 > &buf)
 
template std::vector< u32_4 > shamalgs::memory::buf_to_vec (sycl::buffer< u32_4 > &buf, u32 len)
 
template u32_8 shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< u32_8 > &buf, u32 idx)
 
template sycl::buffer< u32_8 > shamalgs::memory::vec_to_buf (const std::vector< u32_8 > &buf)
 
template std::vector< u32_8 > shamalgs::memory::buf_to_vec (sycl::buffer< u32_8 > &buf, u32 len)
 
template u32_16 shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< u32_16 > &buf, u32 idx)
 
template sycl::buffer< u32_16 > shamalgs::memory::vec_to_buf (const std::vector< u32_16 > &buf)
 
template std::vector< u32_16 > shamalgs::memory::buf_to_vec (sycl::buffer< u32_16 > &buf, u32 len)
 
template u64 shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< u64 > &buf, u32 idx)
 
template sycl::buffer< u64shamalgs::memory::vec_to_buf (const std::vector< u64 > &buf)
 
template std::vector< u64shamalgs::memory::buf_to_vec (sycl::buffer< u64 > &buf, u32 len)
 
template u64_2 shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< u64_2 > &buf, u32 idx)
 
template sycl::buffer< u64_2 > shamalgs::memory::vec_to_buf (const std::vector< u64_2 > &buf)
 
template std::vector< u64_2 > shamalgs::memory::buf_to_vec (sycl::buffer< u64_2 > &buf, u32 len)
 
template u64_3 shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< u64_3 > &buf, u32 idx)
 
template sycl::buffer< u64_3 > shamalgs::memory::vec_to_buf (const std::vector< u64_3 > &buf)
 
template std::vector< u64_3 > shamalgs::memory::buf_to_vec (sycl::buffer< u64_3 > &buf, u32 len)
 
template u64_4 shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< u64_4 > &buf, u32 idx)
 
template sycl::buffer< u64_4 > shamalgs::memory::vec_to_buf (const std::vector< u64_4 > &buf)
 
template std::vector< u64_4 > shamalgs::memory::buf_to_vec (sycl::buffer< u64_4 > &buf, u32 len)
 
template u64_8 shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< u64_8 > &buf, u32 idx)
 
template sycl::buffer< u64_8 > shamalgs::memory::vec_to_buf (const std::vector< u64_8 > &buf)
 
template std::vector< u64_8 > shamalgs::memory::buf_to_vec (sycl::buffer< u64_8 > &buf, u32 len)
 
template u64_16 shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< u64_16 > &buf, u32 idx)
 
template sycl::buffer< u64_16 > shamalgs::memory::vec_to_buf (const std::vector< u64_16 > &buf)
 
template std::vector< u64_16 > shamalgs::memory::buf_to_vec (sycl::buffer< u64_16 > &buf, u32 len)
 
template i64_3 shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< i64_3 > &buf, u32 idx)
 
template sycl::buffer< i64_3 > shamalgs::memory::vec_to_buf (const std::vector< i64_3 > &buf)
 
template std::vector< i64_3 > shamalgs::memory::buf_to_vec (sycl::buffer< i64_3 > &buf, u32 len)
 
template i64 shamalgs::memory::extract_element (sycl::queue &q, sycl::buffer< i64 > &buf, u32 idx)
 
template sycl::buffer< i64shamalgs::memory::vec_to_buf (const std::vector< i64 > &buf)
 
template std::vector< i64shamalgs::memory::buf_to_vec (sycl::buffer< i64 > &buf, u32 len)
 

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

Macro Definition Documentation

◆ X

#define X (   _arg_)
Value:
template _arg_ extract_element(sycl::queue &q, sycl::buffer<_arg_> &buf, u32 idx); \
template sycl::buffer<_arg_> vec_to_buf(const std::vector<_arg_> &buf); \
template std::vector<_arg_> buf_to_vec(sycl::buffer<_arg_> &buf, u32 len);
std::uint32_t u32
32 bit unsigned integer

Definition at line 67 of file memory.cpp.

◆ XMAC_TYPES

#define XMAC_TYPES
Value:
X(f32) \
X(f32_2) \
X(f32_3) \
X(f32_4) \
X(f32_8) \
X(f32_16) \
X(f64) \
X(f64_2) \
X(f64_3) \
X(f64_4) \
X(f64_8) \
X(f64_16) \
X(u8) \
X(u32) \
X(u32_2) \
X(u32_3) \
X(u32_4) \
X(u32_8) \
X(u32_16) \
X(u64) \
X(u64_2) \
X(u64_3) \
X(u64_4) \
X(u64_8) \
X(u64_16) \
X(i64_3) \
X(i64)
double f64
Alias for double.
float f32
Alias for float.
std::uint8_t u8
8 bit unsigned integer
std::uint64_t u64
64 bit unsigned integer
std::int64_t i64
64 bit integer

Definition at line 38 of file memory.cpp.