Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Namespaces | Functions
equals.hpp File Reference

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.
 

Detailed Description

Element-wise equality comparison algorithms for buffers.

Author
Timothée David–Cléris (tim.s.nosp@m.hamr.nosp@m.ock@p.nosp@m.roto.nosp@m.n.me)

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:

Definition in file equals.hpp.