Go to the documentation of this file.
18 #ifndef viskores_exec_cuda_internal_ArrayPortalBasicCuda_h
19 #define viskores_exec_cuda_internal_ArrayPortalBasicCuda_h
25 #if __CUDA_ARCH__ >= 350
86 const int2 temp = __ldg(
reinterpret_cast<const int2*
>(data));
92 const uint2 temp = __ldg(
reinterpret_cast<const uint2*
>(data));
98 const float2 temp = __ldg(
reinterpret_cast<const float2*
>(data));
104 const double2 temp = __ldg(
reinterpret_cast<const double2*
>(data));
111 const int4 temp = __ldg(
reinterpret_cast<const int4*
>(data));
117 const uint4 temp = __ldg(
reinterpret_cast<const uint4*
>(data));
123 const float4 temp = __ldg(
reinterpret_cast<const float4*
>(data));
130 template <
typename T, viskores::IdComponent N>
134 const T* recastedData =
reinterpret_cast<const T*
>(data);
139 result[i] = ArrayPortalBasicReadGet(recastedData + i);
147 #endif // __CUDA_ARCH__ >= 350
149 #endif //viskores_exec_cuda_internal_ArrayPortalBasicCuda_h
int16_t Int16
Base type to use for 16-bit signed integer numbers.
Definition: Types.h:181
viskores::Vec< viskores::Float32, 2 > Vec2f_32
Vec2f_32 corresponds to a 2-dimensional vector of 32-bit floating point values.
Definition: Types.h:952
viskores::Vec< viskores::Int32, 4 > Vec4i_32
Vec4i_32 corresponds to a 4-dimensional vector of 32-bit integer values.
Definition: Types.h:1216
uint16_t UInt16
Base type to use for 16-bit unsigned integer numbers.
Definition: Types.h:185
viskores::Int32 IdComponent
Base type to use to index small lists.
Definition: Types.h:202
#define VISKORES_EXEC_CONT
Definition: ExportMacros.h:60
viskores::Vec< viskores::UInt32, 2 > Vec2ui_32
Vec2ui_32 corresponds to a 2-dimensional vector of 32-bit unsigned integer values.
Definition: Types.h:1016
viskores::Vec< viskores::Float64, 2 > Vec2f_64
Vec2f_64 corresponds to a 2-dimensional vector of 64-bit floating point values.
Definition: Types.h:958
Groups connected points that have the same field value.
Definition: Atomic.h:27
float Float32
Base type to use for 32-bit floating-point numbers.
Definition: Types.h:165
viskores::Vec< viskores::Float32, 4 > Vec4f_32
Vec4f_32 corresponds to a 4-dimensional vector of 32-bit floating point values.
Definition: Types.h:1186
viskores::Vec< viskores::UInt32, 4 > Vec4ui_32
Vec4ui_32 corresponds to a 4-dimensional vector of 32-bit unsigned integer values.
Definition: Types.h:1250
uint8_t UInt8
Base type to use for 8-bit unsigned integer numbers.
Definition: Types.h:177
int32_t Int32
Base type to use for 32-bit signed integer numbers.
Definition: Types.h:189
viskores::Vec< viskores::Int32, 2 > Vec2i_32
Vec2i_32 corresponds to a 2-dimensional vector of 32-bit integer values.
Definition: Types.h:982
double Float64
Base type to use for 64-bit floating-point numbers.
Definition: Types.h:169
A short fixed-length array.
Definition: Types.h:365
uint32_t UInt32
Base type to use for 32-bit unsigned integer numbers.
Definition: Types.h:193