Compressed Sparse Blocks  1.2
 All Classes Files Functions Variables Typedefs Friends Macros Pages
Classes | Macros | Functions | Variables
friends.h File Reference
#include <iostream>
#include <algorithm>
#include "bicsb.h"
#include "bmcsb.h"
#include "bmsym.h"
#include "csbsym.h"
#include "utility.h"
#include "timer.gettimeofday.c"

Go to the source code of this file.

Classes

class  BiCsb< NT, IT >
 
class  BmCsb< NT, IT, TTDIM >
 

Macros

#define SPAWNS   1
 
#define NDIAGS   3
 

Functions

template<typename NT , typename IT , unsigned TTDIM>
void bmcsb_gespmv (const BmCsb< NT, IT, TTDIM > &A, const NT *__restrict x, NT *__restrict y)
 
template<typename SR , typename NT , typename IT , typename RHS , typename LHS >
void bicsb_gespmv (const BiCsb< NT, IT > &A, const RHS *__restrict x, LHS *__restrict y)
 
template<typename SR , typename NT , typename IT , typename RHS , typename LHS >
void bicsb_gespmvt (const BiCsb< NT, IT > &A, const RHS *__restrict x, LHS *__restrict y)
 
template<typename NT , typename IT >
void csbsym_gespmv (const CsbSym< NT, IT > &A, const NT *__restrict x, NT *__restrict y)
 
template<typename NT , typename IT , unsigned TTDIM>
void bmsym_gespmv (const BmSym< NT, IT, TTDIM > &A, const NT *__restrict x, NT *__restrict y)
 
template<class CSB >
float RowImbalance (const CSB &A)
 
template<class NT , class IT >
float ColImbalance (const BiCsb< NT, IT > &A)
 

Variables

double prescantime
 

Macro Definition Documentation

#define NDIAGS   3
#define SPAWNS   1

Function Documentation

template<typename SR , typename NT , typename IT , typename RHS , typename LHS >
void bicsb_gespmv ( const BiCsb< NT, IT > &  A,
const RHS *__restrict  x,
LHS *__restrict  y 
)

Operation y = A*x+y on a semiring SR A: a general CSB matrix (no specialization on booleans is necessary as this loop is independent of numerical values) x: a column vector or a set of column vectors (i.e. array of structs, array of std:arrays, etc)) SR::multiply() handles the multiple rhs and type promotions, etc.

Definition at line 113 of file friends.h.

template<typename SR , typename NT , typename IT , typename RHS , typename LHS >
void bicsb_gespmvt ( const BiCsb< NT, IT > &  A,
const RHS *__restrict  x,
LHS *__restrict  y 
)

Operation y = (A^t)*x+y a semiring SR A: a general CSB matrix (no specialization on booleans is necessary as this loop is independent of numerical values) x: a column vector or a set of column vectors (i.e. array of structs, array of std:arrays, etc)) SR::multiply() handles the multiple rhs and type promotions, etc.

Definition at line 184 of file friends.h.

template<typename NT , typename IT , unsigned TTDIM>
void bmcsb_gespmv ( const BmCsb< NT, IT, TTDIM > &  A,
const NT *__restrict  x,
NT *__restrict  y 
)

Definition at line 33 of file friends.h.

template<typename NT , typename IT , unsigned TTDIM>
void bmsym_gespmv ( const BmSym< NT, IT, TTDIM > &  A,
const NT *__restrict  x,
NT *__restrict  y 
)

Definition at line 349 of file friends.h.

template<class NT , class IT >
float ColImbalance ( const BiCsb< NT, IT > &  A)

Definition at line 414 of file friends.h.

template<typename NT , typename IT >
void csbsym_gespmv ( const CsbSym< NT, IT > &  A,
const NT *__restrict  x,
NT *__restrict  y 
)

Definition at line 281 of file friends.h.

template<class CSB >
float RowImbalance ( const CSB &  A)

Definition at line 400 of file friends.h.

Variable Documentation

double prescantime

Definition at line 19 of file friends.h.