|
SparseLibrary
Version 1.6.0
|
Shared data for RDBHilbert threads. More...
#include <RDBHilbert.hpp>
Public Member Functions | |
| RDB_shared_data () | |
| In case of ZXa or ZaX, a pointer to a collection of global input vectors. More... | |
| RDB_shared_data (size_t _id, size_t _P, std::vector< Triplet< double > > *_original, size_t *_nzb, pthread_mutex_t *_mutex, pthread_cond_t *_cond, pthread_mutex_t *_end_mutex, pthread_cond_t *_end_cond, size_t *_sync, size_t *_end_sync, size_t _ovsize, size_t _ovoffset, const T **const _in, T **const _out) | |
| Recommended constructor. | |
Public Attributes | |
| size_t | id |
| Process ID. More... | |
| size_t | P |
| Number of SPMD processes. More... | |
| unsigned char | mode |
| 0 undef, 1 init, 2 zax, 3 zxa, 4 exit, 5 reset, 6 ZaX, 7 ZXa. More... | |
| size_t | repeat |
| How many times to repeat the operation set in `mode' (above, only for 2, 3, 6 and 7) | |
| std::vector< Triplet< T > > * | original |
| How many SpMVs in a multiple-RHS computation (ZXa or ZaX). More... | |
| size_t * | nzb |
| Will store rowsums. | |
| double | time |
| Will store local timing. | |
| size_t | bytes |
| Will store the local amount of bytes used. | |
| size_t | fillIn |
| Will store the total fillIn at this thread. | |
| pthread_mutex_t * | mutex |
| Pointer to the sync mutex. More... | |
| pthread_cond_t * | cond |
| Pointer to the sync condition. More... | |
| pthread_mutex_t * | end_mutex |
| Pointer to the end mutex. More... | |
| pthread_cond_t * | end_cond |
| Pointer to the end condition. More... | |
| size_t * | sync |
| Sync counter. More... | |
| size_t * | end_sync |
| End counter. More... | |
| size_t | output_vector_size |
| Output vector length. More... | |
| size_t | output_vector_offset |
| Output vector offset (w.r.t. More... | |
| T * | local_y |
| Pointer to the local output vector. More... | |
| const T ** | input |
| Pointer to a global input vector. More... | |
| T ** | output |
| Pointer to a global output vector. More... | |
Shared data for RDBHilbert threads.
|
inline |
In case of ZXa or ZaX, a pointer to a collection of global input vectors.
In case of ZXa or ZaX, a pointer to a collection of output vectors. Pointer to a local output vector set (in case of ZXa or ZaX). Base constructor. Will initialise all to invalid values or NULL.
| pthread_cond_t* RDB_shared_data< T >::cond |
Pointer to the sync condition.
Referenced by RDBHilbert< T, MatrixType >::thread().
| pthread_cond_t* RDB_shared_data< T >::end_cond |
Pointer to the end condition.
Referenced by RDBHilbert< T, MatrixType >::thread().
| pthread_mutex_t* RDB_shared_data< T >::end_mutex |
Pointer to the end mutex.
Referenced by RDBHilbert< T, MatrixType >::thread().
| size_t* RDB_shared_data< T >::end_sync |
End counter.
Referenced by RDBHilbert< T, MatrixType >::thread().
| size_t RDB_shared_data< T >::id |
Process ID.
Referenced by RDBHilbert< T, MatrixType >::collectY(), and RDBHilbert< T, MatrixType >::thread().
| const T** RDB_shared_data< T >::input |
Pointer to a global input vector.
Referenced by RDBHilbert< T, MatrixType >::thread().
| T* RDB_shared_data< T >::local_y |
Pointer to the local output vector.
Referenced by RDBHilbert< T, MatrixType >::collectY(), and RDBHilbert< T, MatrixType >::thread().
| unsigned char RDB_shared_data< T >::mode |
0 undef, 1 init, 2 zax, 3 zxa, 4 exit, 5 reset, 6 ZaX, 7 ZXa.
Note that currently modes 6 and 7 are disabled!
Referenced by RDBHilbert< T, MatrixType >::thread().
| pthread_mutex_t* RDB_shared_data< T >::mutex |
Pointer to the sync mutex.
Referenced by RDBHilbert< T, MatrixType >::thread().
| std::vector< Triplet< T > >* RDB_shared_data< T >::original |
How many SpMVs in a multiple-RHS computation (ZXa or ZaX).
Pointer to the original input (for distributed input parsing).
Referenced by RDBHilbert< T, MatrixType >::thread().
| T** RDB_shared_data< T >::output |
Pointer to a global output vector.
Referenced by RDBHilbert< T, MatrixType >::collectY(), and RDBHilbert< T, MatrixType >::thread().
| size_t RDB_shared_data< T >::output_vector_offset |
Output vector offset (w.r.t.
global indices).
Referenced by RDBHilbert< T, MatrixType >::collectY(), and RDBHilbert< T, MatrixType >::thread().
| size_t RDB_shared_data< T >::output_vector_size |
Output vector length.
Referenced by RDBHilbert< T, MatrixType >::collectY(), and RDBHilbert< T, MatrixType >::thread().
| size_t RDB_shared_data< T >::P |
Number of SPMD processes.
Referenced by RDBHilbert< T, MatrixType >::thread().
| size_t* RDB_shared_data< T >::sync |
Sync counter.
Referenced by RDBHilbert< T, MatrixType >::thread().
1.8.7