STARS-H
Software for Testing Accuracy, Reliability and Scalability of Hierarchical computations
|
Set of kernels for electrostatics problems. More...
Functions | |
void | starsh_esdata_block_coulomb_potential_kernel_nd (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Coulomb potential for n-dimensional electrostatics problem. More... | |
void | starsh_esdata_block_coulomb_potential_kernel_nd_simd (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Coulomb potential for n-dimensional electrostatics problem. More... | |
void | starsh_esdata_block_coulomb_potential_kernel_1d (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Coulomb potential for 1-dimensional electrostatics problem. More... | |
void | starsh_esdata_block_coulomb_potential_kernel_1d_simd (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Coulomb potential for 1-dimensional electrostatics problem. More... | |
void | starsh_esdata_block_coulomb_potential_kernel_2d (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Coulomb potential for 2-dimensional electrostatics problem. More... | |
void | starsh_esdata_block_coulomb_potential_kernel_2d_simd (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Coulomb potential for 2-dimensional electrostatics problem. More... | |
void | starsh_esdata_block_coulomb_potential_kernel_3d (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Coulomb potential for 3-dimensional electrostatics problem. More... | |
void | starsh_esdata_block_coulomb_potential_kernel_3d_simd (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Coulomb potential for 3-dimensional electrostatics problem. More... | |
void | starsh_esdata_block_coulomb_potential_kernel_4d (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Coulomb potential for 4-dimensional electrostatics problem. More... | |
void | starsh_esdata_block_coulomb_potential_kernel_4d_simd (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Coulomb potential for 4-dimensional electrostatics problem. More... | |
Set of kernels for electrostatics problems.
Click on functions to view implemented equations.
void starsh_esdata_block_coulomb_potential_kernel_1d | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Coulomb potential for 1-dimensional electrostatics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{1}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points. No memory is allocated in this function!
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_ssdata object). |
[in] | col_data | Pointer to physical data (STARSH_ssdata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_esdata_block_coulomb_potential_kernel_1d_simd | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Coulomb potential for 1-dimensional electrostatics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{1}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points. No memory is allocated in this function!
Uses SIMD instructions.
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_ssdata object). |
[in] | col_data | Pointer to physical data (STARSH_ssdata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_esdata_block_coulomb_potential_kernel_2d | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Coulomb potential for 2-dimensional electrostatics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{1}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points. No memory is allocated in this function!
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_ssdata object). |
[in] | col_data | Pointer to physical data (STARSH_ssdata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_esdata_block_coulomb_potential_kernel_2d_simd | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Coulomb potential for 2-dimensional electrostatics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{1}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points. No memory is allocated in this function!
Uses SIMD instructions.
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_ssdata object). |
[in] | col_data | Pointer to physical data (STARSH_ssdata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_esdata_block_coulomb_potential_kernel_3d | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Coulomb potential for 3-dimensional electrostatics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{1}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points. No memory is allocated in this function!
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_ssdata object). |
[in] | col_data | Pointer to physical data (STARSH_ssdata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_esdata_block_coulomb_potential_kernel_3d_simd | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Coulomb potential for 3-dimensional electrostatics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{1}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points. No memory is allocated in this function!
Uses SIMD instructions.
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_ssdata object). |
[in] | col_data | Pointer to physical data (STARSH_ssdata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_esdata_block_coulomb_potential_kernel_4d | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Coulomb potential for 4-dimensional electrostatics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{1}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points. No memory is allocated in this function!
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_ssdata object). |
[in] | col_data | Pointer to physical data (STARSH_ssdata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_esdata_block_coulomb_potential_kernel_4d_simd | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Coulomb potential for 4-dimensional electrostatics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{1}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points. No memory is allocated in this function!
Uses SIMD instructions.
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_ssdata object). |
[in] | col_data | Pointer to physical data (STARSH_ssdata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_esdata_block_coulomb_potential_kernel_nd | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Coulomb potential for n-dimensional electrostatics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{1}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points. No memory is allocated in this function!
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_ssdata object). |
[in] | col_data | Pointer to physical data (STARSH_ssdata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_esdata_block_coulomb_potential_kernel_nd_simd | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Coulomb potential for n-dimensional electrostatics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{1}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points. No memory is allocated in this function!
Uses SIMD instructions.
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_ssdata object). |
[in] | col_data | Pointer to physical data (STARSH_ssdata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |