#include <vtkm/StaticAssert.h>
#include <vtkm/Types.h>
#include <vtkm/internal/Configure.h>
#include <vtkm/internal/ExportMacros.h>
#include <vtkm/cont/vtkm_cont_export.h>
#include <string>
Go to the source code of this file.
|
| vtkm |
| Groups connected points that have the same field value.
|
|
| vtkm::cont |
| VTK-m Control Environment.
|
|
◆ VTKM_DEVICE_ADAPTER_ANY
#define VTKM_DEVICE_ADAPTER_ANY 127 |
◆ VTKM_DEVICE_ADAPTER_CUDA
#define VTKM_DEVICE_ADAPTER_CUDA 2 |
◆ VTKM_DEVICE_ADAPTER_KOKKOS
#define VTKM_DEVICE_ADAPTER_KOKKOS 5 |
◆ VTKM_DEVICE_ADAPTER_OPENMP
#define VTKM_DEVICE_ADAPTER_OPENMP 4 |
◆ VTKM_DEVICE_ADAPTER_SERIAL
#define VTKM_DEVICE_ADAPTER_SERIAL 1 |
◆ VTKM_DEVICE_ADAPTER_TBB
#define VTKM_DEVICE_ADAPTER_TBB 3 |
◆ VTKM_DEVICE_ADAPTER_UNDEFINED
#define VTKM_DEVICE_ADAPTER_UNDEFINED -1 |
◆ VTKM_INVALID_DEVICE_ADAPTER
#define VTKM_INVALID_DEVICE_ADAPTER |
( |
|
Name, |
|
|
|
Id |
|
) |
| |
Value:
{ \
namespace cont \
{ \
{ \
constexpr DeviceAdapterTag##Name() \
{ \
} \
static constexpr bool IsEnabled = false; \
}; \
template <> \
struct DeviceAdapterTraits<vtkm::cont::DeviceAdapterTag##Name> \
{ \
}; \
} \
}
Marks the tag named vtkm::cont::DeviceAdapterTagName and associated structures as invalid to use.
Always use this macro (in the base namespace) when creating a device adapter.
◆ VTKM_IS_DEVICE_ADAPTER_TAG
#define VTKM_IS_DEVICE_ADAPTER_TAG |
( |
|
tag | ) |
|
Value: static_assert(std::is_base_of<vtkm::cont::DeviceAdapterId, tag>::value && \
!std::is_same<vtkm::cont::DeviceAdapterId, tag>::value, \
"Provided type is not a valid VTK-m device adapter tag.")
Checks that the argument is a proper device adapter tag.
This is a handy concept check for functions and classes to make sure that a template argument is actually a device adapter tag. (You can get weird errors elsewhere in the code when a mistake is made.)
◆ VTKM_MAX_DEVICE_ADAPTER_ID
#define VTKM_MAX_DEVICE_ADAPTER_ID 8 |
◆ VTKM_VALID_DEVICE_ADAPTER
#define VTKM_VALID_DEVICE_ADAPTER |
( |
|
Name, |
|
|
|
Id |
|
) |
| |
Value:
{ \
namespace cont \
{ \
{ \
constexpr DeviceAdapterTag##Name() \
{ \
} \
static constexpr bool IsEnabled = true; \
}; \
template <> \
struct DeviceAdapterTraits<vtkm::cont::DeviceAdapterTag##Name> \
{ \
}; \
} \
}
Creates a tag named vtkm::cont::DeviceAdapterTagName and associated MPL structures to use this tag.
Always use this macro (in the base namespace) when creating a device adapter.