gpu (CUDA) versions of primitive functions
More...
|
__device__ void | Accumulate (int64_t *accumulator, double x, int stride=1) |
| Accumulate a double to the superaccumulator (GPU version)
|
|
__device__ int | Normalize (int64_t *accumulator, int &imin, int &imax, int stride=1) |
| Normalize a superaccumulator (GPU version)
|
|
__device__ double | Round (int64_t *accumulator) |
| Convert a superaccumulator to the nearest double precision number (GPU version)
|
|
gpu (CUDA) versions of primitive functions
◆ Accumulate()
__device__ void dg::exblas::gpu::Accumulate |
( |
int64_t * | accumulator, |
|
|
double | x, |
|
|
int | stride = 1 ) |
|
inline |
Accumulate a double to the superaccumulator (GPU version)
- Parameters
-
accumulator | a pointer to at least BIN_COUNT 64 bit integers on the GPU (representing the superaccumulator) |
x | the double to add to the superaccumulator |
stride | stride in which accumulator is to be accessed |
◆ Normalize()
__device__ int dg::exblas::gpu::Normalize |
( |
int64_t * | accumulator, |
|
|
int & | imin, |
|
|
int & | imax, |
|
|
int | stride = 1 ) |
|
inline |
Normalize a superaccumulator (GPU version)
- Parameters
-
accumulator | a pointer to at least BIN_COUNT 64 bit integers on the GPU (representing the superaccumulator) |
imin | the first index in the accumulator |
imax | the last index in the accumulator |
stride | strid in which the superaccumulator is accessed |
- Returns
- carry in bit (sign)
◆ Round()
__device__ double dg::exblas::gpu::Round |
( |
int64_t * | accumulator | ) |
|
|
inline |
Convert a superaccumulator to the nearest double precision number (GPU version)
- Parameters
-
accumulator | a pointer to at least BIN_COUNT 64 bit integers on the GPU (representing the superaccumulator) |
- Returns
- the double precision number nearest to the superaccumulator