![]() |
GHOST
1.1.2
General, Hybrid, and Optimized Sparse Toolkit
|
The GHOST context. More...
#include <context.h>

Public Attributes | |
| ghost_gidx | gnnz |
| The global number of non-zeros. More... | |
| ghost_lidx | nnz |
| Local number of non-zeros. More... | |
| ghost_context_flags_t | flags |
| The context's property flags. More... | |
| double | weight |
| The weight of this context. More... | |
| ghost_mpi_comm | mpicomm |
| The context's MPI communicator. More... | |
| ghost_mpi_comm | mpicomm_parent |
| The context's parent MPI communicator. More... | |
| ghost_map * | row_map |
| The row map of this context. More... | |
| ghost_map * | col_map |
| The column map of this context. More... | |
| ghost_lidx * | wishes |
| Number of wishes (= unique RHS elements to get) from each rank. More... | |
| ghost_lidx ** | wishlist |
| Column idx of wishes from each rank. More... | |
| ghost_lidx * | dues |
| Number of dues (= unique RHS elements from myself) to each rank. More... | |
| ghost_lidx ** | duelist |
| Column indices of dues to each rank. More... | |
| ghost_lidx ** | cu_duelist |
| Column indices of dues to each rank (CUDA) More... | |
| ghost_lidx * | hput_pos |
| First index to get RHS elements coming from each rank. More... | |
| int * | duepartners |
| The list of ranks to which this rank has to send RHS vector elements in SpMV communcations. More... | |
| int | nduepartners |
| The number of ranks to which this rank has to send RHS vector elements in SpMV communication. More... | |
| int * | wishpartners |
| The list of ranks from which this rank has to receive RHS vector elements in SpMV communcations. More... | |
| int | nwishpartners |
| The number of ranks from which this rank has to receive RHS vector elements in SpMV communication. More... | |
| ghost_lidx * | entsInCol |
| Number of matrix entries in each local column. More... | |
| ghost_lidx | nChunkAvg |
| The number of chunks in avg_ptr. More... | |
| ghost_lidx * | avg_ptr |
| Compressed Pointer to the densematrix row indices where averaging has to be done (eg: used in densemat averaging) More... | |
| ghost_lidx | nElemAvg |
| The total elements to be averaged. More... | |
| ghost_lidx * | mapAvg |
| Map used to compress the pointer (eg: used in densemat averaging) More... | |
| ghost_lidx * | mappedDuelist |
| Mapped Duelist (eg: used in densemat averaging) More... | |
| int * | nrankspresent |
| no. of ranks present in column index corresponding to avg_ptr (only elements with halo entries are stored) (eg: used in densemat averaging) More... | |
| int | nmats |
| The number of matrices in this context. More... | |
| ghost_gidx | lowerBandwidth |
| The bandwidth of the lower triangular part of the matrix. More... | |
| ghost_gidx | upperBandwidth |
| The bandwidth of the upper triangular part of the matrix. More... | |
| ghost_gidx | bandwidth |
| The bandwidth of the matrix. More... | |
| ghost_gidx | maxColRange |
| The maximum column index in the matrix (Required for example if we permute the (local + remote) part of matrix. More... | |
| ghost_lidx | ncolors |
| The number of colors from distance-2 coloring. More... | |
| ghost_lidx * | color_ptr |
| The number of rows with each color (length: ncolors+1). More... | |
| ghost_lidx | nzones |
| The number of total zones (odd+even) More... | |
| ghost_lidx * | zone_ptr |
| Pointer to odd-even (Red-Black coloring) zones of a matrix (length: nzones+1) Ordering [even_begin_1 odd_begin_1 even_begin_2 odd_begin_2 ..... nrows]. More... | |
| ghost_kacz_setting | kacz_setting |
| details regarding kacz is stored here More... | |
| double | kaczRatio |
| Store the ratio between nrows and bandwidth. More... | |
The GHOST context.
The context is relevant in the MPI-parallel case. It holds information about data distribution and communication.
| ghost_lidx* ghost_context::avg_ptr |
Compressed Pointer to the densematrix row indices where averaging has to be done (eg: used in densemat averaging)
| ghost_gidx ghost_context::bandwidth |
The bandwidth of the matrix.
| ghost_map* ghost_context::col_map |
The column map of this context.
| ghost_lidx* ghost_context::color_ptr |
The number of rows with each color (length: ncolors+1).
| ghost_lidx** ghost_context::cu_duelist |
Column indices of dues to each rank (CUDA)
| ghost_lidx** ghost_context::duelist |
Column indices of dues to each rank.
| int* ghost_context::duepartners |
The list of ranks to which this rank has to send RHS vector elements in SpMV communcations.
Length: ghost_context::nduepartners
| ghost_lidx* ghost_context::dues |
Number of dues (= unique RHS elements from myself) to each rank.
| ghost_lidx* ghost_context::entsInCol |
Number of matrix entries in each local column.
| ghost_context_flags_t ghost_context::flags |
The context's property flags.
| ghost_gidx ghost_context::gnnz |
The global number of non-zeros.
| ghost_lidx* ghost_context::hput_pos |
First index to get RHS elements coming from each rank.
| ghost_kacz_setting ghost_context::kacz_setting |
details regarding kacz is stored here
| double ghost_context::kaczRatio |
Store the ratio between nrows and bandwidth.
| ghost_gidx ghost_context::lowerBandwidth |
The bandwidth of the lower triangular part of the matrix.
| ghost_lidx* ghost_context::mapAvg |
Map used to compress the pointer (eg: used in densemat averaging)
| ghost_lidx* ghost_context::mappedDuelist |
Mapped Duelist (eg: used in densemat averaging)
| ghost_gidx ghost_context::maxColRange |
The maximum column index in the matrix (Required for example if we permute the (local + remote) part of matrix.
| ghost_mpi_comm ghost_context::mpicomm |
The context's MPI communicator.
| ghost_mpi_comm ghost_context::mpicomm_parent |
The context's parent MPI communicator.
This is only used for two-level MPI parallelism and MPI_COMM_NULL otherwise.
| ghost_lidx ghost_context::nChunkAvg |
The number of chunks in avg_ptr.
| ghost_lidx ghost_context::ncolors |
The number of colors from distance-2 coloring.
| int ghost_context::nduepartners |
The number of ranks to which this rank has to send RHS vector elements in SpMV communication.
| ghost_lidx ghost_context::nElemAvg |
The total elements to be averaged.
| int ghost_context::nmats |
The number of matrices in this context.
This is used to destroy the context once the last matrix in this context gets destroyed.
| ghost_lidx ghost_context::nnz |
Local number of non-zeros.
| int* ghost_context::nrankspresent |
no. of ranks present in column index corresponding to avg_ptr (only elements with halo entries are stored) (eg: used in densemat averaging)
| int ghost_context::nwishpartners |
The number of ranks from which this rank has to receive RHS vector elements in SpMV communication.
| ghost_lidx ghost_context::nzones |
The number of total zones (odd+even)
| ghost_map* ghost_context::row_map |
The row map of this context.
| ghost_gidx ghost_context::upperBandwidth |
The bandwidth of the upper triangular part of the matrix.
| double ghost_context::weight |
The weight of this context.
The weight is used for work distribution between processes.
| ghost_lidx* ghost_context::wishes |
Number of wishes (= unique RHS elements to get) from each rank.
| ghost_lidx** ghost_context::wishlist |
Column idx of wishes from each rank.
| int* ghost_context::wishpartners |
The list of ranks from which this rank has to receive RHS vector elements in SpMV communcations.
Length: ghost_context::nwishpartners
| ghost_lidx* ghost_context::zone_ptr |
Pointer to odd-even (Red-Black coloring) zones of a matrix (length: nzones+1) Ordering [even_begin_1 odd_begin_1 even_begin_2 odd_begin_2 ..... nrows].
1.8.6