![]() |
Shamrock 2025.10.0
Astrophysical Code
|
#include "shamalgs/details/algorithm/algorithm.hpp"#include "shambase/memory.hpp"#include "shambackends/DeviceBuffer.hpp"#include "shambackends/DeviceScheduler.hpp"#include "shambackends/kernel_call.hpp"
Include dependency graph for algorithm.cpp:Go to the source code of this file.
Namespaces | |
| namespace | shamalgs |
| namespace to contain everything implemented by shamalgs | |
| namespace | shamalgs::algorithm |
| namespace to store algorithms implemented by shamalgs | |
Macros | |
| #define | XMAC_TYPES |
| #define | X(_arg_) |
Functions | |
| sycl::buffer< u32 > | shamalgs::algorithm::gen_buffer_index (sycl::queue &q, u32 len) |
| generate a buffer such that for i in [0,len[, buf[i] = i | |
| template<class T > | |
| sycl::buffer< T > | shamalgs::algorithm::index_remap (sycl::queue &q, sycl::buffer< T > &source_buf, sycl::buffer< u32 > &index_map, u32 len) |
| remap a buffer according to a given index map result[i] = result[index_map[i]] | |
| template<class T > | |
| sycl::buffer< T > | shamalgs::algorithm::index_remap_nvar (sycl::queue &q, sycl::buffer< T > &source_buf, sycl::buffer< u32 > &index_map, u32 len, u32 nvar) |
| remap a buffer (with multiple variable per index) according to a given index map result[i] = result[index_map[i]] | |
| template<class T > | |
| void | shamalgs::algorithm::index_remap (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< T > &source, sham::DeviceBuffer< T > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len) |
| template<class T > | |
| void | shamalgs::algorithm::index_remap_nvar (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< T > &source, sham::DeviceBuffer< T > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len, u32 nvar) |
| template sycl::buffer< f32 > | shamalgs::algorithm::index_remap (sycl::queue &q, sycl::buffer< f32 > &buf, sycl::buffer< u32 > &index_map, u32 len) |
| template sycl::buffer< f32 > | shamalgs::algorithm::index_remap_nvar (sycl::queue &q, sycl::buffer< f32 > &buf, sycl::buffer< u32 > &index_map, u32 len, u32 nvar) |
| template void | shamalgs::algorithm::index_remap (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f32 > &source, sham::DeviceBuffer< f32 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len) |
| template void | shamalgs::algorithm::index_remap_nvar (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f32 > &source, sham::DeviceBuffer< f32 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len, u32 nvar) |
| template sycl::buffer< f32_2 > | shamalgs::algorithm::index_remap (sycl::queue &q, sycl::buffer< f32_2 > &buf, sycl::buffer< u32 > &index_map, u32 len) |
| template sycl::buffer< f32_2 > | shamalgs::algorithm::index_remap_nvar (sycl::queue &q, sycl::buffer< f32_2 > &buf, sycl::buffer< u32 > &index_map, u32 len, u32 nvar) |
| template void | shamalgs::algorithm::index_remap (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f32_2 > &source, sham::DeviceBuffer< f32_2 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len) |
| template void | shamalgs::algorithm::index_remap_nvar (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f32_2 > &source, sham::DeviceBuffer< f32_2 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len, u32 nvar) |
| template sycl::buffer< f32_3 > | shamalgs::algorithm::index_remap (sycl::queue &q, sycl::buffer< f32_3 > &buf, sycl::buffer< u32 > &index_map, u32 len) |
| template sycl::buffer< f32_3 > | shamalgs::algorithm::index_remap_nvar (sycl::queue &q, sycl::buffer< f32_3 > &buf, sycl::buffer< u32 > &index_map, u32 len, u32 nvar) |
| template void | shamalgs::algorithm::index_remap (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f32_3 > &source, sham::DeviceBuffer< f32_3 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len) |
| template void | shamalgs::algorithm::index_remap_nvar (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f32_3 > &source, sham::DeviceBuffer< f32_3 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len, u32 nvar) |
| template sycl::buffer< f32_4 > | shamalgs::algorithm::index_remap (sycl::queue &q, sycl::buffer< f32_4 > &buf, sycl::buffer< u32 > &index_map, u32 len) |
| template sycl::buffer< f32_4 > | shamalgs::algorithm::index_remap_nvar (sycl::queue &q, sycl::buffer< f32_4 > &buf, sycl::buffer< u32 > &index_map, u32 len, u32 nvar) |
| template void | shamalgs::algorithm::index_remap (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f32_4 > &source, sham::DeviceBuffer< f32_4 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len) |
| template void | shamalgs::algorithm::index_remap_nvar (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f32_4 > &source, sham::DeviceBuffer< f32_4 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len, u32 nvar) |
| template sycl::buffer< f32_8 > | shamalgs::algorithm::index_remap (sycl::queue &q, sycl::buffer< f32_8 > &buf, sycl::buffer< u32 > &index_map, u32 len) |
| template sycl::buffer< f32_8 > | shamalgs::algorithm::index_remap_nvar (sycl::queue &q, sycl::buffer< f32_8 > &buf, sycl::buffer< u32 > &index_map, u32 len, u32 nvar) |
| template void | shamalgs::algorithm::index_remap (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f32_8 > &source, sham::DeviceBuffer< f32_8 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len) |
| template void | shamalgs::algorithm::index_remap_nvar (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f32_8 > &source, sham::DeviceBuffer< f32_8 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len, u32 nvar) |
| template sycl::buffer< f32_16 > | shamalgs::algorithm::index_remap (sycl::queue &q, sycl::buffer< f32_16 > &buf, sycl::buffer< u32 > &index_map, u32 len) |
| template sycl::buffer< f32_16 > | shamalgs::algorithm::index_remap_nvar (sycl::queue &q, sycl::buffer< f32_16 > &buf, sycl::buffer< u32 > &index_map, u32 len, u32 nvar) |
| template void | shamalgs::algorithm::index_remap (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f32_16 > &source, sham::DeviceBuffer< f32_16 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len) |
| template void | shamalgs::algorithm::index_remap_nvar (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f32_16 > &source, sham::DeviceBuffer< f32_16 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len, u32 nvar) |
| template sycl::buffer< f64 > | shamalgs::algorithm::index_remap (sycl::queue &q, sycl::buffer< f64 > &buf, sycl::buffer< u32 > &index_map, u32 len) |
| template sycl::buffer< f64 > | shamalgs::algorithm::index_remap_nvar (sycl::queue &q, sycl::buffer< f64 > &buf, sycl::buffer< u32 > &index_map, u32 len, u32 nvar) |
| template void | shamalgs::algorithm::index_remap (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f64 > &source, sham::DeviceBuffer< f64 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len) |
| template void | shamalgs::algorithm::index_remap_nvar (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f64 > &source, sham::DeviceBuffer< f64 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len, u32 nvar) |
| template sycl::buffer< f64_2 > | shamalgs::algorithm::index_remap (sycl::queue &q, sycl::buffer< f64_2 > &buf, sycl::buffer< u32 > &index_map, u32 len) |
| template sycl::buffer< f64_2 > | shamalgs::algorithm::index_remap_nvar (sycl::queue &q, sycl::buffer< f64_2 > &buf, sycl::buffer< u32 > &index_map, u32 len, u32 nvar) |
| template void | shamalgs::algorithm::index_remap (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f64_2 > &source, sham::DeviceBuffer< f64_2 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len) |
| template void | shamalgs::algorithm::index_remap_nvar (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f64_2 > &source, sham::DeviceBuffer< f64_2 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len, u32 nvar) |
| template sycl::buffer< f64_3 > | shamalgs::algorithm::index_remap (sycl::queue &q, sycl::buffer< f64_3 > &buf, sycl::buffer< u32 > &index_map, u32 len) |
| template sycl::buffer< f64_3 > | shamalgs::algorithm::index_remap_nvar (sycl::queue &q, sycl::buffer< f64_3 > &buf, sycl::buffer< u32 > &index_map, u32 len, u32 nvar) |
| template void | shamalgs::algorithm::index_remap (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f64_3 > &source, sham::DeviceBuffer< f64_3 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len) |
| template void | shamalgs::algorithm::index_remap_nvar (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f64_3 > &source, sham::DeviceBuffer< f64_3 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len, u32 nvar) |
| template sycl::buffer< f64_4 > | shamalgs::algorithm::index_remap (sycl::queue &q, sycl::buffer< f64_4 > &buf, sycl::buffer< u32 > &index_map, u32 len) |
| template sycl::buffer< f64_4 > | shamalgs::algorithm::index_remap_nvar (sycl::queue &q, sycl::buffer< f64_4 > &buf, sycl::buffer< u32 > &index_map, u32 len, u32 nvar) |
| template void | shamalgs::algorithm::index_remap (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f64_4 > &source, sham::DeviceBuffer< f64_4 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len) |
| template void | shamalgs::algorithm::index_remap_nvar (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f64_4 > &source, sham::DeviceBuffer< f64_4 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len, u32 nvar) |
| template sycl::buffer< f64_8 > | shamalgs::algorithm::index_remap (sycl::queue &q, sycl::buffer< f64_8 > &buf, sycl::buffer< u32 > &index_map, u32 len) |
| template sycl::buffer< f64_8 > | shamalgs::algorithm::index_remap_nvar (sycl::queue &q, sycl::buffer< f64_8 > &buf, sycl::buffer< u32 > &index_map, u32 len, u32 nvar) |
| template void | shamalgs::algorithm::index_remap (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f64_8 > &source, sham::DeviceBuffer< f64_8 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len) |
| template void | shamalgs::algorithm::index_remap_nvar (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f64_8 > &source, sham::DeviceBuffer< f64_8 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len, u32 nvar) |
| template sycl::buffer< f64_16 > | shamalgs::algorithm::index_remap (sycl::queue &q, sycl::buffer< f64_16 > &buf, sycl::buffer< u32 > &index_map, u32 len) |
| template sycl::buffer< f64_16 > | shamalgs::algorithm::index_remap_nvar (sycl::queue &q, sycl::buffer< f64_16 > &buf, sycl::buffer< u32 > &index_map, u32 len, u32 nvar) |
| template void | shamalgs::algorithm::index_remap (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f64_16 > &source, sham::DeviceBuffer< f64_16 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len) |
| template void | shamalgs::algorithm::index_remap_nvar (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f64_16 > &source, sham::DeviceBuffer< f64_16 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len, u32 nvar) |
| template sycl::buffer< u32 > | shamalgs::algorithm::index_remap (sycl::queue &q, sycl::buffer< u32 > &buf, sycl::buffer< u32 > &index_map, u32 len) |
| template sycl::buffer< u32 > | shamalgs::algorithm::index_remap_nvar (sycl::queue &q, sycl::buffer< u32 > &buf, sycl::buffer< u32 > &index_map, u32 len, u32 nvar) |
| template void | shamalgs::algorithm::index_remap (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< u32 > &source, sham::DeviceBuffer< u32 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len) |
| template void | shamalgs::algorithm::index_remap_nvar (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< u32 > &source, sham::DeviceBuffer< u32 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len, u32 nvar) |
| template sycl::buffer< u64 > | shamalgs::algorithm::index_remap (sycl::queue &q, sycl::buffer< u64 > &buf, sycl::buffer< u32 > &index_map, u32 len) |
| template sycl::buffer< u64 > | shamalgs::algorithm::index_remap_nvar (sycl::queue &q, sycl::buffer< u64 > &buf, sycl::buffer< u32 > &index_map, u32 len, u32 nvar) |
| template void | shamalgs::algorithm::index_remap (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< u64 > &source, sham::DeviceBuffer< u64 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len) |
| template void | shamalgs::algorithm::index_remap_nvar (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< u64 > &source, sham::DeviceBuffer< u64 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len, u32 nvar) |
| template sycl::buffer< u32_3 > | shamalgs::algorithm::index_remap (sycl::queue &q, sycl::buffer< u32_3 > &buf, sycl::buffer< u32 > &index_map, u32 len) |
| template sycl::buffer< u32_3 > | shamalgs::algorithm::index_remap_nvar (sycl::queue &q, sycl::buffer< u32_3 > &buf, sycl::buffer< u32 > &index_map, u32 len, u32 nvar) |
| template void | shamalgs::algorithm::index_remap (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< u32_3 > &source, sham::DeviceBuffer< u32_3 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len) |
| template void | shamalgs::algorithm::index_remap_nvar (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< u32_3 > &source, sham::DeviceBuffer< u32_3 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len, u32 nvar) |
| template sycl::buffer< u64_3 > | shamalgs::algorithm::index_remap (sycl::queue &q, sycl::buffer< u64_3 > &buf, sycl::buffer< u32 > &index_map, u32 len) |
| template sycl::buffer< u64_3 > | shamalgs::algorithm::index_remap_nvar (sycl::queue &q, sycl::buffer< u64_3 > &buf, sycl::buffer< u32 > &index_map, u32 len, u32 nvar) |
| template void | shamalgs::algorithm::index_remap (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< u64_3 > &source, sham::DeviceBuffer< u64_3 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len) |
| template void | shamalgs::algorithm::index_remap_nvar (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< u64_3 > &source, sham::DeviceBuffer< u64_3 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len, u32 nvar) |
| template sycl::buffer< i64_3 > | shamalgs::algorithm::index_remap (sycl::queue &q, sycl::buffer< i64_3 > &buf, sycl::buffer< u32 > &index_map, u32 len) |
| template sycl::buffer< i64_3 > | shamalgs::algorithm::index_remap_nvar (sycl::queue &q, sycl::buffer< i64_3 > &buf, sycl::buffer< u32 > &index_map, u32 len, u32 nvar) |
| template void | shamalgs::algorithm::index_remap (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< i64_3 > &source, sham::DeviceBuffer< i64_3 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len) |
| template void | shamalgs::algorithm::index_remap_nvar (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< i64_3 > &source, sham::DeviceBuffer< i64_3 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len, u32 nvar) |
| template sycl::buffer< i64 > | shamalgs::algorithm::index_remap (sycl::queue &q, sycl::buffer< i64 > &buf, sycl::buffer< u32 > &index_map, u32 len) |
| template sycl::buffer< i64 > | shamalgs::algorithm::index_remap_nvar (sycl::queue &q, sycl::buffer< i64 > &buf, sycl::buffer< u32 > &index_map, u32 len, u32 nvar) |
| template void | shamalgs::algorithm::index_remap (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< i64 > &source, sham::DeviceBuffer< i64 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len) |
| template void | shamalgs::algorithm::index_remap_nvar (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< i64 > &source, sham::DeviceBuffer< i64 > &dest, sham::DeviceBuffer< u32 > &index_map, u32 len, u32 nvar) |
Definition in file algorithm.cpp.
| #define X | ( | _arg_ | ) |
Definition at line 158 of file algorithm.cpp.