![]() |
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. |

1.8.6