HiRep 0.1
Loading...
Searching...
No Matches
global_sum.h File Reference

Functions for global reduction operations across nodes. More...

#include "hr_complex.h"
#include "spinor_field.h"
Include dependency graph for global_sum.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void global_sum (double *d, int n)
 Collects sum results from the local lattices and sums over all nodes (double).
 
void global_sum_int (int *d, int n)
 Collects sum results from the local lattices and sums over all nodes (integer).
 
void global_max (double *d, int n)
 Finds maximum across nodes after finding the local maximum.
 
void global_max_flt (float *d, int n)
 
void global_min (double *d, int n)
 Finds minimum across nodes after finding the local minimum.
 
void bcast (double *d, int n)
 FIXME: add docs.
 
void bcast_int (int *i, int n)
 FIXME: add docs.
 
int global_sum_gpu_int (int *vector, int size)
 Sums across GPU nodes after finding the local sum (integer)
 
float global_sum_gpu_float (float *vector, int size)
 Sums across GPU nodes after finding the local sum (single precision reals)
 
double global_sum_gpu_double (double *vector, int size)
 Sums across GPU nodes after finding the local sum (double precision reals)
 
hr_complex_flt global_sum_gpu_complex_flt (hr_complex_flt *vector, int size)
 Sums across GPU nodes after finding the local sum (single precision complex)
 
hr_complex global_sum_gpu_complex (hr_complex *vector, int size)
 Sums across GPU nodes after finding the local sum (double precision complex)
 
int global_max_gpu_int (int *vector, int size)
 GPU max reduction (integer)
 
float global_max_gpu_float (float *vector, int size)
 GPU max reduction (single precision reals)
 
double global_max_gpu_double (double *vector, int size)
 Sums across GPU nodes after finding the local sum (double precision reals)
 

Detailed Description

Functions for global reduction operations across nodes.

Headerfile for:

  • global_sum.c
  • global_sum_gpu.c

Function Documentation

◆ bcast()

void bcast ( double * d,
int n )

FIXME: add docs.

Parameters
d
n

◆ bcast_int()

void bcast_int ( int * i,
int n )

FIXME: add docs.

Parameters
i
n

◆ global_max()

void global_max ( double * d,
int n )

Finds maximum across nodes after finding the local maximum.

Parameters
dPointer that contains the local result
nSize of the array

◆ global_max_gpu_double()

double global_max_gpu_double ( double * vector,
int size )

Sums across GPU nodes after finding the local sum (double precision reals)

Parameters
vectorVector with local results
sizeSize of vector
Returns
double Highest double in vector

◆ global_max_gpu_float()

float global_max_gpu_float ( float * vector,
int size )

GPU max reduction (single precision reals)

Parameters
vectorVector with local results
sizeSize of vector
Returns
float Highest float in vector

◆ global_max_gpu_int()

int global_max_gpu_int ( int * vector,
int size )

GPU max reduction (integer)

Parameters
vectorVector with local results
sizeSize of vector
Returns
int Highest integer in vector

◆ global_min()

void global_min ( double * d,
int n )

Finds minimum across nodes after finding the local minimum.

Parameters
dPointer that contains the local result
nSize of the array

◆ global_sum()

void global_sum ( double * d,
int n )

Collects sum results from the local lattices and sums over all nodes (double).

Parameters
dPointer that contains the local result
nSize of the array

◆ global_sum_gpu_complex()

hr_complex global_sum_gpu_complex ( hr_complex * vector,
int size )

Sums across GPU nodes after finding the local sum (double precision complex)

Parameters
vectorVector with local results
sizeSize of vector
Returns
hr_complex Result of sum

◆ global_sum_gpu_complex_flt()

hr_complex_flt global_sum_gpu_complex_flt ( hr_complex_flt * vector,
int size )

Sums across GPU nodes after finding the local sum (single precision complex)

Parameters
vectorVector with local results
sizeSize of vector
Returns
hr_complex_flt Result of sum

◆ global_sum_gpu_double()

double global_sum_gpu_double ( double * vector,
int size )

Sums across GPU nodes after finding the local sum (double precision reals)

Parameters
vectorVector with local results
sizeSize of vector
Returns
double Result of sum

◆ global_sum_gpu_float()

float global_sum_gpu_float ( float * vector,
int size )

Sums across GPU nodes after finding the local sum (single precision reals)

Parameters
vectorVector with local results
sizeSize of vector
Returns
float Result of sum

◆ global_sum_gpu_int()

int global_sum_gpu_int ( int * vector,
int size )

Sums across GPU nodes after finding the local sum (integer)

Parameters
vectorVector with local results
sizeSize of vector
Returns
int Result of sum

◆ global_sum_int()

void global_sum_int ( int * d,
int n )

Collects sum results from the local lattices and sums over all nodes (integer).

Parameters
dPointer that contains the local result
nSize of the array