swSim  Version 1.0
All Classes Namespaces Files Functions Variables Typedefs Macros
Public Member Functions | Public Attributes | List of all members
swSim::DenseVector Class Reference

Defines data structures for providing dense vectors to KernelComposer. More...

#include "include/DenseVector.hpp"

Inheritance diagram for swSim::DenseVector:

Public Member Functions

 DenseVector ()
 Create the DenseVector. More...
 
 DenseVector (std::string nm, int length)
 Create the DenseVector with a length and name. More...
 
 ~DenseVector ()
 Destroy the DenseVector. More...
 
void setName (std::string nm)
 Set the name of the DenseVector. More...
 
void setVector (std::vector< double > v)
 Make a created vector the underlying vector. More...
 
void setVector (double *v, int length)
 Make a created array the underlying vector. More...
 
std::string getName () const
 Get Key-Name for this vector. More...
 
double * getValueArray ()
 Get pointer to head of value array. More...
 
size_t getArrayLength () const
 Get length of value array. More...
 
DenseVectorError_t sendrecv_MPI ()
 Execute halo exchange for this data. More...
 
DenseVectorError_t sendrecv_MPI (double *DnV_d)
 Execute halo exchange for this data using cuda-aware MPI. More...
 
void configureSegmentedComms (swSim::Segmentation &seg)
 Set the Segmentation. More...
 
void mpiComm (MPI_Comm comm)
 Set the MPI Communicator. More...
 

Public Attributes

std::vector< double > vec
 Underlying Vector. More...
 
swSim::Segmentationseg
 Segmentation definition fo the vector. More...
 

Detailed Description

Defines data structures for providing dense vectors to KernelComposer.

Constructor & Destructor Documentation

◆ DenseVector() [1/2]

swSim::DenseVector::DenseVector ( )

Create the DenseVector.

◆ DenseVector() [2/2]

swSim::DenseVector::DenseVector ( std::string  nm,
int  length 
)

Create the DenseVector with a length and name.

◆ ~DenseVector()

swSim::DenseVector::~DenseVector ( )

Destroy the DenseVector.

Member Function Documentation

◆ setName()

void swSim::DenseVector::setName ( std::string  nm)

Set the name of the DenseVector.

◆ setVector() [1/2]

void swSim::DenseVector::setVector ( std::vector< double >  v)

Make a created vector the underlying vector.

◆ setVector() [2/2]

void swSim::DenseVector::setVector ( double *  v,
int  length 
)

Make a created array the underlying vector.

◆ getName()

std::string swSim::DenseVector::getName ( ) const

Get Key-Name for this vector.

◆ getValueArray()

double * swSim::DenseVector::getValueArray ( )

Get pointer to head of value array.

◆ getArrayLength()

size_t swSim::DenseVector::getArrayLength ( ) const

Get length of value array.

◆ sendrecv_MPI() [1/2]

swSim::DenseVectorError_t swSim::DenseVector::sendrecv_MPI ( )

Execute halo exchange for this data.

◆ sendrecv_MPI() [2/2]

swSim::DenseVectorError_t swSim::DenseVector::sendrecv_MPI ( double *  DnV_d)

Execute halo exchange for this data using cuda-aware MPI.

◆ configureSegmentedComms()

void swSim::DenseVector::configureSegmentedComms ( swSim::Segmentation seg)

Set the Segmentation.

◆ mpiComm()

void swSim::DenseVector::mpiComm ( MPI_Comm  comm)

Set the MPI Communicator.

Member Data Documentation

◆ vec

std::vector<double> swSim::DenseVector::vec

Underlying Vector.

◆ seg

swSim::Segmentation* swSim::DenseVector::seg

Segmentation definition fo the vector.


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