gpu (CUDA) versions of primitive functions
More...
|
static __device__ void | Accumulate (int64_t *accumulator, double x, int stride=1) |
| Accumulate a double to the superaccumulator (GPU version) More...
|
|
static __device__ int | Normalize (int64_t *accumulator, int &imin, int &imax, int stride=1) |
| Normalize a superaccumulator (GPU version) More...
|
|
static __device__ double | Round (int64_t *accumulator) |
| Convert a superaccumulator to the nearest double precision number (GPU version) More...
|
|
gpu (CUDA) versions of primitive functions
◆ Accumulate()
static __device__ void dg::exblas::gpu::Accumulate |
( |
int64_t * |
accumulator, |
|
|
double |
x, |
|
|
int |
stride = 1 |
|
) |
| |
|
inlinestatic |
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()
static __device__ int dg::exblas::gpu::Normalize |
( |
int64_t * |
accumulator, |
|
|
int & |
imin, |
|
|
int & |
imax, |
|
|
int |
stride = 1 |
|
) |
| |
|
static |
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()
static __device__ double dg::exblas::gpu::Round |
( |
int64_t * |
accumulator | ) |
|
|
inlinestatic |
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