![]() |
GHOST
1.1.2
General, Hybrid, and Optimized Sparse Toolkit
|
Numerical operations not involving communication. More...
![]() |
Functions | |
ghost_error | ghost_localdot (void *res, ghost_densemat *vec1, ghost_densemat *vec2) |
Compute the local dot product of two dense vectors/matrices. More... | |
ghost_error | ghost_axpy (ghost_densemat *y, ghost_densemat *x, void *a) |
Computes y := a*x + y with scalar a. More... | |
ghost_error | ghost_vaxpy (ghost_densemat *y, ghost_densemat *x, void *a) |
Computes column-wise y := a_i*x + y with separate scalar a_i. More... | |
ghost_error | ghost_axpby (ghost_densemat *y, ghost_densemat *x, void *a, void *b) |
Computes y := a*x + b*y with scalar a and b. More... | |
ghost_error | ghost_vaxpby (ghost_densemat *y, ghost_densemat *x, void *a, void *b) |
Computes column-wise y := a_i*x + b_i*y with separate scalar a_i and b_i. More... | |
ghost_error | ghost_axpbypcz (ghost_densemat *y, ghost_densemat *x, void *a, void *b, ghost_densemat *z, void *c) |
Computes y := a*x + b*y + c*z with scalar a, b, and c. More... | |
ghost_error | ghost_vaxpbypcz (ghost_densemat *y, ghost_densemat *x, void *a, void *b, ghost_densemat *z, void *c) |
Computes column-wise y := a_i*x + b_i*y + c_i*z with separate scalars a_i, b_i, and c_i. More... | |
ghost_error | ghost_scale (ghost_densemat *x, void *s) |
Computes x := s*x with scalar s. More... | |
ghost_error | ghost_vscale (ghost_densemat *x, void *s) |
Computes column-wise x := s_i*x with separate scalars s_i. More... | |
ghost_error | ghost_conj (ghost_densemat *x) |
Conjugates a densemat. More... | |
ghost_error | ghost_mult (ghost_densemat *y, ghost_densemat *x, void *a) |
Computes y(i,j) := a*x(i,j)*y(i,j) or y(i,j) := a*x(i) (if x has 1 column), with scalar a. More... | |
ghost_error | ghost_tsmm (ghost_densemat *x, ghost_densemat *v, ghost_densemat *w, void *alpha, void *beta) |
Multiply a distributed dense tall skinny matrix with a redundant dense matrix. More... | |
ghost_error | ghost_tsmm_inplace (ghost_densemat *x, ghost_densemat *w, void *alpha, void *beta) |
Multiply a distributed dense tall skinny matrix with a redundant dense matrix in-place. More... | |
Numerical operations not involving communication.
ghost_error ghost_axpby | ( | ghost_densemat * | y, |
ghost_densemat * | x, | ||
void * | a, | ||
void * | b | ||
) |
Computes y := a*x + b*y with scalar a and b.
y | The in-/output densemat. |
x | The input densemat |
a | Points to the scale factor a. |
b | Points to the scale factor b. |
ghost_error ghost_axpbypcz | ( | ghost_densemat * | y, |
ghost_densemat * | x, | ||
void * | a, | ||
void * | b, | ||
ghost_densemat * | z, | ||
void * | c | ||
) |
Computes y := a*x + b*y + c*z with scalar a, b, and c.
y | The in-/output densemat. |
x | The input densemat x |
z | The input densemat z |
a | Points to the scale factor a. |
b | Points to the scale factor b. |
c | Points to the scale factor c. |
ghost_error ghost_axpy | ( | ghost_densemat * | y, |
ghost_densemat * | x, | ||
void * | a | ||
) |
Computes y := a*x + y with scalar a.
y | The in-/output densemat |
x | The input densemat |
a | Points to the scale factor. |
ghost_error ghost_conj | ( | ghost_densemat * | x | ) |
Conjugates a densemat.
x | The densemat. |
This function does nothing for real-valued densemats.
ghost_error ghost_localdot | ( | void * | res, |
ghost_densemat * | vec1, | ||
ghost_densemat * | vec2 | ||
) |
Compute the local dot product of two dense vectors/matrices.
res | Where to store the result. |
vec1 | The first vector/matrix. |
vec2 | The second vector/matrix. |
ghost_error ghost_mult | ( | ghost_densemat * | y, |
ghost_densemat * | x, | ||
void * | a | ||
) |
Computes y(i,j) := a*x(i,j)*y(i,j) or y(i,j) := a*x(i) (if x has 1 column), with scalar a.
y | The in-/output densemat. |
x | The input densemat |
a | Points to the scale factor a. |
ghost_error ghost_scale | ( | ghost_densemat * | x, |
void * | s | ||
) |
Computes x := s*x with scalar s.
x | The densemat. |
s | The scale factor. |
ghost_error ghost_tsmm | ( | ghost_densemat * | x, |
ghost_densemat * | v, | ||
ghost_densemat * | w, | ||
void * | alpha, | ||
void * | beta | ||
) |
Multiply a distributed dense tall skinny matrix with a redundant dense matrix.
[in,out] | x | |
[in] | v | |
[in] | w | |
[in] | alpha | |
[in] | beta |
Compute .
v is MxK, distributed.
w is KxN, redundant.
x is MxN, distributed.
M<<N
This kernel is auto-generated at compile time for given values of K and N.
ghost_error ghost_tsmm_inplace | ( | ghost_densemat * | x, |
ghost_densemat * | w, | ||
void * | alpha, | ||
void * | beta | ||
) |
Multiply a distributed dense tall skinny matrix with a redundant dense matrix in-place.
[in,out] | x | |
[in] | w | |
[in] | alpha | |
[in] | beta |
Compute .
w is MxK, M>K, redundant, col-major.
x is NxM, distributed, row-major.
M,K<<N
This kernel is auto-generated at compile time for given values of M and K.
ghost_error ghost_vaxpby | ( | ghost_densemat * | y, |
ghost_densemat * | x, | ||
void * | a, | ||
void * | b | ||
) |
Computes column-wise y := a_i*x + b_i*y with separate scalar a_i and b_i.
y | The in-/output densemat. |
x | The input densemat |
a | Points to the scale factors a. Length must be number of densemat columns. |
b | Points to the scale factors b. Length must be number of densemat columns. |
ghost_error ghost_vaxpbypcz | ( | ghost_densemat * | y, |
ghost_densemat * | x, | ||
void * | a, | ||
void * | b, | ||
ghost_densemat * | z, | ||
void * | c | ||
) |
Computes column-wise y := a_i*x + b_i*y + c_i*z with separate scalars a_i, b_i, and c_i.
y | The in-/output densemat. |
x | The input densemat x |
z | The input densemat z |
a | Points to the scale factors a. Length must be number of densemat columns. |
b | Points to the scale factors b. Length must be number of densemat columns. |
c | Points to the scale factors c. Length must be number of densemat columns. |
ghost_error ghost_vaxpy | ( | ghost_densemat * | y, |
ghost_densemat * | x, | ||
void * | a | ||
) |
Computes column-wise y := a_i*x + y with separate scalar a_i.
y | The in-/output densemat |
x | The input densemat |
a | Points to the scale factors a. Length must be number of densemat columns. |
ghost_error ghost_vscale | ( | ghost_densemat * | x, |
void * | s | ||
) |
Computes column-wise x := s_i*x with separate scalars s_i.
x | The densemat. |
s | The scale factors. Length must be number of densemat columns. |