![]() |
Shamrock 2025.10.0
Astrophysical Code
|
Element-wise equality comparison algorithms for buffers. More...
#include "shambase/exception.hpp"#include "shamalgs/primitives/is_all_true.hpp"#include "shambackends/DeviceBuffer.hpp"#include "shambackends/EventList.hpp"#include "shambackends/kernel_call.hpp"#include "shambackends/math.hpp"#include "shambackends/sycl.hpp"#include "shamsys/NodeInstance.hpp"
Include dependency graph for equals.hpp:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Namespaces | |
| namespace | shamalgs |
| namespace to contain everything implemented by shamalgs | |
| namespace | shamalgs::primitives |
| namespace for primitive algorithm (e.g. sort, scan, reductions, ...) | |
Functions | |
| template<class T > | |
| bool | shamalgs::primitives::equals (sycl::queue &q, sycl::buffer< T > &buf1, sycl::buffer< T > &buf2, u32 cnt) |
| Compare elements between two sycl::buffers for equality. | |
| template<class T > | |
| bool | shamalgs::primitives::equals (const sham::DeviceScheduler_ptr &dev_sched, sham::DeviceBuffer< T > &buf1, sham::DeviceBuffer< T > &buf2, u32 cnt) |
| Compare elements between two sham::DeviceBuffers for equality. | |
| template<class T > | |
| bool | shamalgs::primitives::equals (const sham::DeviceScheduler_ptr &q, sham::DeviceBuffer< T > &buf1, sham::DeviceBuffer< T > &buf2) |
| Compare all elements between two sham::DeviceBuffers for equality. | |
| template<class T > | |
| bool | shamalgs::primitives::equals (sycl::queue &q, sycl::buffer< T > &buf1, sycl::buffer< T > &buf2) |
| Compare all elements between two sycl::buffers for equality. | |
| template<class T > | |
| bool | shamalgs::primitives::equals_ptr_s (sycl::queue &q, const std::unique_ptr< sycl::buffer< T > > &buf1, const std::unique_ptr< sycl::buffer< T > > &buf2, u32 cnt) |
| Compare elements between two unique_ptr-wrapped sycl::buffers with count. | |
| template<class T > | |
| bool | shamalgs::primitives::equals_ptr (sycl::queue &q, const std::unique_ptr< sycl::buffer< T > > &buf1, const std::unique_ptr< sycl::buffer< T > > &buf2) |
| Compare all elements between two unique_ptr-wrapped sycl::buffers. | |
Element-wise equality comparison algorithms for buffers.
This header provides parallel algorithms to compare two buffers element-wise for equality. The functions perform element-wise comparisons across entire buffers or specified ranges, returning true only if all corresponding elements are equal.
The algorithms come in several variants:
equals for sycl::buffer: Direct buffer-based processing (deprecated)equals for sham::DeviceBuffer: USM-based processingequals_ptr and equals_ptr_s: Comparison of unique_ptr-wrapped buffers Definition in file equals.hpp.