alpaka
Abstraction Library for Parallel Kernel Acceleration
Tag.hpp File Reference
#include "alpaka/core/BoostPredef.hpp"
#include <iostream>
#include <tuple>
#include <type_traits>

Go to the source code of this file.

Classes

struct  alpaka::InterfaceTag
 
struct  alpaka::TagCpuOmp2Blocks
 
struct  alpaka::TagCpuOmp2Threads
 
struct  alpaka::TagCpuSerial
 
struct  alpaka::TagCpuSycl
 
struct  alpaka::TagCpuTbbBlocks
 
struct  alpaka::TagCpuThreads
 
struct  alpaka::TagFpgaSyclIntel
 
struct  alpaka::TagGenericSycl
 
struct  alpaka::TagGpuCudaRt
 
struct  alpaka::TagGpuHipRt
 
struct  alpaka::TagGpuSyclIntel
 

Namespaces

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

Macros

#define CREATE_ACC_TAG(tag_name)
 

Typedefs

using alpaka::AccTags = std::tuple< alpaka::TagCpuSerial, alpaka::TagCpuThreads, alpaka::TagCpuTbbBlocks, alpaka::TagCpuOmp2Blocks, alpaka::TagCpuOmp2Threads, alpaka::TagGpuCudaRt, alpaka::TagGpuHipRt, alpaka::TagCpuSycl, alpaka::TagFpgaSyclIntel, alpaka::TagGpuSyclIntel >
 list of all available tags More...
 
template<typename TAcc >
using alpaka::AccToTag = typename trait::AccToTag< TAcc >::type
 maps an acc type to a tag type More...
 
template<concepts::Tag TTag, typename TDim , typename TIdx >
using alpaka::TagToAcc = typename trait::TagToAcc< TTag, TDim, TIdx >::type
 maps a tag type to an acc type More...
 

Functions

template<typename TTuple >
void alpaka::printTagNames ()
 Function to print the names of each tag in the given tuple of tags. More...
 

Variables

template<typename TAcc , concepts::Tag... TTag>
constexpr bool alpaka::accMatchesTags = (std::is_same_v<alpaka::AccToTag<TAcc>, TTag> || ...)
 
template<typename T >
concept alpaka::concepts::Tag
 

Macro Definition Documentation

◆ CREATE_ACC_TAG

#define CREATE_ACC_TAG (   tag_name)
Value:
struct tag_name : public alpaka::InterfaceTag \
{ \
static std::string get_name() \
{ \
return #tag_name; \
} \
}

Definition at line 20 of file Tag.hpp.