group-collectives.hh File Reference

Overview

batchlas::portable:: group broadcast, shuffles and sums for any trivially copyable or complex T.

Under DPC++ these names are the sycl:: functions themselves (using-declarations), so a call compiles to exactly the direct sycl:: call. Under AdaptiveCpp they are wrappers: a value not 1, 2, 4 or 8 bytes wide moves word by word and a std::complex sum reduces its real and imaginary parts separately. A separate namespace keeps unqualified calls on sub-group partitions (sg_partition.hh) resolving as before.

Installed with the rest of include/batchlas (the install rule copies the tree wholesale); the device BLAS headers include it. Not a stable interface.

Definition in file group-collectives.hh.

#include <batchlas/backend_config.h>
#include <sycl/sycl.hpp>
#include <complex>
#include <cstddef>
#include <cstdint>
#include <cstring>
#include <type_traits>

Go to the source code of this file.

Classes

struct  batchlas::portable::detail::is_std_complex< T >
struct  batchlas::portable::detail::is_std_complex< std::complex< R > >
struct  batchlas::portable::detail::sycl_vec< T >
struct  batchlas::portable::detail::sycl_vec< sycl::vec< R, N > >
struct  batchlas::portable::detail::rebind_op< OpT< V >, R >

Namespaces

namespace  batchlas
namespace  batchlas::portable
namespace  batchlas::portable::detail