STARS-H
Software for Testing Accuracy, Reliability and Scalability of Hierarchical computations
starsh_problem Struct Reference

Matrix/tensor in matrix/tensor-free form. More...

#include <starsh.h>

Data Fields

int ndim
 Number of dimensions of corresponding problem. More...
 
STARSH_intshape
 Shape of corresponding array. More...
 
char symm
 ‘'S’if problem is symmetric, and'N'` otherwise.
 
char dtype
 Precision of problem and corresponding array. More...
 
size_t dtype_size
 Size of element of array in bytes.
 
size_t entry_size
 Size of subarray, corresponding to kernel shape, in bytes. More...
 
void * row_data
 Pointer to data, corresponding to rows.
 
void * col_data
 Pointer to data, corresponding to columns.
 
STARSH_kernelkernel
 Pointer to a kernel. More...
 
char * name
 Name of corresponding problem.
 

Detailed Description

Matrix/tensor in matrix/tensor-free form.

Structure, storing all the necessary data for reconstruction of array, generated by given kernel. This array may be not 2-dimensional (e.g. for astrophysics problem, where each matrix entry is a vector of 3 elements). Array elements are not stored in memory, but computed on demand. Rows correspond to first dimension of the array and columns correspond to last dimension of the array.

Field Documentation

◆ dtype

char starsh_problem::dtype

Precision of problem and corresponding array.

Possile value is ‘'s’,'d','c'or'z'`, much like in names of LAPACK routines.

◆ entry_size

size_t starsh_problem::entry_size

Size of subarray, corresponding to kernel shape, in bytes.

Corresponds to size of subarray on a single row on a single column. Equal to size of array element, multiplied by total number of elements and divided by number of rows and number of columns.

◆ kernel

STARSH_kernel* starsh_problem::kernel

Pointer to a kernel.

Kernel computes elements of a submatrix on intersection of given rows and columns. Rows stand for first dimension and columns stand for last dimension.

◆ ndim

int starsh_problem::ndim

Number of dimensions of corresponding problem.

Real dimensionality of corresponding array. ndim=2 for problems with scalar kernel. ndim=3 for astrophysics problem. Can not be less, than 2.

◆ shape

STARSH_int* starsh_problem::shape

Shape of corresponding array.

In case of non-scalar kernel shape[0] stands for number of rows of array, shape[ndim-1] stands for number of columns of array and (ndim-2)-dimensional tuple shape[1:ndim-2] stands for kernel shape.


The documentation for this struct was generated from the following file: