COMBINATORIAL_BLAS  1.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Member Functions | Friends | List of all members
FullyDistVec< IU, NU > Class Template Reference

#include <FullyDistSpVec.h>

Inheritance diagram for FullyDistVec< IU, NU >:
FullyDist< IT, NT, CombBLAS::disable_if< CombBLAS::is_boolean< NT >::value, NT >::type >

Classes

class  retTrue
 
class  ScalarReadSaveHandler
 

Public Member Functions

 FullyDistVec ()
 
 FullyDistVec (IT globallen, NT initval)
 
 FullyDistVec (shared_ptr< CommGrid > grid)
 
 FullyDistVec (shared_ptr< CommGrid > grid, IT globallen, NT initval)
 
 FullyDistVec (const FullyDistSpVec< IT, NT > &rhs)
 
 FullyDistVec (const DenseParVec< IT, NT > &rhs)
 DenseParVec->FullyDistVec conversion operator. More...
 
 FullyDistVec (const vector< NT > &fillarr, shared_ptr< CommGrid > grid)
 
template<class ITRHS , class NTRHS >
 FullyDistVec (const FullyDistVec< ITRHS, NTRHS > &rhs)
 
template<class HANDLER >
ifstream & ReadDistribute (ifstream &infile, int master, HANDLER handler)
 
ifstream & ReadDistribute (ifstream &infile, int master)
 
template<class HANDLER >
void SaveGathered (ofstream &outfile, int master, HANDLER handler, bool printProcSplits=false)
 
void SaveGathered (ofstream &outfile, int master)
 
template<class ITRHS , class NTRHS >
FullyDistVec< IT, NT > & operator= (const FullyDistVec< ITRHS, NTRHS > &rhs)
 
FullyDistVec< IT, NT > & operator= (const FullyDistVec< IT, NT > &rhs)
 Actual assignment operator. More...
 
FullyDistVec< IT, NT > & operator= (const FullyDistSpVec< IT, NT > &rhs)
 FullyDistSpVec->FullyDistVec conversion operator. More...
 
FullyDistVec< IT, NT > & operator= (const DenseParVec< IT, NT > &rhs)
 DenseParVec->FullyDistVec conversion operator. More...
 
FullyDistVec< IT, NT > & operator= (NT fixedval)
 
FullyDistVec< IT, NT > operator() (const FullyDistVec< IT, IT > &ri) const
 
FullyDistVec< IT, NT > & stealFrom (FullyDistVec< IT, NT > &victim)
 
FullyDistVec< IT, NT > & operator+= (const FullyDistSpVec< IT, NT > &rhs)
 
FullyDistVec< IT, NT > & operator+= (const FullyDistVec< IT, NT > &rhs)
 
FullyDistVec< IT, NT > & operator-= (const FullyDistSpVec< IT, NT > &rhs)
 
FullyDistVec< IT, NT > & operator-= (const FullyDistVec< IT, NT > &rhs)
 
bool operator== (const FullyDistVec< IT, NT > &rhs) const
 
void SetElement (IT indx, NT numx)
 
void SetLocalElement (IT index, NT value)
 
NT GetElement (IT indx) const
 
NT operator[] (IT indx) const
 
void Set (const FullyDistSpVec< IT, NT > &rhs)
 
template<class NT1 , typename _BinaryOperationIdx , typename _BinaryOperationVal >
void GSet (const FullyDistSpVec< IT, NT1 > &spVec, _BinaryOperationIdx __binopIdx, _BinaryOperationVal __binopVal, MPI_Win win)
 
template<class NT1 , typename _BinaryOperationIdx >
FullyDistSpVec< IT, NT > GGet (const FullyDistSpVec< IT, NT1 > &spVec, _BinaryOperationIdx __binopIdx, NT nullValue)
 
void iota (IT globalsize, NT first)
 
void RandPerm ()
 
FullyDistVec< IT, IT > sort ()
 
IT LocArrSize () const
 
template<typename _Predicate >
FullyDistSpVec< IT, NT > Find (_Predicate pred) const
 Return the elements for which pred is true. More...
 
FullyDistSpVec< IT, NT > Find (NT val) const
 Return the elements val is found. More...
 
template<typename _Predicate >
FullyDistVec< IT, IT > FindInds (_Predicate pred) const
 Return the indices where pred is true. More...
 
template<typename _Predicate >
IT Count (_Predicate pred) const
 Return the number of elements for which pred is true. More...
 
template<typename _UnaryOperation >
void Apply (_UnaryOperation __unary_op)
 
template<typename _BinaryOperation >
void ApplyInd (_BinaryOperation __binary_op)
 
template<typename _UnaryOperation , typename IRRELEVANT_NT >
void Apply (_UnaryOperation __unary_op, const FullyDistSpVec< IT, IRRELEVANT_NT > &mask)
 
template<typename _BinaryOperation , typename _BinaryPredicate , class NT2 >
void EWiseApply (const FullyDistVec< IT, NT2 > &other, _BinaryOperation __binary_op, _BinaryPredicate _do_op, const bool useExtendedBinOp)
 
template<typename _BinaryOperation , typename _BinaryPredicate , class NT2 >
void EWiseApply (const FullyDistSpVec< IT, NT2 > &other, _BinaryOperation __binary_op, _BinaryPredicate _do_op, bool applyNulls, NT2 nullValue, const bool useExtendedBinOp)
 
template<typename _BinaryOperation , typename _BinaryPredicate , class NT2 >
void EWiseApply (const FullyDistVec< IT, NT2 > &other, _BinaryOperation __binary_op, _BinaryPredicate _do_op)
 
template<typename _BinaryOperation , typename _BinaryPredicate , class NT2 >
void EWiseApply (const FullyDistSpVec< IT, NT2 > &other, _BinaryOperation __binary_op, _BinaryPredicate _do_op, bool applyNulls, NT2 nullValue)
 
template<typename _BinaryOperation , class NT2 >
void EWiseApply (const FullyDistVec< IT, NT2 > &other, _BinaryOperation __binary_op)
 
template<typename _BinaryOperation , class NT2 >
void EWiseApply (const FullyDistSpVec< IT, NT2 > &other, _BinaryOperation __binary_op, bool applyNulls, NT2 nullValue)
 
void PrintToFile (string prefix)
 
void PrintInfo (string vectorname) const
 
void DebugPrint ()
 
shared_ptr< CommGridgetcommgrid () const
 
pair< IT, NT > MinElement () const
 
template<typename _BinaryOperation >
NT Reduce (_BinaryOperation __binary_op, NT identity) const
 
template<typename OUT , typename _BinaryOperation , typename _UnaryOperation >
OUT Reduce (_BinaryOperation __binary_op, OUT default_val, _UnaryOperation __unary_op) const
 Reduce can be used to implement max_element, for instance. More...
 
void SelectCandidates (double nver)
 

Friends

template<class IU , class NU >
class DenseParMat
 
template<class IU , class NU , class UDER >
class SpParMat
 
template<class IU , class NU >
class FullyDistVec
 
template<class IU , class NU >
class FullyDistSpVec
 
template<class IU , class NU >
class DenseVectorLocalIterator
 
template<typename SR , typename IU , typename NUM , typename NUV , typename UDER >
FullyDistVec< IU, typename
promote_trait< NUM, NUV >
::T_promote > 
SpMV (const SpParMat< IU, NUM, UDER > &A, const FullyDistVec< IU, NUV > &x)
 
template<typename IU , typename NU1 , typename NU2 >
FullyDistSpVec< IU, typename
promote_trait< NU1, NU2 >
::T_promote > 
EWiseMult (const FullyDistSpVec< IU, NU1 > &V, const FullyDistVec< IU, NU2 > &W, bool exclude, NU2 zero)
 
template<typename IU , typename NU1 , typename NU2 , typename _BinaryOperation >
FullyDistSpVec< IU, typename
promote_trait< NU1, NU2 >
::T_promote > 
EWiseApply (const FullyDistSpVec< IU, NU1 > &V, const FullyDistVec< IU, NU2 > &W, _BinaryOperation _binary_op, typename promote_trait< NU1, NU2 >::T_promote zero)
 
template<typename RET , typename IU , typename NU1 , typename NU2 , typename _BinaryOperation , typename _BinaryPredicate >
FullyDistSpVec< IU, RET > EWiseApply (const FullyDistSpVec< IU, NU1 > &V, const FullyDistVec< IU, NU2 > &W, _BinaryOperation _binary_op, _BinaryPredicate _doOp, bool allowVNulls, NU1 Vzero, const bool useExtendedBinOp)
 
template<typename RET , typename IU , typename NU1 , typename NU2 , typename _BinaryOperation , typename _BinaryPredicate >
FullyDistSpVec< IU, RET > EWiseApply_threaded (const FullyDistSpVec< IU, NU1 > &V, const FullyDistVec< IU, NU2 > &W, _BinaryOperation _binary_op, _BinaryPredicate _doOp, bool allowVNulls, NU1 Vzero, const bool useExtendedBinOp)
 
template<typename IU >
void RenameVertices (DistEdgeList< IU > &DEL)
 
template<typename IU , typename NU >
FullyDistVec< IU, NU > Concatenate (vector< FullyDistVec< IU, NU > > &vecs)
 
template<typename IU , typename NU >
void Augment (FullyDistVec< int64_t, int64_t > &mateRow2Col, FullyDistVec< int64_t, int64_t > &mateCol2Row, FullyDistVec< int64_t, int64_t > &parentsRow, FullyDistVec< int64_t, int64_t > &leaves)
 
template<class IU , class DER >
SpParMat< IU, bool, DER > PermMat (const FullyDistVec< IU, IU > &ri, const IU ncol)
 
void maximumMatching (SpParMat< int64_t, bool, SpDCCols< int32_t, bool > > &A, FullyDistVec< int64_t, int64_t > &mateRow2Col, FullyDistVec< int64_t, int64_t > &mateCol2Row)
 

Detailed Description

template<class IU, class NU>
class FullyDistVec< IU, NU >

Definition at line 50 of file FullyDistSpVec.h.

Constructor & Destructor Documentation

template<class IU, class NU>
FullyDistVec< IU, NU >::FullyDistVec ( )
template<class IU, class NU>
FullyDistVec< IU, NU >::FullyDistVec ( IT  globallen,
NT  initval 
)
template<class IU, class NU>
FullyDistVec< IU, NU >::FullyDistVec ( shared_ptr< CommGrid grid)
template<class IU, class NU>
FullyDistVec< IU, NU >::FullyDistVec ( shared_ptr< CommGrid grid,
IT  globallen,
NT  initval 
)
template<class IU, class NU>
FullyDistVec< IU, NU >::FullyDistVec ( const FullyDistSpVec< IT, NT > &  rhs)
template<class IU, class NU>
FullyDistVec< IU, NU >::FullyDistVec ( const DenseParVec< IT, NT > &  rhs)

DenseParVec->FullyDistVec conversion operator.

template<class IU, class NU>
FullyDistVec< IU, NU >::FullyDistVec ( const vector< NT > &  fillarr,
shared_ptr< CommGrid grid 
)
template<class IU, class NU>
template<class ITRHS , class NTRHS >
FullyDistVec< IU, NU >::FullyDistVec ( const FullyDistVec< ITRHS, NTRHS > &  rhs)

Member Function Documentation

template<class IU, class NU>
template<typename _UnaryOperation >
void FullyDistVec< IU, NU >::Apply ( _UnaryOperation  __unary_op)
inline

Definition at line 163 of file FullyDistVec.h.

template<class IU, class NU>
template<typename _UnaryOperation , typename IRRELEVANT_NT >
void FullyDistVec< IU, NU >::Apply ( _UnaryOperation  __unary_op,
const FullyDistSpVec< IT, IRRELEVANT_NT > &  mask 
)
template<class IU, class NU>
template<typename _BinaryOperation >
void FullyDistVec< IU, NU >::ApplyInd ( _BinaryOperation  __binary_op)
inline

Definition at line 169 of file FullyDistVec.h.

template<class IU, class NU>
template<typename _Predicate >
IT FullyDistVec< IU, NU >::Count ( _Predicate  pred) const

Return the number of elements for which pred is true.

template<class IU, class NU>
void FullyDistVec< IU, NU >::DebugPrint ( )
template<class IU, class NU>
template<typename _BinaryOperation , typename _BinaryPredicate , class NT2 >
void FullyDistVec< IU, NU >::EWiseApply ( const FullyDistVec< IT, NT2 > &  other,
_BinaryOperation  __binary_op,
_BinaryPredicate  _do_op,
const bool  useExtendedBinOp 
)
template<class IU, class NU>
template<typename _BinaryOperation , typename _BinaryPredicate , class NT2 >
void FullyDistVec< IU, NU >::EWiseApply ( const FullyDistSpVec< IT, NT2 > &  other,
_BinaryOperation  __binary_op,
_BinaryPredicate  _do_op,
bool  applyNulls,
NT2  nullValue,
const bool  useExtendedBinOp 
)
template<class IU, class NU>
template<typename _BinaryOperation , typename _BinaryPredicate , class NT2 >
void FullyDistVec< IU, NU >::EWiseApply ( const FullyDistVec< IT, NT2 > &  other,
_BinaryOperation  __binary_op,
_BinaryPredicate  _do_op 
)
inline

Definition at line 190 of file FullyDistVec.h.

template<class IU, class NU>
template<typename _BinaryOperation , typename _BinaryPredicate , class NT2 >
void FullyDistVec< IU, NU >::EWiseApply ( const FullyDistSpVec< IT, NT2 > &  other,
_BinaryOperation  __binary_op,
_BinaryPredicate  _do_op,
bool  applyNulls,
NT2  nullValue 
)
inline

Definition at line 198 of file FullyDistVec.h.

template<class IU, class NU>
template<typename _BinaryOperation , class NT2 >
void FullyDistVec< IU, NU >::EWiseApply ( const FullyDistVec< IT, NT2 > &  other,
_BinaryOperation  __binary_op 
)
inline

Definition at line 217 of file FullyDistVec.h.

template<class IU, class NU>
template<typename _BinaryOperation , class NT2 >
void FullyDistVec< IU, NU >::EWiseApply ( const FullyDistSpVec< IT, NT2 > &  other,
_BinaryOperation  __binary_op,
bool  applyNulls,
NT2  nullValue 
)
inline

Definition at line 222 of file FullyDistVec.h.

template<class IU, class NU>
template<typename _Predicate >
FullyDistSpVec<IT,NT> FullyDistVec< IU, NU >::Find ( _Predicate  pred) const

Return the elements for which pred is true.

template<class IU, class NU>
FullyDistSpVec<IT,NT> FullyDistVec< IU, NU >::Find ( NT  val) const

Return the elements val is found.

template<class IU, class NU>
template<typename _Predicate >
FullyDistVec<IT,IT> FullyDistVec< IU, NU >::FindInds ( _Predicate  pred) const

Return the indices where pred is true.

template<class IU, class NU>
shared_ptr<CommGrid> FullyDistVec< IU, NU >::getcommgrid ( ) const
inline

Definition at line 238 of file FullyDistVec.h.

template<class IU, class NU>
NT FullyDistVec< IU, NU >::GetElement ( IT  indx) const
template<class IU, class NU>
template<class NT1 , typename _BinaryOperationIdx >
FullyDistSpVec<IT,NT> FullyDistVec< IU, NU >::GGet ( const FullyDistSpVec< IT, NT1 > &  spVec,
_BinaryOperationIdx  __binopIdx,
NT  nullValue 
)
template<class IU, class NU>
template<class NT1 , typename _BinaryOperationIdx , typename _BinaryOperationVal >
void FullyDistVec< IU, NU >::GSet ( const FullyDistSpVec< IT, NT1 > &  spVec,
_BinaryOperationIdx  __binopIdx,
_BinaryOperationVal  __binopVal,
MPI_Win  win 
)
template<class IU, class NU>
void FullyDistVec< IU, NU >::iota ( IT  globalsize,
NT  first 
)
template<class IU, class NU>
IT FullyDistVec< IU, NU >::LocArrSize ( ) const
inline

Definition at line 149 of file FullyDistVec.h.

template<class IU, class NU>
pair<IT, NT> FullyDistVec< IU, NU >::MinElement ( ) const
template<class IU, class NU>
FullyDistVec<IT,NT> FullyDistVec< IU, NU >::operator() ( const FullyDistVec< IT, IT > &  ri) const
template<class IU, class NU>
FullyDistVec<IT,NT>& FullyDistVec< IU, NU >::operator+= ( const FullyDistSpVec< IT, NT > &  rhs)
template<class IU, class NU>
FullyDistVec<IT,NT>& FullyDistVec< IU, NU >::operator+= ( const FullyDistVec< IT, NT > &  rhs)
template<class IU, class NU>
FullyDistVec<IT,NT>& FullyDistVec< IU, NU >::operator-= ( const FullyDistSpVec< IT, NT > &  rhs)
template<class IU, class NU>
FullyDistVec<IT,NT>& FullyDistVec< IU, NU >::operator-= ( const FullyDistVec< IT, NT > &  rhs)
template<class IU, class NU>
template<class ITRHS , class NTRHS >
FullyDistVec<IT,NT>& FullyDistVec< IU, NU >::operator= ( const FullyDistVec< ITRHS, NTRHS > &  rhs)
template<class IU, class NU>
FullyDistVec<IT,NT>& FullyDistVec< IU, NU >::operator= ( const FullyDistVec< IT, NT > &  rhs)

Actual assignment operator.

template<class IU, class NU>
FullyDistVec<IT,NT>& FullyDistVec< IU, NU >::operator= ( const FullyDistSpVec< IT, NT > &  rhs)

FullyDistSpVec->FullyDistVec conversion operator.

template<class IU, class NU>
FullyDistVec<IT,NT>& FullyDistVec< IU, NU >::operator= ( const DenseParVec< IT, NT > &  rhs)

DenseParVec->FullyDistVec conversion operator.

template<class IU, class NU>
FullyDistVec<IT,NT>& FullyDistVec< IU, NU >::operator= ( NT  fixedval)
inline

Definition at line 107 of file FullyDistVec.h.

template<class IU, class NU>
bool FullyDistVec< IU, NU >::operator== ( const FullyDistVec< IT, NT > &  rhs) const
template<class IU, class NU>
NT FullyDistVec< IU, NU >::operator[] ( IT  indx) const
inline

Definition at line 130 of file FullyDistVec.h.

template<class IU, class NU>
void FullyDistVec< IU, NU >::PrintInfo ( string  vectorname) const
template<class IU, class NU>
void FullyDistVec< IU, NU >::PrintToFile ( string  prefix)
inline

Definition at line 227 of file FullyDistVec.h.

template<class IU, class NU>
void FullyDistVec< IU, NU >::RandPerm ( )
template<class IU, class NU>
template<class HANDLER >
ifstream& FullyDistVec< IU, NU >::ReadDistribute ( ifstream &  infile,
int  master,
HANDLER  handler 
)
template<class IU, class NU>
ifstream& FullyDistVec< IU, NU >::ReadDistribute ( ifstream &  infile,
int  master 
)
inline

Definition at line 94 of file FullyDistVec.h.

template<class IU, class NU>
template<typename _BinaryOperation >
NT FullyDistVec< IU, NU >::Reduce ( _BinaryOperation  __binary_op,
NT  identity 
) const
template<class IU, class NU>
template<typename OUT , typename _BinaryOperation , typename _UnaryOperation >
OUT FullyDistVec< IU, NU >::Reduce ( _BinaryOperation  __binary_op,
OUT  default_val,
_UnaryOperation  __unary_op 
) const

Reduce can be used to implement max_element, for instance.

template<class IU, class NU>
template<class HANDLER >
void FullyDistVec< IU, NU >::SaveGathered ( ofstream &  outfile,
int  master,
HANDLER  handler,
bool  printProcSplits = false 
)
template<class IU, class NU>
void FullyDistVec< IU, NU >::SaveGathered ( ofstream &  outfile,
int  master 
)
inline

Definition at line 98 of file FullyDistVec.h.

template<class IU, class NU>
void FullyDistVec< IU, NU >::SelectCandidates ( double  nver)
template<class IU, class NU>
void FullyDistVec< IU, NU >::Set ( const FullyDistSpVec< IT, NT > &  rhs)
template<class IU, class NU>
void FullyDistVec< IU, NU >::SetElement ( IT  indx,
NT  numx 
)
template<class IU, class NU>
void FullyDistVec< IU, NU >::SetLocalElement ( IT  index,
NT  value 
)
inline

Definition at line 128 of file FullyDistVec.h.

template<class IU, class NU>
FullyDistVec<IT,IT> FullyDistVec< IU, NU >::sort ( )
template<class IU, class NU>
FullyDistVec<IT,NT>& FullyDistVec< IU, NU >::stealFrom ( FullyDistVec< IT, NT > &  victim)

like operator=, but instead of making a deep copy it just steals the contents. Useful for places where the "victim" will be distroyed immediately after the call.

Friends And Related Function Documentation

template<class IU, class NU>
template<typename IU , typename NU >
void Augment ( FullyDistVec< int64_t, int64_t > &  mateRow2Col,
FullyDistVec< int64_t, int64_t > &  mateCol2Row,
FullyDistVec< int64_t, int64_t > &  parentsRow,
FullyDistVec< int64_t, int64_t > &  leaves 
)
friend

Definition at line 828 of file BPMaximumMatching.cpp.

template<class IU, class NU>
template<typename IU , typename NU >
FullyDistVec<IU,NU> Concatenate ( vector< FullyDistVec< IU, NU > > &  vecs)
friend
template<class IU, class NU>
template<class IU , class NU >
friend class DenseParMat
friend

Definition at line 261 of file FullyDistVec.h.

template<class IU, class NU>
template<class IU , class NU >
friend class DenseVectorLocalIterator
friend

Definition at line 273 of file FullyDistVec.h.

template<class IU, class NU>
template<typename IU , typename NU1 , typename NU2 , typename _BinaryOperation >
FullyDistSpVec<IU,typename promote_trait<NU1,NU2>::T_promote> EWiseApply ( const FullyDistSpVec< IU, NU1 > &  V,
const FullyDistVec< IU, NU2 > &  W,
_BinaryOperation  _binary_op,
typename promote_trait< NU1, NU2 >::T_promote  zero 
)
friend
template<class IU, class NU>
template<typename RET , typename IU , typename NU1 , typename NU2 , typename _BinaryOperation , typename _BinaryPredicate >
FullyDistSpVec<IU,RET> EWiseApply ( const FullyDistSpVec< IU, NU1 > &  V,
const FullyDistVec< IU, NU2 > &  W,
_BinaryOperation  _binary_op,
_BinaryPredicate  _doOp,
bool  allowVNulls,
NU1  Vzero,
const bool  useExtendedBinOp 
)
friend

Performs an arbitrary binary operation _binary_op on the corresponding elements of two vectors with the result stored in a return vector ret. The binary operatiation is only performed if the binary predicate _doOp returns true for those elements. Otherwise the binary operation is not performed and ret does not contain an element at that position. More formally the operation is defined as: if (_doOp(V[i], W[i])) ret[i] = _binary_op(V[i], W[i]) else // ret[i] is not set Hence _doOp can be used to implement a filter on either of the vectors.

The above is only defined if both V[i] and W[i] exist (i.e. an intersection). To allow a union operation (ex. when V[i] doesn't exist but W[i] does) the allowVNulls flag is set to true and the Vzero argument is used as the missing V[i] value.

The type of each element of ret must not necessarily be related to the types of V or W, so the return type must be explicitly specified as a template parameter: FullyDistSpVec<int, double> r = EWiseApply<double>(V, W, plus, retTrue, false, 0)

Definition at line 1458 of file ParFriends.h.

template<class IU, class NU>
template<typename RET , typename IU , typename NU1 , typename NU2 , typename _BinaryOperation , typename _BinaryPredicate >
FullyDistSpVec<IU,RET> EWiseApply_threaded ( const FullyDistSpVec< IU, NU1 > &  V,
const FullyDistVec< IU, NU2 > &  W,
_BinaryOperation  _binary_op,
_BinaryPredicate  _doOp,
bool  allowVNulls,
NU1  Vzero,
const bool  useExtendedBinOp 
)
friend

Threaded EWiseApply

Definition at line 1324 of file ParFriends.h.

template<class IU, class NU>
template<typename IU , typename NU1 , typename NU2 >
FullyDistSpVec<IU,typename promote_trait<NU1,NU2>::T_promote> EWiseMult ( const FullyDistSpVec< IU, NU1 > &  V,
const FullyDistVec< IU, NU2 > &  W,
bool  exclude,
NU2  zero 
)
friend

if exclude is true, then we prune all entries W[i] != zero from V if exclude is false, then we perform a proper elementwise multiplication

Definition at line 1235 of file ParFriends.h.

template<class IU, class NU>
template<class IU , class NU >
friend class FullyDistSpVec
friend

Definition at line 270 of file FullyDistVec.h.

template<class IU, class NU>
template<class IU , class NU >
friend class FullyDistVec
friend

Definition at line 267 of file FullyDistVec.h.

template<class IU, class NU>
void maximumMatching ( SpParMat< int64_t, bool, SpDCCols< int32_t, bool > > &  A,
FullyDistVec< int64_t, int64_t > &  mateRow2Col,
FullyDistVec< int64_t, int64_t > &  mateCol2Row 
)
friend
template<class IU, class NU>
template<class IU , class DER >
SpParMat<IU, bool, DER> PermMat ( const FullyDistVec< IU, IU > &  ri,
const IU  ncol 
)
friend
template<class IU, class NU>
template<typename IU >
void RenameVertices ( DistEdgeList< IU > &  DEL)
friend

Rename vertices globally. You first need to do create a random permutation distributed on all processors. Then the p round robin algorithm will do the renaming: For all processors P(i,i) Broadcast local_p to all p processors For j= i*N/p to min((i+1)*N/p, N) Rename the all j's with local_p(j) inside the edgelist (and mark them "renamed" so that yeach vertex id is renamed only once)

Definition at line 363 of file DistEdgeList.cpp.

template<class IU, class NU>
template<typename SR , typename IU , typename NUM , typename NUV , typename UDER >
FullyDistVec<IU,typename promote_trait<NUM,NUV>::T_promote> SpMV ( const SpParMat< IU, NUM, UDER > &  A,
const FullyDistVec< IU, NUV > &  x 
)
friend

Parallel dense SpMV

Definition at line 892 of file ParFriends.h.

template<class IU, class NU>
template<class IU , class NU , class UDER >
friend class SpParMat
friend

Definition at line 264 of file FullyDistVec.h.


The documentation for this class was generated from the following files: