Neko  0.9.99
A portable framework for high-order spectral element flow simulations
math.hip File Reference
#include <hip/hip_runtime.h>
#include <device/device_config.h>
#include <device/hip/check.h>
#include "math_kernel.h"
#include <math/bcknd/device/device_mpi_reduce.h>
#include <math/bcknd/device/device_mpi_op.h>
Include dependency graph for math.hip:

Go to the source code of this file.

Functions

void hip_copy (void *a, void *b, int *n)
 
void hip_masked_copy (void *a, void *b, void *mask, int *n, int *m)
 
void hip_masked_red_copy (void *a, void *b, void *mask, int *n, int *m)
 
void hip_cfill_mask (void *a, real *c, int *size, void *mask, int *mask_size)
 
void hip_rzero (void *a, int *n)
 
void hip_cmult (void *a, real *c, int *n)
 
void hip_cmult2 (void *a, void *b, real *c, int *n)
 
void hip_cadd (void *a, real *c, int *n)
 
void hip_cadd2 (void *a, void *b, real *c, int *n)
 
void hip_cfill (void *a, real *c, int *n)
 
void hip_add2 (void *a, void *b, int *n)
 
void hip_add4 (void *a, void *b, void *c, void *d, int *n)
 
void hip_add2s1 (void *a, void *b, real *c1, int *n)
 
void hip_add2s2 (void *a, void *b, real *c1, int *n)
 
void hip_addsqr2s2 (void *a, void *b, real *c1, int *n)
 
void hip_add3s2 (void *a, void *b, void *c, real *c1, real *c2, int *n)
 
void hip_invcol1 (void *a, int *n)
 
void hip_invcol2 (void *a, void *b, int *n)
 
void hip_col2 (void *a, void *b, int *n)
 
void hip_col3 (void *a, void *b, void *c, int *n)
 
void hip_subcol3 (void *a, void *b, void *c, int *n)
 
void hip_sub2 (void *a, void *b, int *n)
 
void hip_sub3 (void *a, void *b, void *c, int *n)
 
void hip_addcol3 (void *a, void *b, void *c, int *n)
 
void hip_addcol4 (void *a, void *b, void *c, void *d, int *n)
 
void hip_vdot3 (void *dot, void *u1, void *u2, void *u3, void *v1, void *v2, void *v3, int *n)
 
void hip_vcross (void *u1, void *u2, void *u3, void *v1, void *v2, void *v3, void *w1, void *w2, void *w3, int *n)
 
real hip_vlsc3 (void *u, void *v, void *w, int *n)
 
real hip_glsc3 (void *a, void *b, void *c, int *n)
 
void hip_glsc3_many (real *h, void *w, void *v, void *mult, int *j, int *n)
 
void hip_add2s2_many (void *x, void **p, void *alpha, int *j, int *n)
 
void hip_add3 (void *a, void *b, void *c, int *n)
 
real hip_glsc2 (void *a, void *b, int *n)
 
real hip_glsum (void *a, int *n)
 
void hip_absval (void *a, int *n)
 

Variables

int red_s = 0
 
realbufred = NULL
 
realbufred_d = NULL
 

Function Documentation

◆ hip_absval()

void hip_absval ( void *  a,
int *  n 
)

Fortran wrapper for absval \( a = abs(a) \)

Definition at line 701 of file math.hip.

◆ hip_add2()

void hip_add2 ( void *  a,
void *  b,
int *  n 
)

Fortran wrapper for add2 Vector addition \( a = a + b \)

Definition at line 187 of file math.hip.

◆ hip_add2s1()

void hip_add2s1 ( void *  a,
void *  b,
real c1,
int *  n 
)

Fortran wrapper for add2s1 Vector addition with scalar multiplication \( a = c_1 a + b \) (multiplication on first argument)

Definition at line 218 of file math.hip.

◆ hip_add2s2()

void hip_add2s2 ( void *  a,
void *  b,
real c1,
int *  n 
)

Fortran wrapper for add2s2 Vector addition with scalar multiplication \( a = a + c_1 b \) (multiplication on second argument)

Definition at line 235 of file math.hip.

◆ hip_add2s2_many()

void hip_add2s2_many ( void *  x,
void **  p,
void *  alpha,
int *  j,
int *  n 
)

Fortran wrapper for add2s2 Vector addition with scalar multiplication \( x = x + c_1 p1 + c_2p2 + ... + c_jpj \) (multiplication on second argument)

Definition at line 592 of file math.hip.

◆ hip_add3()

void hip_add3 ( void *  a,
void *  b,
void *  c,
int *  n 
)

Fortran wrapper for add3 Vector addition \( a = b + c \)

Definition at line 608 of file math.hip.

◆ hip_add3s2()

void hip_add3s2 ( void *  a,
void *  b,
void *  c,
real c1,
real c2,
int *  n 
)

Fortran wrapper for add3s2 Vector addition with scalar multiplication \( a = c_1 b + c_2 c \) (multiplication on second argument)

Definition at line 269 of file math.hip.

◆ hip_add4()

void hip_add4 ( void *  a,
void *  b,
void *  c,
void *  d,
int *  n 
)

Fortran wrapper for add4 Vector addition \( a = b + c + d\)

Definition at line 202 of file math.hip.

◆ hip_addcol3()

void hip_addcol3 ( void *  a,
void *  b,
void *  c,
int *  n 
)

Fortran wrapper for addcol3 \( a = a + b * c \)

Definition at line 390 of file math.hip.

◆ hip_addcol4()

void hip_addcol4 ( void *  a,
void *  b,
void *  c,
void *  d,
int *  n 
)

Fortran wrapper for addcol4 \( a = a + b * c * d \)

Definition at line 405 of file math.hip.

◆ hip_addsqr2s2()

void hip_addsqr2s2 ( void *  a,
void *  b,
real c1,
int *  n 
)

Fortran wrapper for addsqr2s2 Vector addition with scalar multiplication \( a = a + c_1 (b * b) \) (multiplication on second argument)

Definition at line 252 of file math.hip.

◆ hip_cadd()

void hip_cadd ( void *  a,
real c,
int *  n 
)

Fortran wrapper for cadd Add a scalar to vector \( a = \sum a_i + s \)

Definition at line 142 of file math.hip.

◆ hip_cadd2()

void hip_cadd2 ( void *  a,
void *  b,
real c,
int *  n 
)

Fortran wrapper for cadd2 Add a scalar to a vector \( a = b + s \)

Definition at line 157 of file math.hip.

◆ hip_cfill()

void hip_cfill ( void *  a,
real c,
int *  n 
)

Fortran wrapper for cfill Multiplication by constant c \( a = c \cdot a \)

Definition at line 171 of file math.hip.

◆ hip_cfill_mask()

void hip_cfill_mask ( void *  a,
real c,
int *  size,
void *  mask,
int *  mask_size 
)

Fortran wrapper for cfill_mask Fill a scalar to vector \( a_i = s, for i \in mask \)

Definition at line 90 of file math.hip.

◆ hip_cmult()

void hip_cmult ( void *  a,
real c,
int *  n 
)

Fortran wrapper for cmult Multiplication by constant c \( a = c \cdot a \)

Definition at line 113 of file math.hip.

◆ hip_cmult2()

void hip_cmult2 ( void *  a,
void *  b,
real c,
int *  n 
)

Fortran wrapper for cmult Multiplication by constant c \( a = c \cdot b \)

Definition at line 128 of file math.hip.

◆ hip_col2()

void hip_col2 ( void *  a,
void *  b,
int *  n 
)

Fortran wrapper for col2 Vector multiplication with 2 vectors \( a = a \cdot b \)

Definition at line 315 of file math.hip.

◆ hip_col3()

void hip_col3 ( void *  a,
void *  b,
void *  c,
int *  n 
)

Fortran wrapper for col3 Vector multiplication with 3 vectors \( a = b \cdot c \)

Definition at line 330 of file math.hip.

◆ hip_copy()

void hip_copy ( void *  a,
void *  b,
int *  n 
)

Fortran wrapper for copy Copy a vector \( a = b \)

Definition at line 48 of file math.hip.

◆ hip_glsc2()

real hip_glsc2 ( void *  a,
void *  b,
int *  n 
)

Fortran wrapper glsc2 Weighted inner product \( a^T b \)

Definition at line 623 of file math.hip.

Here is the call graph for this function:

◆ hip_glsc3()

real hip_glsc3 ( void *  a,
void *  b,
void *  c,
int *  n 
)

Fortran wrapper glsc3 Weighted inner product \( a^T b c \)

Definition at line 502 of file math.hip.

Here is the call graph for this function:

◆ hip_glsc3_many()

void hip_glsc3_many ( real h,
void *  w,
void *  v,
void *  mult,
int *  j,
int *  n 
)

Fortran wrapper for doing an reduction to an array Weighted inner product \( w^T v(n,1:j) c \)

Definition at line 543 of file math.hip.

Here is the call graph for this function:

◆ hip_glsum()

real hip_glsum ( void *  a,
int *  n 
)

Fortran wrapper glsum Sum a vector of length n

Definition at line 663 of file math.hip.

Here is the call graph for this function:

◆ hip_invcol1()

void hip_invcol1 ( void *  a,
int *  n 
)

Fortran wrapper for invcol1 Invert a vector \( a = 1 / a \)

Definition at line 285 of file math.hip.

◆ hip_invcol2()

void hip_invcol2 ( void *  a,
void *  b,
int *  n 
)

Fortran wrapper for invcol2 Vector division \( a = a / b \)

Definition at line 300 of file math.hip.

◆ hip_masked_copy()

void hip_masked_copy ( void *  a,
void *  b,
void *  mask,
int *  n,
int *  m 
)

Fortran wrapper for masked copy Copy a vector \( a(mask) = b(mask) \)

Definition at line 57 of file math.hip.

◆ hip_masked_red_copy()

void hip_masked_red_copy ( void *  a,
void *  b,
void *  mask,
int *  n,
int *  m 
)

Fortran wrapper for masked reduced copy Copy a vector \( a = b(mask) \)

Definition at line 74 of file math.hip.

◆ hip_rzero()

void hip_rzero ( void *  a,
int *  n 
)

Fortran wrapper for rzero Zero a real vector

Definition at line 105 of file math.hip.

◆ hip_sub2()

void hip_sub2 ( void *  a,
void *  b,
int *  n 
)

Fortran wrapper for sub2 Vector subtraction \( a = a - b \)

Definition at line 360 of file math.hip.

◆ hip_sub3()

void hip_sub3 ( void *  a,
void *  b,
void *  c,
int *  n 
)

Fortran wrapper for sub3 Vector subtraction \( a = b - c \)

Definition at line 375 of file math.hip.

◆ hip_subcol3()

void hip_subcol3 ( void *  a,
void *  b,
void *  c,
int *  n 
)

Fortran wrapper for subcol3 Vector multiplication with 3 vectors \( a = b \cdot c \)

Definition at line 345 of file math.hip.

◆ hip_vcross()

void hip_vcross ( void *  u1,
void *  u2,
void *  u3,
void *  v1,
void *  v2,
void *  v3,
void *  w1,
void *  w2,
void *  w3,
int *  n 
)

Fortran wrapper for vdot3 \( u = v \times w \)

Definition at line 437 of file math.hip.

◆ hip_vdot3()

void hip_vdot3 ( void *  dot,
void *  u1,
void *  u2,
void *  u3,
void *  v1,
void *  v2,
void *  v3,
int *  n 
)

Fortran wrapper for vdot3 \( dot = u \cdot v \)

Definition at line 420 of file math.hip.

◆ hip_vlsc3()

real hip_vlsc3 ( void *  u,
void *  v,
void *  w,
int *  n 
)

Fortran wrapper vlsc3 Compute multiplication sum \( dot = u \cdot v \cdot w \)

Definition at line 464 of file math.hip.

Variable Documentation

◆ bufred

real* bufred = NULL

Definition at line 457 of file math.hip.

◆ bufred_d

real* bufred_d = NULL

Definition at line 458 of file math.hip.

◆ red_s

int red_s = 0

Definition at line 456 of file math.hip.