Go to the documentation of this file.
10 #ifndef vtk_m_exec_cuda_internal_ArrayPortalBasicCuda_h
11 #define vtk_m_exec_cuda_internal_ArrayPortalBasicCuda_h
17 #if __CUDA_ARCH__ >= 350
30 VTKM_EXEC_CONT static inline T ArrayPortalBasicReadGet(
const T*
const data);
71 const int2 temp = __ldg(
reinterpret_cast<const int2*
>(data));
77 const uint2 temp = __ldg(
reinterpret_cast<const uint2*
>(data));
83 const float2 temp = __ldg(
reinterpret_cast<const float2*
>(data));
89 const double2 temp = __ldg(
reinterpret_cast<const double2*
>(data));
96 const int4 temp = __ldg(
reinterpret_cast<const int4*
>(data));
102 const uint4 temp = __ldg(
reinterpret_cast<const uint4*
>(data));
108 const float4 temp = __ldg(
reinterpret_cast<const float4*
>(data));
115 template <
typename T, vtkm::IdComponent N>
119 const T* recastedData =
reinterpret_cast<const T*
>(data);
124 result[i] = ArrayPortalBasicReadGet(recastedData + i);
132 #endif // __CUDA_ARCH__ >= 350
134 #endif //vtk_m_exec_cuda_internal_ArrayPortalBasicCuda_h
Groups connected points that have the same field value.
Definition: Atomic.h:19
vtkm::Vec< vtkm::Int32, 4 > Vec4i_32
Vec4i_32 corresponds to a 4-dimensional vector of 32-bit integer values.
Definition: Types.h:1204
#define VTKM_EXEC_CONT
Definition: ExportMacros.h:52
vtkm::Int32 IdComponent
Base type to use to index small lists.
Definition: Types.h:194
vtkm::Vec< vtkm::UInt32, 2 > Vec2ui_32
Vec2ui_32 corresponds to a 2-dimensional vector of 32-bit unsigned integer values.
Definition: Types.h:1004
int16_t Int16
Base type to use for 16-bit signed integer numbers.
Definition: Types.h:173
vtkm::Vec< vtkm::Float32, 4 > Vec4f_32
Vec4f_32 corresponds to a 4-dimensional vector of 32-bit floating point values.
Definition: Types.h:1174
vtkm::Vec< vtkm::Int32, 2 > Vec2i_32
Vec2i_32 corresponds to a 2-dimensional vector of 32-bit integer values.
Definition: Types.h:970
vtkm::Vec< vtkm::Float32, 2 > Vec2f_32
Vec2f_32 corresponds to a 2-dimensional vector of 32-bit floating point values.
Definition: Types.h:940
vtkm::Vec< vtkm::Float64, 2 > Vec2f_64
Vec2f_64 corresponds to a 2-dimensional vector of 64-bit floating point values.
Definition: Types.h:946
uint8_t UInt8
Base type to use for 8-bit unsigned integer numbers.
Definition: Types.h:169
A short fixed-length array.
Definition: Types.h:357
uint32_t UInt32
Base type to use for 32-bit unsigned integer numbers.
Definition: Types.h:185
float Float32
Base type to use for 32-bit floating-point numbers.
Definition: Types.h:157
int32_t Int32
Base type to use for 32-bit signed integer numbers.
Definition: Types.h:181
double Float64
Base type to use for 64-bit floating-point numbers.
Definition: Types.h:161
uint16_t UInt16
Base type to use for 16-bit unsigned integer numbers.
Definition: Types.h:177
vtkm::Vec< vtkm::UInt32, 4 > Vec4ui_32
Vec4ui_32 corresponds to a 4-dimensional vector of 32-bit unsigned integer values.
Definition: Types.h:1238