alpaka
Abstraction Library for Parallel Kernel Acceleration
Traits.hpp File Reference
#include "alpaka/core/Common.hpp"
#include "alpaka/core/Interface.hpp"
#include <cstdint>
#include <type_traits>

Go to the source code of this file.

Classes

struct  alpaka::warp::ConceptWarp
 

Namespaces

 alpaka
 The alpaka accelerator library.
 
 alpaka::warp
 
 alpaka::warp::trait
 The warp traits.
 

Functions

template<typename TWarp >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_ACC auto alpaka::warp::activemask (TWarp const &warp) -> decltype(trait::Activemask< interface::ImplementationBase< ConceptWarp, TWarp >>::activemask(warp))
 Returns a 32- or 64-bit unsigned integer (depending on the accelerator) whose Nth bit is set if and only if the Nth thread of the warp is active. More...
 
template<typename TWarp >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_ACC auto alpaka::warp::all (TWarp const &warp, std::int32_t predicate) -> std::int32_t
 Evaluates predicate for all active threads of the warp and returns non-zero if and only if predicate evaluates to non-zero for all of them. More...
 
template<typename TWarp >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_ACC auto alpaka::warp::any (TWarp const &warp, std::int32_t predicate) -> std::int32_t
 Evaluates predicate for all active threads of the warp and returns non-zero if and only if predicate evaluates to non-zero for any of them. More...
 
template<typename TWarp >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_ACC auto alpaka::warp::ballot (TWarp const &warp, std::int32_t predicate)
 Evaluates predicate for all non-exited threads in a warp and returns a 32- or 64-bit unsigned integer (depending on the accelerator) whose Nth bit is set if and only if predicate evaluates to non-zero for the Nth thread of the warp and the Nth thread is active. More...
 
template<typename TWarp >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_ACC auto alpaka::warp::getSize (TWarp const &warp) -> std::int32_t
 Returns warp size. More...
 
template<typename TWarp , typename T >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_ACC auto alpaka::warp::shfl (TWarp const &warp, T value, std::int32_t srcLane, std::int32_t width=0)
 Exchange data between threads within a warp. More...
 
template<typename TWarp , typename T >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_ACC auto alpaka::warp::shfl_down (TWarp const &warp, T value, std::uint32_t offset, std::int32_t width=0)
 Exchange data between threads within a warp. It copies from a lane with higher ID relative to caller. The lane ID is calculated by adding delta to the caller’s lane ID. More...
 
template<typename TWarp , typename T >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_ACC auto alpaka::warp::shfl_up (TWarp const &warp, T value, std::uint32_t offset, std::int32_t width=0)
 Exchange data between threads within a warp. It copies from a lane with lower ID relative to caller. The lane ID is calculated by subtracting delta from the caller’s lane ID. More...
 
template<typename TWarp , typename T >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_ACC auto alpaka::warp::shfl_xor (TWarp const &warp, T value, std::int32_t mask, std::int32_t width=0)
 Exchange data between threads within a warp. It copies from a lane based on bitwise XOR of own lane ID. The lane ID is calculated by performing a bitwise XOR of the caller’s lane ID with mask. More...