BeBOP: pOSKI  v1.0.0
parallel Optimized Sparse Kernel Interface library
 All Files Functions Variables
Functions
poski_Partition_OneD.c File Reference

Handle One dimensional partitioning model. More...

#include <stdio.h>
#include <stdlib.h>
#include <poski/poski_partitioncommon.h>
#include <poski/poski_threadcommon.h>
#include <poski/poski_vectorcommon.h>
#include <poski/poski_matrixcommon.h>
#include <poski/poski_malloc.h>
#include <poski/poski_print.h>

Functions

poski_partitionmat_t * poski_PartitionMatCSR_OneD (poski_int_t npartitions, poski_index_t nrows, poski_index_t ncols, poski_index_t nnz, poski_index_t *Aptr)
 [library's internal use] Create a partition-matrix object using one dimensional partitioning model.
poski_sparse_matrix_t * poski_CreateSubMatCSR_OneD (poski_partitionmat_t *partitionmat, poski_index_t *Aptr, poski_index_t *Aind, poski_value_t *Aval, poski_index_t Anrows, poski_index_t Ancols, poski_index_t Annz, poski_copymode_t mode)
 [library's internal use] Create a submatrix object.
void * PartitionMat_PthreadOneD (void *poski_thread)
 [library's internal use] Operate one dimensional partitioning for a matrix in a single thread for Pthread model.
void PartitionMat_OpenmpOneD (void *poski_thread)
 [library's internal use] Operate one dimensional partitioning for a matrix in a single thread for OpenMP model.
int poski_Set_pthreadarg (poski_thread_t *thread, int tid, int num_partitions, poski_copymode_t mode, int k, poski_inmatprop_t *in_props, poski_mat_t A, poski_partitionmat_t *partitionmat, poski_submat_t *submat)
 [library's internal use]
poski_submat_t * poski_PartitionMat_PthreadOneD (poski_mat_t A, poski_copymode_t mode, int k, poski_inmatprop_t *in_props)
 [library's internal use] Create a submatrix object using one dimensional partitioning model for Pthread model.
poski_submat_t * poski_PartitionMat_OpenmpOneD (poski_mat_t A, poski_copymode_t mode, int k, poski_inmatprop_t *in_props)
 [library's internal use] Create a submatrix object using one dimensional partitioning model for OpenMP model.
poski_subvec_t * poski_PartitionVec_PthreadOneDMatMultNormalInput (poski_value_t *vec, poski_index_t length, poski_index_t inc, poski_mat_t A)
 [library's internal use] Create a subvector object based on a tunable matrix object for input vector.
poski_subvec_t * poski_PartitionVec_PthreadOneDMatMultNormalOutput (poski_value_t *vec, poski_index_t length, poski_index_t inc, poski_mat_t A)
 [library's internal use] Create a subvector object based on a tunable matrix object for output vector.

Detailed Description

Handle One dimensional partitioning model.

This module implments the routines to handle One dimensional partitioning model.

Attention:
Called by poski_PartitionHandler.c

Also, refer