LAMA
lama Namespace Reference

The namespace lama holds everything of the C++ Library lama. More...

Namespaces

namespace  File
 

Define an own namespace for enumeration types.


namespace  LoggerWriteBehaviour
 

Contains an enumeration which identifies whether a logger logs its messages to the console only or to a file and the console.


namespace  LogLevel
 

Contains the logLevels for different loggers.


Data Structures

class  BaseAccess
 Base class for all kind of access classes; accesses must always provide a release method. More...
class  CommunicationPlan
 A communication plan describes a schedule of data to send or data to receive from other processors. More...
class  Communicator
 Base and interface class for communicators used in LAMA. More...
class  CommunicatorFactory
 Singleton class for an object that provides communicators of a certain type. More...
class  CommunicatorManager
 Base class for a communicator manager. More...
class  Context
 This class is a common base class for all possible contexts. More...
class  ContextAccess
 This class is used for accessing a Context to enable computations on it. More...
class  ContextFactory
 Singleton class that provides (shared) pointers to a context. More...
class  ContextManager
 Base class for manager of context objects. More...
class  CUDABLAS1
class  CUDABLAS2
class  CUDABLAS3
class  CUDAContext
 CUDAContext initializes the CUDA device with the given number. More...
class  CUDAContextManager
class  CUDACOOUtils
 This class provides CUDA parallelized routines needed for COO format. More...
class  CUDACSRUtils
class  CUDADIAUtils
 This class provides CUDA parallelized routines needed for DIA format. More...
class  CUDAELLUtils
 This class provides routines to converse ELL storage data to CSR storage data and vice versa. More...
class  CUDAException
class  CUDAHostContext
 Alternative context to DefaultHostContext so that memory will be allocated on pinned memory that allows faster transfer to a certain CUDA device. More...
class  CUDAHostContextManager
 This singleton class provides the one and only-one manager that provides access to a Host Context. More...
class  CUDAInterface
class  CUDAJDSUtils
 This class provides CUDA parallelized routines needed for JDS format. More...
class  CUDALAPACK
class  CUDAStreamSyncToken
 Class that sycnchronizes with a CUDA stream. More...
class  CUDAStreamSyncTokenPtr
class  CUDAUtils
 General utilities of the LAMA Interface implemented in CUDA. More...
class  DefaultHostContext
 This class implements the default HOST context. More...
class  DefaultHostContextManager
 This singleton class provides the one and only-one manager that provides access to a Default Host Context. More...
class  DenseVector
 The template DenseVector represents a distributed 1D Vector with elements of type T. More...
class  Distributed
 Common base class for all objects that are distributed. More...
class  BlockDistribution
 Block distribution in contiguous chunks of same size for each partition. More...
class  BlockDistributionManager
 Singleton class to manage replicated distributions (instance on each processor). More...
class  CyclicDistribution
 For a block cyclic distribution the range is partitioned into chunks of a certain block size and these chunks are assigned in a round-robin manner to the available partitions. More...
class  CyclicDistributionManager
 Singleton class to manage replicated distributions (instance on each processor). More...
class  Distribution
 Abstract base class for a one-dimensional distribution. More...
class  GenBlockDistribution
 Derived distribution class for general block distributions. More...
class  GeneralDistribution
 A general distribution allows to map a global range of values to the partitions of a communicator completely arbitrarily. More...
class  Halo
 The halo is an internal data structure that describes the exchange of non-local values completely. More...
class  HaloBuilder
class  NoDistribution
class  NoDistributionManager
 Singleton class to manage replicated distributions (instance on each processor). More...
class  Redistributor
 This class allows to create objects that handle redistributions of vector and matrices from one distribution into another distribution. More...
class  DistributionFactory
 Singleton class for an object that provides distributions of a certain type. More...
class  DistributionManager
 Base class for a distribution manager. More...
class  Exception
 The class Exception represents a general exception in lama. More...
class  Expression
 The template class Expression represents a mathematical expression. More...
class  HostContext
 This class implements the base class HOST context. More...
class  HostReadAccess
 HostReadAccess is a specialization of ReadAccess for a Host context with an extended interface. More...
class  HostWriteAccess
 HostWriteAccess is a specialization of WriteAccess for the Host Location with an extended interface. More...
class  HostWriteOnlyAccess
 HostWriteOnlyAccess is a write access where no existing values of the array are needed (keepFlag = false). More...
class  LAMAFile
 Common base class for LAMA input and output files. More...
class  XDRFileStream
 XDR file stream class to access XDR files Supported data types: (unsigned) int, (unsigned) long, float, double. More...
class  _LAMAArray
 Common base class for typed LAMAArray. More...
class  LAMAArray
 LAMAArray is the base array containter for all compute relevant data within LAMA. More...
class  LAMAArrayRef
 LAMAArrayRef is a container that uses external data. More...
class  LAMAArrayUtils
 Class that contains some utility routines used at several places. More...
class  LAMAArrayView
 LAMAArrayView is a proxy which gives a view to a sub range of a LAMAArray. More...
class  LAMAArrayConstView
 LAMAArrayConstView is a proxy which gives a constant view to a sub range of a LAMAArray. More...
struct  BLAS1Interface
struct  BLAS2Interface
struct  BLAS3Interface
struct  LAPACKInterface
 Structure with pointers for routines using LAPACK. More...
struct  SCALAPACKInterface
struct  UtilsInterface
 Structure with pointers for all Utils methods. More...
struct  CSRUtilsInterface
 Interface for utility functions to be used in CSR storage. More...
struct  DenseUtilsInterface
 Interface for utility functions to be used in Dense storage. More...
struct  ELLUtilsInterface
 Interface for utility functions to be used in ELL storage. More...
struct  JDSUtilsInterface
 Interface for utility functions to be used in JDS storage. More...
struct  DIAUtilsInterface
 Interface for utility functions to be used in DIA storage. More...
struct  COOUtilsInterface
 Interface for utility functions to be used in COO storage. More...
class  LAMAInterface
 LAMAInterface is the abstract class for Matrix-Vector operations. More...
class  LAMAInterfaceRegistry
class  LAMAInterfaceRegistration
class  COOSparseMatrix
 Definition of a derived class for SparseMatrix that uses the COO storage format for the local and halo data of the distributed sparse matrix. More...
class  CRTPMatrix
 This template class supports static polymorphism to define common routines for base classes SparseMatrix<T> and DenseMatrix<T>. More...
class  CSRSparseMatrix
 Definition of a derived class for SparseMatrix that uses the CSR storage format for the local and halo data of the distributed sparse matrix. More...
class  DenseMatrix
 Class for dense matrices where rows are distributed among rows and columns are splitted according to a column distribution. More...
class  DenseMatrixOps
 Static class that offers some matrix operations for dense matrices. More...
class  DIASparseMatrix
 Definition of a derived class for SparseMatrix that uses the DIA storage format for the local and halo data of the distributed sparse matrix. More...
class  ELLSparseMatrix
 Definition of a derived class for SparseMatrix that uses the ELL storage format for the local and halo data of the distributed sparse matrix. More...
class  JDSSparseMatrix
 Definition of a derived class for SparseMatrix that uses the JDS storage format for the local and halo data of the distributed sparse matrix. More...
class  Matrix
 The class Matrix is a abstract type that represents a distributed 2D real or complex matrix. More...
class  MetaMatrix
class  MatrixConfigGrammar
class  SimpleStorageStrategy
class  _SparseMatrix
 Common base class for SparseMatrix that is independent of the value type used for the matrix values. More...
class  SparseMatrix
 A SparseMatrix represents a distributed 2D sparse matrix with elements of type ValueType. More...
class  XXXSparseMatrix
 Definition of a derived class for SparseMatrix that uses the XXX storage format for the local and halo data of the distributed sparse matrix. More...
class  MatrixCreator
 This class provides some static methods to build or create sparse matrices for certain problem classes. More...
class  MPICommunicator
 Communicator class that implements communication and data exchange via MPI. More...
class  MPICommunicatorManager
 Singleton class to manage MPI Communicator. More...
class  MPIException
class  MPISyncToken
 Class for MPI synchronization that waits on pending messages. More...
class  NoCommunicator
 The class NoCommunicator stands for objects that are replicated on each partition or processor. More...
class  NoCommunicatorManager
class  NonCopyable
 Base class to disable compiler generated copy constructor and assignment operator. More...
class  L1Norm
class  L2Norm
 L2Norm is a functor specialization of Norm that calculates the l2 norm for the passed values. More...
class  MaxNorm
class  Norm
 Norm is a abstract functor to calculate the norms for the passed values. More...
class  NoSyncToken
class  BLASHelper
class  LAMABLAS1
 Implementations of methods for lama::BLAS1Interface with LAMABLAS. More...
class  OpenMPBLAS1
 Implementations of methods for lama::BLAS1Interface with OpenMP. More...
class  OpenMPBLAS2
 Implementations of methods for lama::BLAS2Interface with OpenMP. More...
class  OpenMPBLAS3
 Implementations of methods for lama::BLAS3Interface with OpenMP. More...
class  OpenMPCOOUtils
 This class provides OpenMP implementations to be used for COOUtilsInterface. More...
class  OpenMPCSRUtils
 This class provides routines on compressed sparse row data. More...
class  OpenMPDenseUtils
 This class provides OpenMP implementations for methods in lama::DenseUtilsInterface. More...
class  OpenMPDIAUtils
 This class provides routines to converse DIA storage data to CSR storage data and vice versa. More...
class  OpenMPELLUtils
 This class provides routines to converse ELL storage data to CSR storage data and vice versa. More...
class  OpenMPInterface
class  OpenMPJDSUtils
 This class provides OpenMP implementations as needed for JDSUtilsInterface. More...
class  OpenMPLAPACK
class  OpenMPSCALAPACK
class  OpenMPUtils
 General utilities of the LAMA Interface implemented in OpenMP. More...
class  PGASMaxFunctor
class  PGASMaxLocFunctor
class  PGASMinFunctor
class  PGASSumFunctor
class  GPIInterface
class  LAMAArguments
class  LAMAInstance
class  OpenShMemInterface
class  PGASAllocator
class  PGASCheckInterface
class  PGASCommunicator
class  PGASCommunicatorManager
 Singleton class to manage PGAS Communicator. More...
class  PGASContext
 Alternative context to DefaultHostContext so that memory will be allocated symmetric on all nodes. More...
class  PGASContextManager
 This singleton class provides the one and only-one manager that provides access to a Host Context. More...
class  PGASFunctor
class  PGASInterface
class  PGASNoInterface
class  PGASSimpleAllocator
class  PGASSyncToken
 Class for PGAS synchronization that waits on pending messages. More...
class  ReadAccess
 The template ReadAccess is used to enforce the consistency of the template LAMAArray. More...
class  Scalar
 The class Scalar represents a multi precision scalar. More...
class  AMGSetup
 The class AMGSetup should describe the Interace to an AMG Setup. More...
class  CG
 The class CG represents a IterativeSolver which uses the krylov subspace CG method to solve a system of linear equations iteratively. More...
class  CGCreator
class  Creator
class  CriteriaCreator
class  DefaultJacobiCreator
class  GMRESCreator
class  InverseSolverCreator
class  IterativeSolverCreator
class  LoggerCreator
class  LUSolverCreator
class  OmegaSolverCreator
class  SimpleAMGCreator
class  SolverCreator
 SolverCreator: base of the Solver Registry. More...
class  SolverFactory
 registry for Solver provides interface for getting a new CG solver More...
class  SORCreator
class  SpecializedJacobiCreator
class  SpecialLUSolverCreator
class  Criterion
 The class Criterion is the base class for all stopping criterions that we can use on a Solver. More...
class  IterationCount
 IterationCount is a stopping criterion of a solver which checks the number of iterations a solver has executed. More...
class  ResidualStagnation
 Stagnation stopping criterion. More...
class  ResidualThreshold
 ResidualThreshold is a stopping criterion of a solver which checks the residue of a solver for certain criteria. More...
class  DefaultJacobi
class  GMRES
 The class GMRES represents a IterativeSolver which uses the krylov subspace GMRES method to solve a system of linear equations iteratively. More...
class  InverseSolver
 Uses matrix inverse to solve the equation system. More...
class  IterativeSolver
 Uses iterative methods to solve the equation system. More...
class  CommonLogger
 A CommonLogger which adds no prefix to its messages. More...
class  FileLogger
 Singleton-based logger for write only file-logging purposes. More...
class  Logger
 A logger abstraction. More...
class  OpenMPTimer
 Timer implementation using OpenMP timing For further documentation see Timer interface. More...
class  Timer
 A simple timer interface, offering a few, common timer operations. More...
class  LUSolver
class  MetaSolver
class  SolverConfigGrammar
class  OmegaSolver
 The OldSolutionHandler class only manages the omega parameter For solvers like Jacobi and SOR. More...
class  SimpleAMG
class  SingleGridSetup
class  SolutionProxy
 The SolutionProxy is used to avoid multiple residual calculations. More...
class  Solver
 Superclass for all solvers. More...
class  SOR
class  SpecializedJacobi
class  TrivialPreconditioner
class  COOStorage
 Matrix storage format for a COO sparse matrix. More...
class  CRTPMatrixStorage
 This template class supports static polymorphism to define common routines for derived classes of MatrixStorage. More...
class  CSRStorage
 Storage format for a CSR (compressed storage row) sparse matrix. More...
class  DenseStorageView
 Storage format for a Dense matrix. More...
class  DenseStorage
 The class DenseStorage is a DenseStorageView that manages its own data. More...
class  DIAStorage
 Storage format for a DIA (compressed storage row) sparse matrix. More...
class  ELLStorage
 Storage format for an ELLPACK sparse matrix. More...
class  JDSStorage
 Storage format for a JDS sparse matrix. More...
class  _MatrixStorage
 The class _MatrixStorage is the base class for all matrix storage classes supported by LAMA. More...
class  MatrixStorage
 The template class MatrixStorage<ValueType> is the base class for all matrix storage classes of a given ValueType. More...
class  SparseAssemblyStorage
 The template SparseAssemblyStorage is a convenient intermediate container to construct a sparse matrix which structure is not known a priori. More...
class  _StorageMethods
class  StorageMethods
 This class provides static utility methods for splitting matrix storage into a local and a halo part. More...
struct  MatrixValue
class  _StorageIO
 This class provides static utility methods for splitting matrix storage into a local and a halo part. More...
class  StorageIO
class  SyncToken
 Abstract class that defines tokens for asynchronous operations. More...
struct  LAMAThreadTask
 Structure that specifies worker task and its state. More...
class  LAMAThreadPool
 Class that defines a pool of threads that will execute scheduled tasks (see LAMAThreadTask). More...
class  Task
 Class for asynchronous tasks. More...
class  TaskSyncToken
 Class to run a function asynchronously as a asynchronous Task. More...
class  Thread
class  TypeTraits
 The template class TypeTraits determines the index and value types. More...
class  TypeTraits< long >
class  TypeTraits< int >
class  TypeTraits< float >
class  TypeTraits< double >
class  Vector
 The class Vector is a abstract type that represents a distributed 1D real or complex vector. More...
class  WriteAccess
 The Template WriteAccess is used to enforce the consistency of the template LAMAArray. More...
class  WriteOnlyAccess
 WriteOnlyAccess is a write access where no existing values of the array are needed (keepFlag). More...

Typedefs

typedef boost::shared_ptr
< const Communicator
CommunicatorPtr
typedef boost::shared_ptr
< const Context
ContextPtr
 Context pointers will be always const, so context can never be modified.
typedef Context::ContextType ContextType
 Make ContextType visible in namespace, but not the different enumeration values.
typedef boost::shared_ptr
< const CUDAContext
CUDAContextPtr
typedef boost::shared_ptr
< const class Distribution
DistributionPtr
typedef boost::shared_ptr
< GeneralDistribution
GeneralDistributionPtr
typedef Context::ContextData ContextData
typedef
Context::ContextData::AccessKind 
AccessKind
typedef int IndexType
 Data type that is used for indexing in LAMA.
typedef int PartitionId
 Data type that is used for numbering of partitions.
typedef boost::shared_ptr
< class Matrix
MatrixPtr
 Pointer class for a matrix, always use of a shared pointer.
typedef boost::shared_ptr< NormNormPtr
typedef boost::shared_ptr
< Criterion
CriterionPtr
typedef boost::shared_ptr< LoggerLoggerPtr
typedef boost::shared_ptr
< OmegaSolver
OldSolutionHandlerPtr
typedef boost::shared_ptr< SolverSolverPtr
typedef unsigned int TaskId
 Type definition for task id.
typedef boost::shared_ptr
< class Vector
VectorPtr
 Pointer class for a vector, always use of a shared pointer.

Enumerations

enum  ExpressionTypes { Plus, Minus, Times, Divide }
 ExpressionTypes expresses the type of an Expression. More...
enum  CBLAS_ORDER { CblasRowMajor = 101, CblasColMajor = 102 }
 Enumeration type for storage order of two-dimensional arrays, taken over from cblas. More...
enum  CBLAS_TRANSPOSE { CblasNoTrans = 111, CblasTrans = 112, CblasConjTrans = 113 }
 Enumeration type for transpose use of two-dimensional arrays, taken over from cblas. More...
enum  CBLAS_UPLO { CblasUpper = 121, CblasLower = 122 }
 Enumeration type for partial use of two-dimensional arrays, taken over from cblas. More...
enum  CBLAS_DIAG { CblasNonUnit = 131, CblasUnit = 132 }
enum  CBLAS_SIDE { CblasLeft = 141, CblasRight = 142 }
enum  PGASCommunicationKind { PGASget, PGASput }
enum  MatrixStorageFormat {
  CSR, ELL, DIA, JDS,
  COO, DENSE, ASSEMBLY, UNDEFINED
}
 Enumeration type for different matrix storage formats. More...

Functions

 LAMA_LOG_DEF_LOGGER (CommunicationPlan::logger,"CommunicationPlan")
 LAMA_LOG_DEF_LOGGER (Communicator::logger,"Communicator")
 LAMA_LOG_DEF_LOGGER (CommunicatorFactory::logger,"CommunicatorFactory")
 LAMA_LOG_DEF_LOGGER (CommunicatorManager::logger,"CommunicatorManager")
 LAMA_LOG_DEF_LOGGER (Context::logger,"Context")
std::ostream & operator<< (std::ostream &stream, const ContextType type)
 LAMA_LOG_DEF_LOGGER (ContextAccess::logger,"ContextAccess")
 LAMA_LOG_DEF_LOGGER (ContextFactory::logger,"ContextFactory")
 LAMA_LOG_DEF_LOGGER (ContextManager::logger,"ContextManager")
 LAMA_LOG_DEF_LOGGER (CUDABLAS2::logger,"CUDA.BLAS2")
 LAMA_LOG_DEF_LOGGER (CUDABLAS3::logger,"CUDA.BLAS3")
 LAMA_LOG_DEF_LOGGER (CUDAContext::logger,"Context.CUDAContext")
 static variables
const char * cudaDriverErrorString (CUresult res)
 Function that translates enum CUresult to strings.
const char * cublasErrorString (cublasStatus res)
 Function that translates enum cublasStatus to strings.
 LAMA_LOG_DEF_LOGGER (CUDAHostContext::logger,"Context.CUDAHostContext")
 LAMA_LOG_DEF_LOGGER (CUDAInterface::logger,"LAMAInterface.CUDAInterface")
 LAMA_LAMAINTERFACE_REGISTRATION (Context::CUDA, CUDAInterface)
 LAMA_LOG_DEF_LOGGER (DefaultHostContext::logger,"Context.DefaultHostContext")
 LAMA_LOG_DEF_TEMPLATE_LOGGER (template< typename T >, DenseVector< T >::logger,"Vector.DenseVector")
template<typename FileType , typename DataType >
static void writeBinaryData (std::fstream &outFile, const DataType data[], const IndexType n)
template<typename FileType , typename DataType >
static void readBinaryData (std::fstream &inFile, DataType data[], const IndexType n)
 LAMA_LOG_DEF_LOGGER (BlockDistribution::logger,"Distribution.BlockDistribution")
 LAMA_LOG_DEF_LOGGER (BlockDistributionManager::logger,"DistributionManager.BlockDistributionManager")
 LAMA_LOG_DEF_LOGGER (CyclicDistribution::logger,"Distribution.CyclicDistribution")
 LAMA_LOG_DEF_LOGGER (CyclicDistributionManager::logger,"DistributionManager.CyclicDistributionManager")
 LAMA_LOG_DEF_LOGGER (Distribution::logger,"Distribution")
std::ostream & operator<< (std::ostream &stream, Distribution const &dist)
template<typename T >
static IndexType fillGlobal (T *allValues, const IndexType *allOffsets, const IndexType *indexes, const IndexType numIndexes, const T *values)
 LAMA_LOG_DEF_LOGGER (GenBlockDistribution::logger,"Distribution.GenBlockDistribution")
 LAMA_LOG_DEF_LOGGER (GeneralDistribution::logger,"Distribution.General")
 LAMA_LOG_DEF_LOGGER (Halo::logger,"Halo")
 LAMA_LOG_DEF_LOGGER (HaloBuilder::logger,"Halo.Builder")
 LAMA_LOG_DEF_LOGGER (NoDistribution::logger,"Distribution.NoDistribution")
 LAMA_LOG_DEF_LOGGER (NoDistributionManager::logger,"DistributionManager.NoDistributionManager")
 LAMA_LOG_DEF_LOGGER (Redistributor::logger,"Redistributor")
 LAMA_LOG_DEF_LOGGER (DistributionFactory::logger,"DistributionFactory")
 LAMA_LOG_DEF_LOGGER (DistributionManager::logger,"DistributionManager")
 LAMA_LOG_DEF_LOGGER (Exception::logger,"Exception")
Expression< Scalar, Matrix, Timesoperator* (const Scalar &scalar, const Matrix &matrix)
 This times operator creates an expression that represents the product of Scalar times Matrix.
Expression< Scalar, Matrix, Timesoperator* (const Matrix &matrix, const Scalar &scalar)
 This times operator creates an expression that represents the product of Scalar times Matrix.
Expression< Matrix, Matrix, Timesoperator* (const Matrix &m1, const Matrix &m2)
 This times operator creates an expression that represents the product of a Matrix and a Matrix.
Expression< Scalar, Expression
< Matrix, Matrix, Times >
, Times
operator* (const Matrix &m1, const Expression< Scalar, Matrix, Times > &exp)
 This times operator creates an expression that represents the product of Scalar times Matrix times Matrix.
Expression< Scalar, Expression
< Matrix, Matrix, Times >
, Times
operator* (const Expression< Scalar, Matrix, Times > &exp, const Matrix &m1)
 This times operator creates an expression that represents the product of Scalar times Matrix times Matrix.
Expression< Scalar, Expression
< Matrix, Matrix, Times >
, Times
operator* (const Scalar &s1, const Expression< Matrix, Matrix, Times > &exp)
 This times operator creates an expression that represents the product of Scalar times Matrix times Matrix.
Expression< Scalar, Expression
< Matrix, Matrix, Times >
, Times
operator* (const Expression< Matrix, Matrix, Times > &exp, const Scalar &s1)
 This times operator creates an expression that represents the product of Scalar times Matrix times Matrix.
Expression< Expression< Scalar,
Expression< Matrix, Matrix,
Times >, Times >, Expression
< Scalar, Matrix, Times >
, Plus
operator+ (const Expression< Scalar, Expression< Matrix, Matrix, Times >, Times > &exp1, const Expression< Scalar, Matrix, Times > &exp2)
 This plus operator creates an expression that represents the sum of Scalar times Matrix times Matrix plus Scalar times Matrix.
Expression< Expression< Scalar,
Expression< Matrix, Matrix,
Times >, Times >, Expression
< Scalar, Matrix, Times >
, Plus
operator+ (const Expression< Scalar, Matrix, Times > &exp2, const Expression< Scalar, Expression< Matrix, Matrix, Times >, Times > &exp1)
 This plus operator creates an expression that represents the sum of Scalar times Matrix times Matrix plus Scalar times Matrix.
Expression< Expression< Scalar,
Expression< Matrix, Matrix,
Times >, Times >, Expression
< Scalar, Matrix, Times >
, Plus
operator- (const Expression< Scalar, Expression< Matrix, Matrix, Times >, Times > &exp1, const Expression< Scalar, Matrix, Times > &exp2)
 This times operator creates an expression that represents the sum of Scalar*(Matrix*Matrix) + Scalar*Matrix.
Expression< Expression< Scalar,
Expression< Matrix, Matrix,
Times >, Times >, Expression
< Scalar, Matrix, Times >
, Plus
operator- (const Expression< Scalar, Matrix, Times > &exp2, const Expression< Scalar, Expression< Matrix, Matrix, Times >, Times > &exp1)
 This times operator creates an expression that represents the sum of Scalar*(Matrix*Matrix) + Scalar*Matrix.
Expression< Matrix, Vector, Timesoperator* (const Matrix &matrix, const Vector &vector)
 This times operator creates an expression that represents the product of a Matrix and a Vector.
Expression< Scalar, Expression
< Matrix, Vector, Times >
, Times
operator* (const Scalar &scalar, const Expression< Matrix, Vector, Times > &exp)
 This plus operator creates an expression that represents a * A * x, where x and y are vectors, A is a matrix and a and b are scalars.
Expression< Scalar, Expression
< Matrix, Vector, Times >
, Times
operator* (const Expression< Matrix, Vector, Times > &exp, const Scalar &scalar)
 This times operator creates an expression that represents a * A * x, where x is vector, A is a matrix and a is a scalar.
Expression< Scalar, Expression
< Matrix, Vector, Times >
, Times
operator* (const Matrix &matrix, const Expression< Scalar, Vector, Times > &exp)
 This times operator creates an expression that represents the product of a Matrix, Vector and Scalar.
Expression< Scalar, Expression
< Matrix, Vector, Times >
, Times
operator* (const Expression< Scalar, Matrix, Times > &exp, const Vector &vector)
 This plus operator creates an expression that represents A * B * x, where x is vector, A and B are matrices.
Expression< Expression< Scalar,
Expression< Matrix, Vector,
Times >, Times >, Expression
< Scalar, Vector, Times >
, Plus
operator- (const Expression< Scalar, Expression< Matrix, Vector, Times >, Times > &exp, const Vector &vector)
 This minus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.
Expression< Expression< Scalar,
Expression< Matrix, Vector,
Times >, Times >, Expression
< Scalar, Vector, Times >
, Plus
operator- (const Expression< Matrix, Expression< Vector, Scalar, Times >, Times > &exp, const Vector &vector)
 This minus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.
Expression< Expression< Scalar,
Expression< Matrix, Vector,
Times >, Times >, Expression
< Scalar, Vector, Times >
, Plus
operator- (const Expression< Scalar, Expression< Matrix, Vector, Times >, Times > &exp1, const Expression< Scalar, Vector, Times > &exp2)
 This minus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.
Expression< Expression< Scalar,
Expression< Matrix, Vector,
Times >, Times >, Expression
< Scalar, Vector, Times >
, Plus
operator- (const Expression< Scalar, Vector, Times > &exp2, const Expression< Scalar, Expression< Matrix, Vector, Times >, Times > &exp1)
 This minus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.
Expression< Expression< Scalar,
Expression< Matrix, Vector,
Times >, Times >, Expression
< Scalar, Vector, Times >
, Plus
operator- (const Vector &vector, const Expression< Matrix, Vector, Times > &exp)
 This minus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.
Expression< Expression< Scalar,
Expression< Matrix, Vector,
Times >, Times >, Expression
< Scalar, Vector, Times >
, Plus
operator- (const Expression< Matrix, Vector, Times > &exp, const Vector &vector)
 This minus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.
Expression< Expression< Scalar,
Expression< Matrix, Vector,
Times >, Times >, Expression
< Scalar, Vector, Times >
, Plus
operator- (const Expression< Matrix, Expression< Scalar, Vector, Times >, Times > &exp, const Vector &vector)
 This minus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.
Expression< Expression< Scalar,
Expression< Matrix, Vector,
Times >, Times >, Expression
< Scalar, Vector, Times >
, Plus
operator+ (const Vector &vector, const Expression< Matrix, Vector, Times > &exp)
 This plus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.
Expression< Expression< Scalar,
Expression< Matrix, Vector,
Times >, Times >, Expression
< Scalar, Vector, Times >
, Plus
operator+ (const Expression< Scalar, Expression< Matrix, Vector, Times >, Times > &exp, const Vector &vector)
 This plus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.
Expression< Expression< Scalar,
Expression< Matrix, Vector,
Times >, Times >, Expression
< Scalar, Vector, Times >
, Plus
operator+ (const Expression< Matrix, Expression< Scalar, Vector, Times >, Times > &exp, const Vector &vector)
 This plus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.
Expression< Expression< Scalar,
Expression< Matrix, Vector,
Times >, Times >, Expression
< Scalar, Vector, Times >
, Plus
operator+ (const Expression< Matrix, Expression< Vector, Scalar, Times >, Times > &exp, const Vector &vector)
 This plus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.
Expression< Expression< Scalar,
Expression< Matrix, Vector,
Times >, Times >, Expression
< Scalar, Vector, Times >
, Plus
operator+ (const Expression< Matrix, Vector, Times > &exp, const Vector &vector)
 This plus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.
Expression< Expression< Scalar,
Expression< Matrix, Vector,
Times >, Times >, Expression
< Scalar, Vector, Times >
, Plus
operator+ (const Expression< Scalar, Expression< Matrix, Vector, Times >, Times > &exp1, const Expression< Scalar, Vector, Times > &exp2)
 This plus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.
Expression< Expression< Scalar,
Expression< Matrix, Vector,
Times >, Times >, Expression
< Scalar, Vector, Times >
, Plus
operator+ (const Expression< Scalar, Vector, Times > &exp2, const Expression< Scalar, Expression< Matrix, Vector, Times >, Times > &exp1)
 This plus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.
Expression< Expression< Scalar,
Expression< Matrix, Vector,
Times >, Times >, Expression
< Scalar, Vector, Times >
, Plus
operator+ (const Expression< Matrix, Vector, Times > &exp2, const Expression< Scalar, Vector, Times > &exp1)
 This plus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.
Expression< Scalar, Vector, Timesoperator* (const Scalar &alpha, const Vector &x)
 The times operator creates an expression that represents Scalar times Vector.
Expression< Scalar, Vector, Timesoperator* (const Vector &x, const Scalar &alpha)
 The times operator creates an expression that represents Vector times Scalar.
Expression< Expression< Scalar,
Vector, Times >, Expression
< Scalar, Vector, Times >
, Plus
operator+ (const Vector &x, const Vector &y)
 The plus operator creates an expression that represents the sum of two vectors.
Expression< Expression< Scalar,
Vector, Times >, Expression
< Scalar, Vector, Times >
, Plus
operator+ (const Vector &x, const Expression< Scalar, Vector, Times > &exp2)
 The plus operator creates an expression that represents sum of Vector and Vector times Scalar.
Expression< Expression< Scalar,
Vector, Times >, Expression
< Scalar, Vector, Times >
, Plus
operator+ (const Expression< Scalar, Vector, Times > &exp1, const Expression< Scalar, Vector, Times > &exp2)
 The plus operator creates an expression that represents sum of Vector times Scalar and Vector times Scalar.
Expression< Expression< Scalar,
Vector, Times >, Expression
< Scalar, Vector, Times >
, Plus
operator+ (const Expression< Scalar, Vector, Times > &exp2, const Vector &x)
 The plus operator creates an expression that represents sum of Vector times Scalar plus Vector.
Expression< Expression< Scalar,
Vector, Times >, Expression
< Scalar, Vector, Times >
, Plus
operator+ (const Expression< Vector, Scalar, Times > &exp2, const Vector &x)
 The plus operator creates an expression that represents sum of Scalar times Vector plus Vector.
Expression< Expression< Scalar,
Vector, Times >, Expression
< Scalar, Vector, Times >
, Plus
operator- (const Vector &x, const Expression< Scalar, Vector, Times > &exp2)
 The minus operator creates an expression that represents the difference of Vector and Vector times Scalar.
Expression< Expression< Scalar,
Vector, Times >, Expression
< Scalar, Vector, Times >
, Plus
operator- (const Expression< Scalar, Vector, Times > &exp1, const Expression< Scalar, Vector, Times > &exp2)
 The minus operator creates an expression that represents the difference of two scalar vector products.
Expression< Expression< Scalar,
Vector, Times >, Expression
< Scalar, Vector, Times >
, Plus
operator- (const Vector &x, const Vector &y)
 The minus operator creates an expression that represents the difference of two vectors.
Expression< Expression< Scalar,
Vector, Times >, Expression
< Scalar, Vector, Times >
, Plus
operator- (const Expression< Scalar, Vector, Times > &exp2, const Vector &x)
 The minus operator creates an expression that represents the difference of Vector times Scalar and Vector.
 LAMA_LOG_DEF_TEMPLATE_LOGGER (template< typename T >, HostReadAccess< T >::logger,"ReadAccess.HostReadAccess")
 LAMA_LOG_DEF_TEMPLATE_LOGGER (template< typename ValueType >, LAMAArray< ValueType >::logger,"LAMAArray")
 LAMA_LOG_DEF_LOGGER (LAMAArrayUtils::logger,"LAMAArrayUtils")
 LAMA_LOG_DEF_LOGGER (LAMAInterface::logger,"LAMAInterface")
 LAMA_LOG_DEF_TEMPLATE_LOGGER (template< typename T >, COOSparseMatrix< T >::logger,"Matrix.SparseMatrix.COOSparseMatrix")
 LAMA_LOG_DEF_TEMPLATE_LOGGER (template< typename T >, CSRSparseMatrix< T >::logger,"Matrix.SparseMatrix.CSRSparseMatrix")
 LAMA_LOG_DEF_TEMPLATE_LOGGER (template< typename T >, DenseMatrix< T >::logger,"Matrix.DenseMatrix")
template<typename ValueType >
static void replicate (DenseStorage< ValueType > &replicatedData, DenseStorage< ValueType > &distributedData, const Distribution &distribution)
 LAMA_LOG_DEF_LOGGER (DenseMatrixOps::logger,"DenseMatrixOps")
 LAMA_LOG_DEF_TEMPLATE_LOGGER (template< typename T >, DIASparseMatrix< T >::logger,"Matrix.SparseMatrix.DIASparseMatrix")
 LAMA_LOG_DEF_TEMPLATE_LOGGER (template< typename T >, ELLSparseMatrix< T >::logger,"Matrix.SparseMatrix.ELLSparseMatrix")
 LAMA_LOG_DEF_TEMPLATE_LOGGER (template< typename T >, JDSSparseMatrix< T >::logger,"Matrix.SparseMatrix.JDSSparseMatrix")
 LAMA_LOG_DEF_LOGGER (Matrix::logger,"Matrix")
std::ostream & operator<< (std::ostream &stream, const Matrix::SyncKind &kind)
 This function prints a SyncKind on an output stream.
 LAMA_LOG_DEF_LOGGER (MetaMatrix::logger,"Matrix.MetaMatrix")
 LAMA_LOG_DEF_LOGGER (MatrixConfigGrammar::logger,"Matrix.MetaMatrix.Grammar")
 LAMA_LOG_DEF_TEMPLATE_LOGGER (template< typename ValueType >, SimpleStorageStrategy< ValueType >::logger,"Matrix.SimpleStorageStrategy")
 LAMA_LOG_DEF_TEMPLATE_LOGGER (template< typename T >, SparseMatrix< T >::logger,"Matrix.SparseMatrix")
 LAMA_LOG_DEF_TEMPLATE_LOGGER (template< typename T >, XXXSparseMatrix< T >::logger,"Matrix.SparseMatrix.XXXSparseMatrix")
 LAMA_LOG_DEF_TEMPLATE_LOGGER (template< typename ValueType >, MatrixCreator< ValueType >::logger,"MatrixCreator")
static void getStencilProperties (IndexType &dimension, IndexType &length, IndexType &distance, IndexType stencilType)
template<typename IndexType >
static IndexType getMatrixPosition (IndexType idX, IndexType idY, IndexType idZ, IndexType dimX, IndexType dimY, IndexType)
template<typename IndexType >
static int getNumNeighbors (IndexType id, IndexType dim, int shift)
template<typename IndexType >
static IndexType getNStencilValues (IndexType idX, IndexType idY, IndexType idZ, IndexType dimX, IndexType dimY, IndexType dimZ, IndexType length, IndexType maxDistance)
template<typename IndexType , typename ValueType >
static void getStencil (std::vector< IndexType > &positions, std::vector< ValueType > &values, const IndexType idX, const IndexType idY, const IndexType idZ, const IndexType dimX, const IndexType dimY, const IndexType dimZ, const IndexType stencilType, const IndexType length, const IndexType maxDistance)
 LAMA_LOG_DEF_LOGGER (MPICommunicator::logger,"Communicator.MPICommunicator")
 LAMA_LOG_DEF_LOGGER (MPICommunicatorManager::logger,"CommunicatorManager.MPICommunicatorManager")
Scalar l1Norm (const Scalar &scalar)
Scalar l1Norm (const Vector &vector)
Scalar l2Norm (const Scalar &scalar)
 calculates the l2 norm of the passed Scalar.
Scalar l2Norm (const Vector &vector)
 calculates the l2 norm of the passed Vector.
Scalar maxNorm (const Scalar &scalar)
Scalar maxNorm (const Vector &vector)
LAMA_STATIC_INLINE_FUNCTION_PREFIX
void ** 
lama_sToVoidPtr (float **floatPointer)
LAMA_STATIC_INLINE_FUNCTION_PREFIX
void ** 
lama_dToVoidPtr (double **doublePointer)
 LAMA_LOG_DEF_LOGGER (OpenMPBLAS1::logger,"OpenMP.BLAS1")
 LAMA_LOG_DEF_LOGGER (OpenMPBLAS2::logger,"OpenMP.BLAS2")
 LAMA_LOG_DEF_LOGGER (OpenMPBLAS3::logger,"OpenMP.BLAS3")
 LAMA_LOG_DEF_LOGGER (OpenMPCOOUtils::logger,"OpenMP.COOUtils")
 LAMA_LOG_DEF_LOGGER (OpenMPCSRUtils::logger,"OpenMP.CSRUtils")
static IndexType findCol (const IndexType columns[], const IndexType n, const IndexType j, IndexType lastPos)
 LAMA_LOG_DEF_LOGGER (OpenMPDenseUtils::logger,"OpenMP.DenseUtils")
 LAMA_LOG_DEF_LOGGER (OpenMPDIAUtils::logger,"OpenMP.DIAUtils")
 LAMA_LOG_DEF_LOGGER (OpenMPELLUtils::logger,"OpenMP.ELLUtils")
 LAMA_LOG_DEF_LOGGER (OpenMPInterface::logger,"LAMAInterface.OpenMPInterface")
 LAMA_LAMAINTERFACE_REGISTRATION (Context::Host, OpenMPInterface)
 LAMA_LOG_DEF_LOGGER (OpenMPJDSUtils::logger,"OpenMP.JDSUtils")
 LAMA_LOG_DEF_LOGGER (OpenMPLAPACK::logger,"OpenMP.LAPACK")
 LAMA_LOG_DEF_LOGGER (OpenMPSCALAPACK::logger,"OpenMP.SCALAPACK")
 LAMA_LOG_DEF_LOGGER (OpenMPUtils::logger,"OpenMP.Utils")
 LAMA_LOG_DEF_LOGGER (GPIInterface::logger,"PGASInterface.GPIInterface")
 LAMA_LOG_DEF_LOGGER (LAMAInstance::logger,"LAMAInstance")
 LAMA_LOG_DEF_LOGGER (OpenShMemInterface::logger,"PGASInterface.OpenShMemInterface")
 LAMA_LOG_DEF_LOGGER (PGASCommunicator::logger,"Communicator.PGASCommunicator")
 LAMA_LOG_DEF_LOGGER (PGASCommunicatorManager::logger,"CommunicatorManager.PGASCommunicatorManager")
 LAMA_LOG_DEF_LOGGER (PGASContext::logger,"Context.PGASContext")
 LAMA_LOG_DEF_LOGGER (PGASInterface::logger,"PGASInterface")
 LAMA_LOG_DEF_TEMPLATE_LOGGER (template< typename ValueType >, ReadAccess< ValueType >::logger,"ReadAccess")
std::ostream & operator<< (std::ostream &stream, const Scalar::ScalarType &object)
template<typename T >
cast (const Scalar &scalar)
 Cast operator to convert a Scalar into corresponding basic type.
template<>
Scalar::ScalarType Scalar::getType< std::complex< float > > ()
template<>
Scalar::ScalarType Scalar::getType< std::complex< double > > ()
template<>
Scalar::ScalarType Scalar::getType< std::complex< long double > > ()
Scalar operator+ (const Scalar &a, const Scalar &b)
 Add Scalar a with Scalar b.
Scalar operator- (const Scalar &a, const Scalar &b)
 Subtract Scalar a with Scalar b.
Scalar operator* (const Scalar &a, const Scalar &b)
 Multiply Scalar a with Scalar b.
Scalar operator/ (const Scalar &a, const Scalar &b)
 Divide Scalar a with Scalar b.
bool operator== (const Scalar &a, const Scalar &b)
 Check equality of a and b.
bool operator!= (const Scalar &a, const Scalar &b)
 Check inequality of a and b.
bool operator< (const Scalar &a, const Scalar &b)
bool operator> (const Scalar &a, const Scalar &b)
bool operator<= (const Scalar &a, const Scalar &b)
bool operator>= (const Scalar &a, const Scalar &b)
Scalar sqrt (const Scalar scalar)
Scalar abs (const Scalar scalar)
Scalar max (const Scalar a, const Scalar b)
Scalar min (const Scalar a, const Scalar b)
 LAMA_LOG_DEF_LOGGER (CG::logger,"Solver.IterativeSolver.CG")
 LAMA_LOG_DEF_LOGGER (CGCreator::logger,"Solver.SolverCreator.CGCreator")
 LAMA_SOLVERCREATOR_REGISTRATION (CGCreator)
 LAMA_LOG_DEF_LOGGER (Creator::logger,"Creator")
 LAMA_LOG_DEF_LOGGER (CriteriaCreator::logger,"Solver.SolverCreator.CriteriaCreator")
 LAMA_LOG_DEF_LOGGER (DefaultJacobiCreator::logger,"Solver.SolverCreator.DefaultJacobiCreator")
 LAMA_SOLVERCREATOR_REGISTRATION (DefaultJacobiCreator)
 LAMA_LOG_DEF_LOGGER (GMRESCreator::logger,"Solver.SolverCreator.GMRESCreator")
 LAMA_SOLVERCREATOR_REGISTRATION (GMRESCreator)
 LAMA_LOG_DEF_LOGGER (InverseSolverCreator::logger,"Solver.SolverCreator.InverseSolverCreator")
 LAMA_SOLVERCREATOR_REGISTRATION (InverseSolverCreator)
 LAMA_LOG_DEF_LOGGER (IterativeSolverCreator::logger,"Solver.SolverCreator.IterativeSolverCreator")
 LAMA_LOG_DEF_LOGGER (LoggerCreator::logger,"Solver.SolverCreator.LoggerCreator")
 LAMA_LOG_DEF_LOGGER (LUSolverCreator::logger,"Solver.SolverCreator.LUSolverCreator")
 LAMA_SOLVERCREATOR_REGISTRATION (LUSolverCreator)
 LAMA_LOG_DEF_LOGGER (OmegaSolverCreator::logger,"Solver.SolverCreator.OmegaSolverCreator")
 LAMA_LOG_DEF_LOGGER (SimpleAMGCreator::logger,"Solver.SolverCreator.SimpleAMGCreator")
 LAMA_SOLVERCREATOR_REGISTRATION (SimpleAMGCreator)
 LAMA_LOG_DEF_LOGGER (SolverCreator::logger,"Solver.SolverCreator")
 LAMA_LOG_DEF_LOGGER (SolverFactory::logger,"Solver.SolverFactory")
 LAMA_LOG_DEF_LOGGER (SORCreator::logger,"Solver.SolverCreator.SORCreator")
 LAMA_SOLVERCREATOR_REGISTRATION (SORCreator)
 LAMA_LOG_DEF_LOGGER (SpecializedJacobiCreator::logger,"Solver.SolverCreator.SpecializedJacobiCreator")
 LAMA_SOLVERCREATOR_REGISTRATION (SpecializedJacobiCreator)
 LAMA_LOG_DEF_LOGGER (LUSolverCreator::logger,"Solver.SolverCreator.SpecialLUSolverCreator")
 LAMA_SOLVERCREATOR_REGISTRATION (SpecialLUSolverCreator)
 LAMA_LOG_DEF_LOGGER (Criterion::logger,"Criterion")
CriterionPtr operator|| (CriterionPtr a, CriterionPtr b)
CriterionPtr operator&& (CriterionPtr a, CriterionPtr b)
 LAMA_LOG_DEF_LOGGER (IterationCount::logger,"Criterion.IterationCount")
 LAMA_LOG_DEF_LOGGER (DefaultJacobi::logger,"Jacobi.DefaultJacobi")
 LAMA_LOG_DEF_LOGGER (GMRES::logger,"Solver.IterativeSolver.GMRES")
 LAMA_LOG_DEF_LOGGER (InverseSolver::logger,"Solver.InverseSolver")
 LAMA_LOG_DEF_LOGGER (IterativeSolver::logger,"Solver.IterativeSolver")
 LAMA_LOG_DEF_LOGGER (Logger::logger,"Logger")
 LAMA_LOG_DEF_LOGGER (MetaSolver::logger,"Solver.MetaSolver")
 LAMA_LOG_DEF_LOGGER (SolverConfigGrammar::logger,"Solver.MetaSolver.Grammar")
 LAMA_LOG_DEF_LOGGER (OmegaSolver::logger,"Solver.IterativeSolver.OmegaSolver")
 LAMA_LOG_DEF_LOGGER (SimpleAMG::logger,"Solver.IterativeSolver.SimpleAMG")
 LAMA_LOG_DEF_LOGGER (SimpleAMG::SimpleAMGRuntime::logger,"Solver.IterativeSolver.SimpleAMG.SimpleAMGRuntime")
 LAMA_LOG_DEF_LOGGER (SingleGridSetup::logger,"AMGSetup.SingleGridSetup")
 LAMA_LOG_DEF_LOGGER (Solver::logger,"Solver")
 LAMA_LOG_DEF_LOGGER (SOR::logger,"Solver.IterativeSolver.OmegaSolver.SOR")
void computeROOTforwards (lama::PartitionId &root, const lama::IndexType &numProcs)
void computeROOTbackwards (lama::PartitionId &root, const lama::IndexType &numProcs)
bool lowerFin (lama::IndexType &i, lama::PartitionId &root, const lama::IndexType &nP, const lama::IndexType &bH)
bool upperFin (lama::IndexType &i, lama::PartitionId &root, const lama::IndexType &nP, const lama::IndexType &)
void lowerInit (lama::IndexType &begin, lama::IndexType &end, const lama::IndexType &i, const lama::IndexType &nP, const lama::IndexType &bW, const lama::PartitionId &me, const lama::PartitionId &root)
void upperInit (lama::IndexType &begin, lama::IndexType &end, const lama::IndexType &i, const lama::IndexType &nP, const lama::IndexType &, const lama::PartitionId &me, const lama::PartitionId &root)
 LAMA_LOG_DEF_LOGGER (LUSolver::logger,"LUSolver")
 LAMA_LOG_DEF_TEMPLATE_LOGGER (template< typename ValueType >, COOStorage< ValueType >::logger,"MatrixStorage.COOStorage")
 LAMA_LOG_DEF_TEMPLATE_LOGGER (template< typename ValueType >, CSRStorage< ValueType >::logger,"MatrixStorage.CSRStorage")
 LAMA_LOG_DEF_TEMPLATE_LOGGER (template< typename ValueType >, DenseStorageView< ValueType >::logger,"MatrixStorage.DenseStorage")
 LAMA_LOG_DEF_TEMPLATE_LOGGER (template< typename ValueType >, DIAStorage< ValueType >::logger,"MatrixStorage.DIAStorage")
 LAMA_LOG_DEF_TEMPLATE_LOGGER (template< typename ValueType >, ELLStorage< ValueType >::logger,"MatrixStorage.ELLStorage")
 LAMA_LOG_DEF_TEMPLATE_LOGGER (template< typename ValueType >, JDSStorage< ValueType >::logger,"MatrixStorage.JDSStorage")
 LAMA_LOG_DEF_LOGGER (_MatrixStorage::logger,"MatrixStorage")
std::ostream & operator<< (std::ostream &stream, const MatrixStorageFormat storageFormat)
 LAMA_LOG_DEF_TEMPLATE_LOGGER (template< typename ValueType >, SparseAssemblyStorage< ValueType >::logger,"MatrixStorage.SparseAssemblyStorage")
 LAMA_LOG_DEF_LOGGER (_StorageMethods::logger,"StorageMethods")
 LAMA_LOG_DEF_LOGGER (_StorageIO::logger,"StorageIO")
template<typename FileType , typename DataType , int offset>
static void writeBinaryData (std::fstream &outFile, const DataType data[], const IndexType n)
template<typename FileType , typename DataType , int offset>
static void readBinaryData (std::fstream &inFile, DataType data[], const IndexType n)
template<typename FileType , typename DataType , int offset>
static void writeData (XDRFileStream &outFile, const DataType data[], const IndexType n)
template<typename FileType , typename DataType , int offset>
static void readData (XDRFileStream &inFile, DataType data[], const IndexType n)
 LAMA_LOG_DEF_LOGGER (SyncToken::logger,"SyncToken")
 LAMA_LOG_DEF_LOGGER (LAMAThreadPool::logger,"LAMAThreadPool")
 LAMA_LOG_DEF_LOGGER (Task::logger,"Task")
 LAMA_LOG_DEF_LOGGER (TaskSyncToken::logger,"SyncToken.TaskSyncToken")
 LAMA_LOG_DEF_LOGGER (Vector::logger,"Vector")
 LAMA_LOG_DEF_TEMPLATE_LOGGER (template< typename ValueType >, WriteAccess< ValueType >::logger,"WriteAccess")

Variables

cusparseHandle_t CUDAContext_cusparseHandle = 0
class LAMA_DLL_IMPORTEXPORT CUDAStreamSyncToken
template class
LAMA_DLL_IMPORTEXPORT 
DenseVector< float >
template class
LAMA_DLL_IMPORTEXPORT 
DenseVector< double >
template class
LAMA_DLL_IMPORTEXPORT 
LAMAArrayView< IndexType >
template class
LAMA_DLL_IMPORTEXPORT 
LAMAArrayView< float >
template class
LAMA_DLL_IMPORTEXPORT 
LAMAArrayView< double >
template class
LAMA_DLL_IMPORTEXPORT 
LAMAArrayConstView< IndexType >
template class
LAMA_DLL_IMPORTEXPORT 
LAMAArrayConstView< float >
template class
LAMA_DLL_IMPORTEXPORT 
LAMAArrayConstView< double >
const IndexType nIndex = std::numeric_limits<IndexType>::max()
 Definition for a constant value that indicates a non-available index.
const PartitionId nPartition = std::numeric_limits<PartitionId>::max()
 Definition for a constant value that indicates a non-available partition.
template class
LAMA_DLL_IMPORTEXPORT 
COOSparseMatrix< float >
template class
LAMA_DLL_IMPORTEXPORT 
COOSparseMatrix< double >
template class
LAMA_DLL_IMPORTEXPORT 
CSRSparseMatrix< float >
template class
LAMA_DLL_IMPORTEXPORT 
CSRSparseMatrix< double >
template class
LAMA_DLL_IMPORTEXPORT 
DenseMatrix< float >
template class
LAMA_DLL_IMPORTEXPORT 
DenseMatrix< double >
template class
LAMA_DLL_IMPORTEXPORT 
DIASparseMatrix< float >
template class
LAMA_DLL_IMPORTEXPORT 
DIASparseMatrix< double >
template class
LAMA_DLL_IMPORTEXPORT 
ELLSparseMatrix< float >
template class
LAMA_DLL_IMPORTEXPORT 
ELLSparseMatrix< double >
template class
LAMA_DLL_IMPORTEXPORT 
JDSSparseMatrix< float >
template class
LAMA_DLL_IMPORTEXPORT 
JDSSparseMatrix< double >
template class
LAMA_DLL_IMPORTEXPORT 
SimpleStorageStrategy< float >
template class
LAMA_DLL_IMPORTEXPORT 
SimpleStorageStrategy< double >
template class
LAMA_DLL_IMPORTEXPORT 
SparseMatrix< float >
template class
LAMA_DLL_IMPORTEXPORT 
SparseMatrix< double >
template class
LAMA_DLL_IMPORTEXPORT 
XXXSparseMatrix< float >
template class
LAMA_DLL_IMPORTEXPORT 
XXXSparseMatrix< double >
template class
LAMA_DLL_IMPORTEXPORT 
MatrixCreator< float >
template class
LAMA_DLL_IMPORTEXPORT 
MatrixCreator< double >
static int minThreads = 3
 Number of minimal threads for which parallelization is effective.
template class
LAMA_DLL_IMPORTEXPORT 
ReadAccess< IndexType >
template class
LAMA_DLL_IMPORTEXPORT 
ReadAccess< float >
template class
LAMA_DLL_IMPORTEXPORT 
ReadAccess< double >
const Scalar zero
template class
LAMA_DLL_IMPORTEXPORT 
COOStorage< float >
template class
LAMA_DLL_IMPORTEXPORT 
COOStorage< double >
template class
LAMA_DLL_IMPORTEXPORT 
CSRStorage< float >
template class
LAMA_DLL_IMPORTEXPORT 
CSRStorage< double >
template class
LAMA_DLL_IMPORTEXPORT 
DIAStorage< float >
template class
LAMA_DLL_IMPORTEXPORT 
DIAStorage< double >
template class
LAMA_DLL_IMPORTEXPORT 
ELLStorage< float >
template class
LAMA_DLL_IMPORTEXPORT 
ELLStorage< double >
template class
LAMA_DLL_IMPORTEXPORT 
JDSStorage< float >
template class
LAMA_DLL_IMPORTEXPORT 
JDSStorage< double >
template class
LAMA_DLL_IMPORTEXPORT 
MatrixStorage< float >
template class
LAMA_DLL_IMPORTEXPORT 
MatrixStorage< double >
template class
LAMA_DLL_IMPORTEXPORT 
SparseAssemblyStorage< float >
template class
LAMA_DLL_IMPORTEXPORT 
SparseAssemblyStorage< double >
template class
LAMA_DLL_IMPORTEXPORT 
StorageMethods< float >
template class
LAMA_DLL_IMPORTEXPORT 
StorageMethods< double >
template class
LAMA_DLL_IMPORTEXPORT 
StorageIO< float >
template class
LAMA_DLL_IMPORTEXPORT 
StorageIO< double >
template class
LAMA_DLL_IMPORTEXPORT 
WriteAccess< IndexType >
template class
LAMA_DLL_IMPORTEXPORT 
WriteAccess< float >
template class
LAMA_DLL_IMPORTEXPORT 
WriteAccess< double >

Detailed Description

The namespace lama holds everything of the C++ Library lama.

gemm

* Single Complex Precision */

This class creates 'distributed' marices for poisson solvers.

LAMA uses for all its classes and routines an own namespace.

The namespace lama holds everything of the LAMA Library.

Applications using LAMA must either put lama:: before the used classes and routines or utilize the using directive of C++.

                                         using namespace lama;
     lama::DenseVector<float> V;         DenseVector<float> V;
  std::auto_ptr<CSRSparseMatrix<double> > MatrixCreator<double>::createPoisson2D( 9, 4, 4 )  );

The matrix A will have a general distribution and is in CSR format.

* Double Complex Precision */


Typedef Documentation

typedef boost::shared_ptr<const Communicator> lama::CommunicatorPtr
typedef boost::shared_ptr<const Context> lama::ContextPtr

Context pointers will be always const, so context can never be modified.

Make ContextType visible in namespace, but not the different enumeration values.

typedef boost::shared_ptr<Criterion> lama::CriterionPtr
typedef boost::shared_ptr<const CUDAContext> lama::CUDAContextPtr
typedef boost::shared_ptr<const class Distribution> lama::DistributionPtr
typedef int lama::IndexType

Data type that is used for indexing in LAMA.

Currently, it is still necessary that it is a signed data type. int is the good choice, might be long int or long long int for future versions that deal with very large matrices even on on processor.

typedef boost::shared_ptr<Logger> lama::LoggerPtr
typedef boost::shared_ptr<class Matrix> lama::MatrixPtr

Pointer class for a matrix, always use of a shared pointer.

typedef boost::shared_ptr<Norm> lama::NormPtr
typedef boost::shared_ptr<OmegaSolver> lama::OldSolutionHandlerPtr
typedef int lama::PartitionId

Data type that is used for numbering of partitions.

typedef boost::shared_ptr<Solver> lama::SolverPtr
typedef unsigned int lama::TaskId

Type definition for task id.

typedef boost::shared_ptr<class Vector> lama::VectorPtr

Pointer class for a vector, always use of a shared pointer.


Enumeration Type Documentation

Enumerator:
CblasNonUnit 
CblasUnit 

Enumeration type for storage order of two-dimensional arrays, taken over from cblas.

Enumerator:
CblasRowMajor 
CblasColMajor 
Enumerator:
CblasLeft 
CblasRight 

Enumeration type for transpose use of two-dimensional arrays, taken over from cblas.

Enumerator:
CblasNoTrans 
CblasTrans 
CblasConjTrans 

Enumeration type for partial use of two-dimensional arrays, taken over from cblas.

Enumerator:
CblasUpper 
CblasLower 

ExpressionTypes expresses the type of an Expression.

Enumerator:
Plus 
Minus 
Times 
Divide 

Enumeration type for different matrix storage formats.

Enumerator:
CSR 
ELL 
DIA 
JDS 
COO 
DENSE 
ASSEMBLY 
UNDEFINED 
Enumerator:
PGASget 
PGASput 

Function Documentation

template<typename T >
T lama::cast ( const Scalar &  scalar)

Cast operator to convert a Scalar into corresponding basic type.

This solutions avoids an implicit conversion of a Scalar to a basic type.

References lama::Scalar::getValue().

void lama::computeROOTbackwards ( lama::PartitionId root,
const lama::IndexType numProcs 
)

Referenced by upperFin().

void lama::computeROOTforwards ( lama::PartitionId root,
const lama::IndexType numProcs 
)

Referenced by lowerFin().

const char * lama::cublasErrorString ( cublasStatus  res)

Function that translates enum cublasStatus to strings.

const char * lama::cudaDriverErrorString ( CUresult  res)

Function that translates enum CUresult to strings.

template<typename T >
static IndexType lama::fillGlobal ( T *  allValues,
const IndexType *  allOffsets,
const IndexType *  indexes,
const IndexType  numIndexes,
const T *  values 
) [static]
static IndexType lama::findCol ( const IndexType  columns[],
const IndexType  n,
const IndexType  j,
IndexType  lastPos 
) [static]
template<typename IndexType >
static IndexType lama::getMatrixPosition ( IndexType  idX,
IndexType  idY,
IndexType  idZ,
IndexType  dimX,
IndexType  dimY,
IndexType   
) [inline, static]
template<typename IndexType >
static IndexType lama::getNStencilValues ( IndexType  idX,
IndexType  idY,
IndexType  idZ,
IndexType  dimX,
IndexType  dimY,
IndexType  dimZ,
IndexType  length,
IndexType  maxDistance 
) [inline, static]
template<typename IndexType >
static int lama::getNumNeighbors ( IndexType  id,
IndexType  dim,
int  shift 
) [inline, static]

References abs().

Referenced by getNStencilValues(), and getStencil().

template<typename IndexType , typename ValueType >
static void lama::getStencil ( std::vector< IndexType > &  positions,
std::vector< ValueType > &  values,
const IndexType  idX,
const IndexType  idY,
const IndexType  idZ,
const IndexType  dimX,
const IndexType  dimY,
const IndexType  dimZ,
const IndexType  stencilType,
const IndexType  length,
const IndexType  maxDistance 
) [inline, static]
static void lama::getStencilProperties ( IndexType &  dimension,
IndexType &  length,
IndexType &  distance,
IndexType  stencilType 
) [inline, static]
Scalar lama::l1Norm ( const Scalar &  scalar)

References abs().

Referenced by lama::L1Norm::apply().

Scalar lama::l1Norm ( const Vector &  vector)
LAMA_DLL_IMPORTEXPORT Scalar lama::l2Norm ( const Scalar &  scalar)

calculates the l2 norm of the passed Scalar.

Parameters:
[in]scalarthe Scalar to calculate the l2 norm of.
Returns:
the l2 norm of the Scalar scalar.

References abs().

Referenced by lama::L2Norm::apply(), lama::InverseSolver::logEndSolve(), lama::IterativeSolver::logIterationEndAndResidual(), and lama::IterativeSolver::logStartSolve().

LAMA_DLL_IMPORTEXPORT Scalar lama::l2Norm ( const Vector &  vector)

calculates the l2 norm of the passed Vector.

Parameters:
[in]vectorthe Vector to calculate the l2 norm of.
Returns:
the l2 norm of the Vector vector.

References lama::Vector::l2Norm().

LAMA_STATIC_INLINE_FUNCTION_PREFIX void** lama::lama_dToVoidPtr ( double **  doublePointer)
lama::LAMA_LAMAINTERFACE_REGISTRATION ( Context::CUDA  ,
CUDAInterface   
)
lama::LAMA_LAMAINTERFACE_REGISTRATION ( Context::Host  ,
OpenMPInterface   
)
lama::LAMA_LOG_DEF_LOGGER ( LAMAInstance::logger  ,
"LAMAInstance"   
)
lama::LAMA_LOG_DEF_LOGGER ( LAMAInterface::logger  ,
"LAMAInterface"   
)
lama::LAMA_LOG_DEF_LOGGER ( OmegaSolver::logger  ,
"Solver.IterativeSolver.OmegaSolver"   
)
lama::LAMA_LOG_DEF_LOGGER ( Halo::logger  ,
"Halo"   
)
lama::LAMA_LOG_DEF_LOGGER ( PGASCommunicator::logger  ,
"Communicator.PGASCommunicator"   
)
lama::LAMA_LOG_DEF_LOGGER ( ContextAccess::logger  ,
"ContextAccess"   
)
lama::LAMA_LOG_DEF_LOGGER ( NoDistribution::logger  ,
"Distribution.NoDistribution"   
)
lama::LAMA_LOG_DEF_LOGGER ( BlockDistribution::logger  ,
"Distribution.BlockDistribution"   
)
lama::LAMA_LOG_DEF_LOGGER ( CyclicDistribution::logger  ,
"Distribution.CyclicDistribution"   
)
lama::LAMA_LOG_DEF_LOGGER ( GenBlockDistribution::logger  ,
"Distribution.GenBlockDistribution"   
)
lama::LAMA_LOG_DEF_LOGGER ( ContextManager::logger  ,
"ContextManager"   
)
lama::LAMA_LOG_DEF_LOGGER ( DistributionManager::logger  ,
"DistributionManager"   
)
lama::LAMA_LOG_DEF_LOGGER ( SolverFactory::logger  ,
"Solver.SolverFactory"   
)
lama::LAMA_LOG_DEF_LOGGER ( IterationCount::logger  ,
"Criterion.IterationCount"   
)
lama::LAMA_LOG_DEF_LOGGER ( IterativeSolver::logger  ,
"Solver.IterativeSolver"   
)
lama::LAMA_LOG_DEF_LOGGER ( CommunicatorManager::logger  ,
"CommunicatorManager"   
)
lama::LAMA_LOG_DEF_LOGGER ( CriteriaCreator::logger  ,
"Solver.SolverCreator.CriteriaCreator"   
)
lama::LAMA_LOG_DEF_LOGGER ( OpenMPDenseUtils::logger  ,
"OpenMP.DenseUtils"   
)
lama::LAMA_LOG_DEF_LOGGER ( GPIInterface::logger  ,
"PGASInterface.GPIInterface"   
)
lama::LAMA_LOG_DEF_LOGGER ( OpenShMemInterface::logger  ,
"PGASInterface.OpenShMemInterface"   
)
lama::LAMA_LOG_DEF_LOGGER ( HaloBuilder::logger  ,
"Halo.Builder"   
)
lama::LAMA_LOG_DEF_LOGGER ( Criterion::logger  ,
"Criterion"   
)
lama::LAMA_LOG_DEF_LOGGER ( OpenMPCOOUtils::logger  ,
"OpenMP.COOUtils"   
)
lama::LAMA_LOG_DEF_LOGGER ( PGASCommunicatorManager::logger  ,
"CommunicatorManager.PGASCommunicatorManager"   
)
lama::LAMA_LOG_DEF_LOGGER ( CG::logger  ,
"Solver.IterativeSolver.CG"   
)
lama::LAMA_LOG_DEF_LOGGER ( CUDABLAS2::logger  ,
"CUDA.BLAS2"   
)
lama::LAMA_LOG_DEF_LOGGER ( CUDABLAS3::logger  ,
"CUDA.BLAS3"   
)
lama::LAMA_LOG_DEF_LOGGER ( DefaultJacobi::logger  ,
"Jacobi.DefaultJacobi"   
)
lama::LAMA_LOG_DEF_LOGGER ( SingleGridSetup::logger  ,
"AMGSetup.SingleGridSetup"   
)
lama::LAMA_LOG_DEF_LOGGER ( SyncToken::logger  ,
"SyncToken"   
)
lama::LAMA_LOG_DEF_LOGGER ( OpenMPBLAS2::logger  ,
"OpenMP.BLAS2"   
)
lama::LAMA_LOG_DEF_LOGGER ( OpenMPUtils::logger  ,
"OpenMP.Utils"   
)
lama::LAMA_LOG_DEF_LOGGER ( PGASContext::logger  ,
"Context.PGASContext"   
)
lama::LAMA_LOG_DEF_LOGGER ( Redistributor::logger  ,
"Redistributor"   
)
lama::LAMA_LOG_DEF_LOGGER ( Matrix::logger  ,
"Matrix"   
)
lama::LAMA_LOG_DEF_LOGGER ( OpenMPBLAS1::logger  ,
"OpenMP.BLAS1"   
)
lama::LAMA_LOG_DEF_LOGGER ( CommunicationPlan::logger  ,
"CommunicationPlan"   
)
lama::LAMA_LOG_DEF_LOGGER ( ContextFactory::logger  ,
"ContextFactory"   
)
lama::LAMA_LOG_DEF_LOGGER ( Creator::logger  ,
"Creator"   
)
lama::LAMA_LOG_DEF_LOGGER ( Context::logger  ,
"Context"   
)
lama::LAMA_LOG_DEF_LOGGER ( LoggerCreator::logger  ,
"Solver.SolverCreator.LoggerCreator"   
)
lama::LAMA_LOG_DEF_LOGGER ( Logger::logger  ,
"Logger"   
)
lama::LAMA_LOG_DEF_LOGGER ( IterativeSolverCreator::logger  ,
"Solver.SolverCreator.IterativeSolverCreator"   
)
lama::LAMA_LOG_DEF_LOGGER ( Solver::logger  ,
"Solver"   
)
lama::LAMA_LOG_DEF_LOGGER ( GeneralDistribution::logger  ,
"Distribution.General"   
)
lama::LAMA_LOG_DEF_LOGGER ( NoDistributionManager::logger  ,
"DistributionManager.NoDistributionManager"   
)
lama::LAMA_LOG_DEF_LOGGER ( OmegaSolverCreator::logger  ,
"Solver.SolverCreator.OmegaSolverCreator"   
)
lama::LAMA_LOG_DEF_LOGGER ( GMRES::logger  ,
"Solver.IterativeSolver.GMRES"   
)
lama::LAMA_LOG_DEF_LOGGER ( SOR::logger  ,
"Solver.IterativeSolver.OmegaSolver.SOR"   
)
lama::LAMA_LOG_DEF_LOGGER ( Distribution::logger  ,
"Distribution"   
)
lama::LAMA_LOG_DEF_LOGGER ( MPICommunicatorManager::logger  ,
"CommunicatorManager.MPICommunicatorManager"   
)
lama::LAMA_LOG_DEF_LOGGER ( TaskSyncToken::logger  ,
"SyncToken.TaskSyncToken"   
)
lama::LAMA_LOG_DEF_LOGGER ( Communicator::logger  ,
"Communicator"   
)
lama::LAMA_LOG_DEF_LOGGER ( PGASInterface::logger  ,
"PGASInterface"   
)
lama::LAMA_LOG_DEF_LOGGER ( LAMAArrayUtils::logger  ,
"LAMAArrayUtils"   
)
lama::LAMA_LOG_DEF_LOGGER ( SolverCreator::logger  ,
"Solver.SolverCreator"   
)
lama::LAMA_LOG_DEF_LOGGER ( BlockDistributionManager::logger  ,
"DistributionManager.BlockDistributionManager"   
)
lama::LAMA_LOG_DEF_LOGGER ( SimpleAMG::logger  ,
"Solver.IterativeSolver.SimpleAMG"   
)
lama::LAMA_LOG_DEF_LOGGER ( CyclicDistributionManager::logger  ,
"DistributionManager.CyclicDistributionManager"   
)
lama::LAMA_LOG_DEF_LOGGER ( _StorageMethods::logger  ,
"StorageMethods"   
)
lama::LAMA_LOG_DEF_LOGGER ( OpenMPBLAS3::logger  ,
"OpenMP.BLAS3"   
)
lama::LAMA_LOG_DEF_LOGGER ( DefaultHostContext::logger  ,
"Context.DefaultHostContext"   
)
lama::LAMA_LOG_DEF_LOGGER ( SimpleAMG::SimpleAMGRuntime::logger  ,
"Solver.IterativeSolver.SimpleAMG.SimpleAMGRuntime"   
)
lama::LAMA_LOG_DEF_LOGGER ( Vector::logger  ,
"Vector"   
)
lama::LAMA_LOG_DEF_LOGGER ( LAMAThreadPool::logger  ,
"LAMAThreadPool"   
)
lama::LAMA_LOG_DEF_LOGGER ( OpenMPDIAUtils::logger  ,
"OpenMP.DIAUtils"   
)
lama::LAMA_LOG_DEF_LOGGER ( DenseMatrixOps::logger  ,
"DenseMatrixOps"   
)
lama::LAMA_LOG_DEF_LOGGER ( CUDAHostContext::logger  ,
"Context.CUDAHostContext"   
)
lama::LAMA_LOG_DEF_LOGGER ( OpenMPCSRUtils::logger  ,
"OpenMP.CSRUtils"   
)
lama::LAMA_LOG_DEF_LOGGER ( CGCreator::logger  ,
"Solver.SolverCreator.CGCreator"   
)
lama::LAMA_LOG_DEF_LOGGER ( LUSolverCreator::logger  ,
"Solver.SolverCreator.LUSolverCreator"   
)
lama::LAMA_LOG_DEF_LOGGER ( SORCreator::logger  ,
"Solver.SolverCreator.SORCreator"   
)
lama::LAMA_LOG_DEF_LOGGER ( Exception::logger  ,
"Exception"   
)
lama::LAMA_LOG_DEF_LOGGER ( InverseSolverCreator::logger  ,
"Solver.SolverCreator.InverseSolverCreator"   
)
lama::LAMA_LOG_DEF_LOGGER ( SpecializedJacobiCreator::logger  ,
"Solver.SolverCreator.SpecializedJacobiCreator"   
)
lama::LAMA_LOG_DEF_LOGGER ( OpenMPELLUtils::logger  ,
"OpenMP.ELLUtils"   
)
lama::LAMA_LOG_DEF_LOGGER ( OpenMPJDSUtils::logger  ,
"OpenMP.JDSUtils"   
)
lama::LAMA_LOG_DEF_LOGGER ( DefaultJacobiCreator::logger  ,
"Solver.SolverCreator.DefaultJacobiCreator"   
)
lama::LAMA_LOG_DEF_LOGGER ( GMRESCreator::logger  ,
"Solver.SolverCreator.GMRESCreator"   
)
lama::LAMA_LOG_DEF_LOGGER ( LUSolverCreator::logger  ,
"Solver.SolverCreator.SpecialLUSolverCreator"   
)
lama::LAMA_LOG_DEF_LOGGER ( CUDAInterface::logger  ,
"LAMAInterface.CUDAInterface"   
)
lama::LAMA_LOG_DEF_LOGGER ( _StorageIO::logger  ,
"StorageIO"   
)
lama::LAMA_LOG_DEF_LOGGER ( DistributionFactory::logger  ,
"DistributionFactory"   
)
lama::LAMA_LOG_DEF_LOGGER ( SimpleAMGCreator::logger  ,
"Solver.SolverCreator.SimpleAMGCreator"   
)
lama::LAMA_LOG_DEF_LOGGER ( InverseSolver::logger  ,
"Solver.InverseSolver"   
)
lama::LAMA_LOG_DEF_LOGGER ( CommunicatorFactory::logger  ,
"CommunicatorFactory"   
)
lama::LAMA_LOG_DEF_LOGGER ( MPICommunicator::logger  ,
"Communicator.MPICommunicator"   
)
lama::LAMA_LOG_DEF_LOGGER ( MetaSolver::logger  ,
"Solver.MetaSolver"   
)
lama::LAMA_LOG_DEF_LOGGER ( CUDAContext::logger  ,
"Context.CUDAContext"   
)

static variables

lama::LAMA_LOG_DEF_LOGGER ( _MatrixStorage::logger  ,
"MatrixStorage"   
)
lama::LAMA_LOG_DEF_LOGGER ( Task::logger  ,
"Task"   
)
lama::LAMA_LOG_DEF_LOGGER ( OpenMPSCALAPACK::logger  ,
"OpenMP.SCALAPACK"   
)
lama::LAMA_LOG_DEF_LOGGER ( OpenMPInterface::logger  ,
"LAMAInterface.OpenMPInterface"   
)
lama::LAMA_LOG_DEF_LOGGER ( MetaMatrix::logger  ,
"Matrix.MetaMatrix"   
)
lama::LAMA_LOG_DEF_LOGGER ( LUSolver::logger  ,
"LUSolver"   
)
lama::LAMA_LOG_DEF_LOGGER ( OpenMPLAPACK::logger  ,
"OpenMP.LAPACK"   
)
lama::LAMA_LOG_DEF_LOGGER ( MatrixConfigGrammar::logger  ,
"Matrix.MetaMatrix.Grammar"   
)
lama::LAMA_LOG_DEF_LOGGER ( SolverConfigGrammar::logger  ,
"Solver.MetaSolver.Grammar"   
)
lama::LAMA_LOG_DEF_TEMPLATE_LOGGER ( template< typename ValueType >  ,
ReadAccess< ValueType >::logger  ,
"ReadAccess"   
)
lama::LAMA_LOG_DEF_TEMPLATE_LOGGER ( template< typename ValueType >  ,
WriteAccess< ValueType >::logger  ,
"WriteAccess"   
)
lama::LAMA_LOG_DEF_TEMPLATE_LOGGER ( template< typename T >  ,
ELLSparseMatrix< T >::logger  ,
"Matrix.SparseMatrix.ELLSparseMatrix"   
)
lama::LAMA_LOG_DEF_TEMPLATE_LOGGER ( template< typename T >  ,
COOSparseMatrix< T >::logger  ,
"Matrix.SparseMatrix.COOSparseMatrix"   
)
lama::LAMA_LOG_DEF_TEMPLATE_LOGGER ( template< typename T >  ,
CSRSparseMatrix< T >::logger  ,
"Matrix.SparseMatrix.CSRSparseMatrix"   
)
lama::LAMA_LOG_DEF_TEMPLATE_LOGGER ( template< typename T >  ,
XXXSparseMatrix< T >::logger  ,
"Matrix.SparseMatrix.XXXSparseMatrix"   
)
lama::LAMA_LOG_DEF_TEMPLATE_LOGGER ( template< typename T >  ,
DIASparseMatrix< T >::logger  ,
"Matrix.SparseMatrix.DIASparseMatrix"   
)
lama::LAMA_LOG_DEF_TEMPLATE_LOGGER ( template< typename T >  ,
JDSSparseMatrix< T >::logger  ,
"Matrix.SparseMatrix.JDSSparseMatrix"   
)
lama::LAMA_LOG_DEF_TEMPLATE_LOGGER ( template< typename ValueType >  ,
MatrixCreator< ValueType >::logger  ,
"MatrixCreator"   
)
lama::LAMA_LOG_DEF_TEMPLATE_LOGGER ( template< typename ValueType >  ,
JDSStorage< ValueType >::logger  ,
"MatrixStorage.JDSStorage"   
)
lama::LAMA_LOG_DEF_TEMPLATE_LOGGER ( template< typename ValueType >  ,
SparseAssemblyStorage< ValueType >::logger  ,
"MatrixStorage.SparseAssemblyStorage"   
)
lama::LAMA_LOG_DEF_TEMPLATE_LOGGER ( template< typename T >  ,
DenseMatrix< T >::logger  ,
"Matrix.DenseMatrix"   
)
lama::LAMA_LOG_DEF_TEMPLATE_LOGGER ( template< typename ValueType >  ,
ELLStorage< ValueType >::logger  ,
"MatrixStorage.ELLStorage"   
)
lama::LAMA_LOG_DEF_TEMPLATE_LOGGER ( template< typename ValueType >  ,
DenseStorageView< ValueType >::logger  ,
"MatrixStorage.DenseStorage"   
)
lama::LAMA_LOG_DEF_TEMPLATE_LOGGER ( template< typename ValueType >  ,
COOStorage< ValueType >::logger  ,
"MatrixStorage.COOStorage"   
)
lama::LAMA_LOG_DEF_TEMPLATE_LOGGER ( template< typename T >  ,
DenseVector< T >::logger  ,
"Vector.DenseVector"   
)
lama::LAMA_LOG_DEF_TEMPLATE_LOGGER ( template< typename ValueType >  ,
DIAStorage< ValueType >::logger  ,
"MatrixStorage.DIAStorage"   
)
lama::LAMA_LOG_DEF_TEMPLATE_LOGGER ( template< typename ValueType >  ,
CSRStorage< ValueType >::logger  ,
"MatrixStorage.CSRStorage"   
)
lama::LAMA_LOG_DEF_TEMPLATE_LOGGER ( template< typename T >  ,
SparseMatrix< T >::logger  ,
"Matrix.SparseMatrix"   
)
lama::LAMA_LOG_DEF_TEMPLATE_LOGGER ( template< typename ValueType >  ,
SimpleStorageStrategy< ValueType >::logger  ,
"Matrix.SimpleStorageStrategy"   
)
lama::LAMA_LOG_DEF_TEMPLATE_LOGGER ( template< typename ValueType >  ,
LAMAArray< ValueType >::logger  ,
"LAMAArray"   
)
lama::LAMA_LOG_DEF_TEMPLATE_LOGGER ( template< typename T >  ,
HostReadAccess< T >::logger  ,
"ReadAccess.HostReadAccess"   
)
lama::LAMA_SOLVERCREATOR_REGISTRATION ( InverseSolverCreator  )
lama::LAMA_SOLVERCREATOR_REGISTRATION ( SpecialLUSolverCreator  )
lama::LAMA_SOLVERCREATOR_REGISTRATION ( DefaultJacobiCreator  )
lama::LAMA_SOLVERCREATOR_REGISTRATION ( SpecializedJacobiCreator  )
lama::LAMA_SOLVERCREATOR_REGISTRATION ( SimpleAMGCreator  )
LAMA_STATIC_INLINE_FUNCTION_PREFIX void** lama::lama_sToVoidPtr ( float **  floatPointer)
bool lama::lowerFin ( lama::IndexType i,
lama::PartitionId root,
const lama::IndexType nP,
const lama::IndexType bH 
)

References computeROOTforwards().

Referenced by lama::LUSolver::ptrsm().

void lama::lowerInit ( lama::IndexType begin,
lama::IndexType end,
const lama::IndexType i,
const lama::IndexType nP,
const lama::IndexType bW,
const lama::PartitionId me,
const lama::PartitionId root 
)

Referenced by lama::LUSolver::ptrsm().

LAMA_DLL_IMPORTEXPORT Scalar lama::maxNorm ( const Scalar &  scalar)

References abs().

Referenced by lama::MaxNorm::apply().

LAMA_DLL_IMPORTEXPORT Scalar lama::maxNorm ( const Vector &  vector)
bool lama::operator!= ( const Scalar &  a,
const Scalar &  b 
) [inline]

Check inequality of a and b.

Parameters:
[in]athe 1st Scalar to compare this to.
[in]bthe 2nd Scalar to compare this to.
Returns:
if a is unequal to b
CriterionPtr lama::operator&& ( CriterionPtr  a,
CriterionPtr  b 
) [inline]

References lama::Criterion::AND.

Expression<Scalar,Vector,Times> lama::operator* ( const Scalar &  alpha,
const Vector &  x 
) [inline]

The times operator creates an expression that represents Scalar times Vector.

Parameters:
[in]alphaThe scalar.
[in]xThe vector.
Returns:
The expression representing this difference.
Expression<Scalar,Matrix,Times> lama::operator* ( const Scalar &  scalar,
const Matrix &  matrix 
) [inline]

This times operator creates an expression that represents the product of Scalar times Matrix.

Parameters:
[in]scalarThe input scalar.
[in]matrixThe input matrix.
Returns:
The expression representing this product.
Expression<Matrix,Vector,Times> lama::operator* ( const Matrix &  matrix,
const Vector &  vector 
) [inline]

This times operator creates an expression that represents the product of a Matrix and a Vector.

The times operator creates an Expression that represents the product of the a matrix and a vector. To give an example this Expression is used by a assignment operator Vector to assign the result of this expression to a Vector without generating any unnecessary temporaries.

Parameters:
[in]matrixThe input matrix.
[in]vectorThe input vector.
Returns:
The expression representing this product.
Expression<Scalar,Vector,Times> lama::operator* ( const Vector &  x,
const Scalar &  alpha 
) [inline]

The times operator creates an expression that represents Vector times Scalar.

Parameters:
[in]xThe vector.
[in]alphaThe scalar.
Returns:
The expression representing this difference.
Expression<Scalar,Matrix,Times> lama::operator* ( const Matrix &  matrix,
const Scalar &  scalar 
) [inline]

This times operator creates an expression that represents the product of Scalar times Matrix.

Parameters:
[in]matrixThe input matrix.
[in]scalarThe input scalar.
Returns:
The expression representing this product.
Expression<Scalar,Expression<Matrix,Vector,Times>,Times> lama::operator* ( const Scalar &  scalar,
const Expression< Matrix, Vector, Times > &  exp 
) [inline]

This plus operator creates an expression that represents a * A * x, where x and y are vectors, A is a matrix and a and b are scalars.

Parameters:
[in]scalarThe Scalar.
[in]expThe Expression A*x
Returns:
The expression representing this product.

References Times.

Expression<Matrix,Matrix,Times> lama::operator* ( const Matrix &  m1,
const Matrix &  m2 
) [inline]

This times operator creates an expression that represents the product of a Matrix and a Matrix.

Parameters:
[in]m1The first input matrix.
[in]m2The second input matrix.
Returns:
The expression representing this product.
Expression<Scalar,Expression<Matrix,Vector,Times>,Times> lama::operator* ( const Expression< Matrix, Vector, Times > &  exp,
const Scalar &  scalar 
) [inline]

This times operator creates an expression that represents a * A * x, where x is vector, A is a matrix and a is a scalar.

Parameters:
[in]expThe Expression A*x
[in]scalarThe Scalar.
Returns:
The expression representing this product.

References Times.

Expression<Scalar,Expression<Matrix,Matrix,Times>,Times> lama::operator* ( const Matrix &  m1,
const Expression< Scalar, Matrix, Times > &  exp 
) [inline]

This times operator creates an expression that represents the product of Scalar times Matrix times Matrix.

Parameters:
[in]m1The first input matrix.
[in]expThe expression scalar times matrix.
Returns:
The expression representing this product.

References lama::Expression< T1, T2, type >::getArg1(), lama::Expression< T1, T2, type >::getArg2(), and Times.

Expression<Scalar,Expression<Matrix,Vector,Times>,Times> lama::operator* ( const Matrix &  matrix,
const Expression< Scalar, Vector, Times > &  exp 
) [inline]

This times operator creates an expression that represents the product of a Matrix, Vector and Scalar.

Parameters:
[in]matrixThe matrix.
[in]expThe expression a*x
Returns:
The expression representing this product.

References lama::Expression< T1, T2, type >::getArg1(), lama::Expression< T1, T2, type >::getArg2(), and Times.

Expression<Scalar,Expression<Matrix,Matrix,Times>,Times> lama::operator* ( const Expression< Scalar, Matrix, Times > &  exp,
const Matrix &  m1 
) [inline]

This times operator creates an expression that represents the product of Scalar times Matrix times Matrix.

Parameters:
[in]expThe expression scalar times matrix.
[in]m1The first input matrix.
Returns:
The expression representing this product.

References lama::Expression< T1, T2, type >::getArg1(), lama::Expression< T1, T2, type >::getArg2(), and Times.

Expression<Scalar,Expression<Matrix,Vector,Times>,Times> lama::operator* ( const Expression< Scalar, Matrix, Times > &  exp,
const Vector &  vector 
) [inline]

This plus operator creates an expression that represents A * B * x, where x is vector, A and B are matrices.

Parameters:
[in]expThe expression a*A
[in]vectorThe Vector.
Returns:
The expression representing this product.

References lama::Expression< T1, T2, type >::getArg1(), lama::Expression< T1, T2, type >::getArg2(), and Times.

Expression<Scalar,Expression<Matrix,Matrix,Times>,Times> lama::operator* ( const Scalar &  s1,
const Expression< Matrix, Matrix, Times > &  exp 
) [inline]

This times operator creates an expression that represents the product of Scalar times Matrix times Matrix.

Parameters:
[in]s1The Scalar
[in]expThe expression scalar times matrix.
Returns:
The expression representing this product.

References Times.

Expression<Scalar,Expression<Matrix,Matrix,Times>,Times> lama::operator* ( const Expression< Matrix, Matrix, Times > &  exp,
const Scalar &  s1 
) [inline]

This times operator creates an expression that represents the product of Scalar times Matrix times Matrix.

Parameters:
[in]expThe expression scalar times matrix.
[in]s1The Scalar
Returns:
The expression representing this product.

References Times.

Scalar lama::operator* ( const Scalar &  a,
const Scalar &  b 
) [inline]

Multiply Scalar a with Scalar b.

Parameters:
[in]a1st Scalar.
[in]b2nd Scalar.
Returns:
product

References lama::Scalar::getValue().

Expression<Expression<Scalar,Vector,Times>, Expression<Scalar,Vector,Times>, Plus > lama::operator+ ( const Vector &  x,
const Vector &  y 
) [inline]

The plus operator creates an expression that represents the sum of two vectors.

Parameters:
[in]xThe first vector.
[in]yThe second vector.
Returns:
The expression representing this sum.

References Plus.

Expression<Expression<Scalar,Vector,Times>, Expression<Scalar,Vector,Times>, Plus > lama::operator+ ( const Vector &  x,
const Expression< Scalar, Vector, Times > &  exp2 
) [inline]

The plus operator creates an expression that represents sum of Vector and Vector times Scalar.

Parameters:
[in]xThe vector.
[in]exp2The Vector times Scalar.
Returns:
The expression representing this difference.

References Plus.

Expression<Expression<Scalar,Vector,Times>, Expression<Scalar,Vector,Times>, Plus > lama::operator+ ( const Expression< Scalar, Vector, Times > &  exp1,
const Expression< Scalar, Vector, Times > &  exp2 
) [inline]

The plus operator creates an expression that represents sum of Vector times Scalar and Vector times Scalar.

Parameters:
[in]exp1The vector times Scalar
[in]exp2The vector times Scalar
Returns:
The expression representing this difference.

References Plus.

Expression<Expression<Scalar,Vector,Times>, Expression<Scalar,Vector,Times>, Plus > lama::operator+ ( const Expression< Scalar, Vector, Times > &  exp2,
const Vector &  x 
) [inline]

The plus operator creates an expression that represents sum of Vector times Scalar plus Vector.

Parameters:
[in]xThe vector.
[in]exp2Expression of Scalar times Vector.
Returns:
The expression representing this difference.

References Plus.

Expression<Expression<Scalar,Vector,Times>, Expression<Scalar,Vector,Times>, Plus > lama::operator+ ( const Expression< Vector, Scalar, Times > &  exp2,
const Vector &  x 
) [inline]

The plus operator creates an expression that represents sum of Scalar times Vector plus Vector.

Parameters:
[in]xThe vector.
[in]exp2Expression of Scalar times Vector.
Returns:
The expression representing this difference.

References lama::Expression< T1, T2, type >::getArg1(), lama::Expression< T1, T2, type >::getArg2(), and Plus.

Expression< Expression< Scalar, Expression< Matrix, Matrix, Times>, Times>, Expression< Scalar, Matrix, Times>, Plus> lama::operator+ ( const Expression< Scalar, Expression< Matrix, Matrix, Times >, Times > &  exp1,
const Expression< Scalar, Matrix, Times > &  exp2 
) [inline]

This plus operator creates an expression that represents the sum of Scalar times Matrix times Matrix plus Scalar times Matrix.

Parameters:
[in]exp1The expression Scalar times Matrix times Matrix.
[in]exp2The expression Scalar times Matrix.
Returns:
The expression representing this sum.

References Plus, and Times.

Expression< Expression< Scalar, Expression< Matrix, Matrix, Times>, Times>, Expression< Scalar, Matrix, Times>, Plus> lama::operator+ ( const Expression< Scalar, Matrix, Times > &  exp2,
const Expression< Scalar, Expression< Matrix, Matrix, Times >, Times > &  exp1 
) [inline]

This plus operator creates an expression that represents the sum of Scalar times Matrix times Matrix plus Scalar times Matrix.

Parameters:
[in]exp2The expression Scalar times Matrix.
[in]exp1The expression Scalar times Matrix times Matrix.
Returns:
The expression representing this sum.

References Plus, and Times.

Expression<Expression<Scalar, Expression<Matrix,Vector,Times>, Times>, Expression<Scalar,Vector,Times>, Plus> lama::operator+ ( const Vector &  vector,
const Expression< Matrix, Vector, Times > &  exp 
) [inline]

This plus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.

Parameters:
[in]vectorThe input vector y.
[in]expThe expression A * x.
Returns:
The expression representing this addition.

References Plus, and Times.

Scalar lama::operator+ ( const Scalar &  a,
const Scalar &  b 
) [inline]

Add Scalar a with Scalar b.

Parameters:
[in]a1st Scalar.
[in]b2nd Scalar.
Returns:
sum

References lama::Scalar::getValue().

Expression<Expression<Scalar, Expression<Matrix,Vector,Times>, Times>, Expression<Scalar,Vector,Times>, Plus> lama::operator+ ( const Expression< Scalar, Expression< Matrix, Vector, Times >, Times > &  exp,
const Vector &  vector 
) [inline]

This plus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.

Parameters:
[in]vectorThe input vector y.
[in]expThe expression a * A * y.
Returns:
The expression representing this addition.

References Plus, and Times.

Expression<Expression<Scalar, Expression<Matrix,Vector,Times>, Times>, Expression<Scalar,Vector,Times>, Plus> lama::operator+ ( const Expression< Matrix, Expression< Scalar, Vector, Times >, Times > &  exp,
const Vector &  vector 
) [inline]

This plus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.

Parameters:
[in]vectorThe input vector y.
[in]expThe expression A * a * x.
Returns:
The expression representing this addition.

References Plus, and Times.

Expression<Expression<Scalar, Expression<Matrix,Vector,Times>, Times>, Expression<Scalar,Vector,Times>, Plus> lama::operator+ ( const Expression< Matrix, Expression< Vector, Scalar, Times >, Times > &  exp,
const Vector &  vector 
) [inline]

This plus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.

Parameters:
[in]vectorThe input vector y.
[in]expThe expression A * x * a.
Returns:
The expression representing this addition.

References Plus, and Times.

Expression<Expression<Scalar, Expression<Matrix,Vector,Times>, Times>, Expression<Scalar,Vector,Times>, Plus> lama::operator+ ( const Expression< Matrix, Vector, Times > &  exp,
const Vector &  vector 
) [inline]

This plus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.

Parameters:
[in]vectorThe input vector y.
[in]expThe expression A * x.
Returns:
The expression representing this addition.

References lama::Expression< T1, T2, type >::getArg1(), lama::Expression< T1, T2, type >::getArg2(), Plus, and Times.

Expression< Expression< Scalar, Expression< Matrix, Vector, Times>, Times>, Expression< Scalar, Vector, Times>, Plus> lama::operator+ ( const Expression< Scalar, Expression< Matrix, Vector, Times >, Times > &  exp1,
const Expression< Scalar, Vector, Times > &  exp2 
) [inline]

This plus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.

Parameters:
[in]exp1The expression a*A*x
[in]exp2The expression b*y
Returns:
The expression representing this product.

References Plus, and Times.

Expression< Expression< Scalar, Expression< Matrix, Vector, Times>, Times>, Expression< Scalar, Vector, Times>, Plus> lama::operator+ ( const Expression< Scalar, Vector, Times > &  exp2,
const Expression< Scalar, Expression< Matrix, Vector, Times >, Times > &  exp1 
) [inline]

This plus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.

Parameters:
[in]exp2The expression a*x
[in]exp1The expression b*A*y
Returns:
The expression representing this product.

References Plus, and Times.

Expression< Expression< Scalar, Expression< Matrix, Vector, Times>, Times>, Expression< Scalar, Vector, Times>, Plus> lama::operator+ ( const Expression< Matrix, Vector, Times > &  exp2,
const Expression< Scalar, Vector, Times > &  exp1 
) [inline]

This plus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.

Parameters:
[in]exp2The expression a*x
[in]exp1The expression b*A*y
Returns:
The expression representing this product.

References Plus, and Times.

Expression<Expression<Scalar, Expression<Matrix,Vector,Times>, Times>, Expression<Scalar,Vector,Times>, Plus> lama::operator- ( const Expression< Scalar, Expression< Matrix, Vector, Times >, Times > &  exp,
const Vector &  vector 
) [inline]

This minus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.

Parameters:
[in]vectorThe input vector y.
[in]expThe expression a * A * x.
Returns:
The expression representing this sum.

References Plus, and Times.

Expression<Expression<Scalar,Vector,Times>, Expression<Scalar,Vector,Times>, Plus > lama::operator- ( const Vector &  x,
const Expression< Scalar, Vector, Times > &  exp2 
) [inline]

The minus operator creates an expression that represents the difference of Vector and Vector times Scalar.

Parameters:
[in]xThe vector.
[in]exp2Expression of Scalar times Vector.
Returns:
The expression representing this difference.

References lama::Expression< T1, T2, type >::getArg1(), lama::Expression< T1, T2, type >::getArg2(), and Plus.

Expression<Expression<Scalar, Expression<Matrix,Vector,Times>, Times>, Expression<Scalar,Vector,Times>, Plus> lama::operator- ( const Expression< Matrix, Expression< Vector, Scalar, Times >, Times > &  exp,
const Vector &  vector 
) [inline]

This minus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.

Parameters:
[in]vectorThe input vector y.
[in]expThe expression A * x * a.
Returns:
The expression representing this sum.

References Plus, and Times.

Expression<Expression<Scalar,Vector,Times>, Expression<Scalar,Vector,Times>, Plus > lama::operator- ( const Expression< Scalar, Vector, Times > &  exp1,
const Expression< Scalar, Vector, Times > &  exp2 
) [inline]

The minus operator creates an expression that represents the difference of two scalar vector products.

Parameters:
[in]exp1The first expression.
[in]exp2The second expression.
Returns:
The expression representing this difference.

References lama::Expression< T1, T2, type >::getArg1(), lama::Expression< T1, T2, type >::getArg2(), and Plus.

Expression< Expression< Scalar, Expression< Matrix, Matrix, Times>, Times>, Expression< Scalar, Matrix, Times>, Plus> lama::operator- ( const Expression< Scalar, Expression< Matrix, Matrix, Times >, Times > &  exp1,
const Expression< Scalar, Matrix, Times > &  exp2 
) [inline]

This times operator creates an expression that represents the sum of Scalar*(Matrix*Matrix) + Scalar*Matrix.

Parameters:
[in]exp1The expression Scalar*(Matrix*Matrix).
[in]exp2The expression Scalar*Matrix.
Returns:
The expression representing this sum.

References lama::Expression< T1, T2, type >::getArg1(), lama::Expression< T1, T2, type >::getArg2(), Plus, and Times.

Expression< Expression<Scalar, Expression< Matrix, Vector, Times>, Times>, Expression<Scalar, Vector, Times>, Plus> lama::operator- ( const Expression< Scalar, Expression< Matrix, Vector, Times >, Times > &  exp1,
const Expression< Scalar, Vector, Times > &  exp2 
) [inline]

This minus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.

Parameters:
[in]exp1The expression a*A*x
[in]exp2The expression b*y
Returns:
The expression representing this sum.

References lama::Expression< T1, T2, type >::getArg1(), lama::Expression< T1, T2, type >::getArg2(), Plus, and Times.

Expression<Expression<Scalar,Vector,Times>, Expression<Scalar,Vector,Times>, Plus > lama::operator- ( const Vector &  x,
const Vector &  y 
) [inline]

The minus operator creates an expression that represents the difference of two vectors.

Parameters:
[in]xThe first vector.
[in]yThe second vector.
Returns:
The expression representing this difference.

References Plus.

Expression< Expression< Scalar, Expression< Matrix, Matrix, Times>, Times>, Expression< Scalar, Matrix, Times>, Plus> lama::operator- ( const Expression< Scalar, Matrix, Times > &  exp2,
const Expression< Scalar, Expression< Matrix, Matrix, Times >, Times > &  exp1 
) [inline]

This times operator creates an expression that represents the sum of Scalar*(Matrix*Matrix) + Scalar*Matrix.

Parameters:
[in]exp2The expression Scalar*Matrix.
[in]exp1The expression Scalar*(Matrix*Matrix).
Returns:
The expression representing this sum.

References Plus, and Times.

Expression< Expression<Scalar, Expression<Matrix, Vector, Times>, Times>, Expression<Scalar, Vector, Times>, Plus> lama::operator- ( const Expression< Scalar, Vector, Times > &  exp2,
const Expression< Scalar, Expression< Matrix, Vector, Times >, Times > &  exp1 
) [inline]

This minus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.

Parameters:
[in]exp2The expression a*x
[in]exp1The expression b*A*y
Returns:
The expression representing this sum.

References Plus, and Times.

Expression<Expression<Scalar,Vector,Times>, Expression<Scalar,Vector,Times>, Plus > lama::operator- ( const Expression< Scalar, Vector, Times > &  exp2,
const Vector &  x 
) [inline]

The minus operator creates an expression that represents the difference of Vector times Scalar and Vector.

Parameters:
[in]xThe vector.
[in]exp2Expression of Scalar times Vector.
Returns:
The expression representing this difference.
       exp2             x                     return 
   ( a * vector1 ) - vector1  ->  ( a * vector1 ) +  ( (-1.0) * vectorX )

References lama::Expression< T1, T2, type >::getArg1(), lama::Expression< T1, T2, type >::getArg2(), and Plus.

Expression<Expression<Scalar, Expression<Matrix,Vector,Times>, Times>, Expression<Scalar,Vector,Times>, Plus> lama::operator- ( const Vector &  vector,
const Expression< Matrix, Vector, Times > &  exp 
) [inline]

This minus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.

Parameters:
[in]vectorThe input vector y.
[in]expThe expression A * x.
Returns:
The expression representing this sum.

References Plus, and Times.

Expression<Expression<Scalar, Expression<Matrix,Vector,Times>, Times>, Expression<Scalar,Vector,Times>, Plus> lama::operator- ( const Expression< Matrix, Vector, Times > &  exp,
const Vector &  vector 
) [inline]

This minus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.

Parameters:
[in]vectorThe input vector y.
[in]expThe expression A * x.
Returns:
The expression representing this sum.

References Plus, and Times.

Expression<Expression<Scalar, Expression<Matrix,Vector,Times>, Times>, Expression<Scalar,Vector,Times>, Plus> lama::operator- ( const Expression< Matrix, Expression< Scalar, Vector, Times >, Times > &  exp,
const Vector &  vector 
) [inline]

This minus operator creates an expression that represents a * A * x + b * y, where x and y are vectors, A is a matrix and a and b are scalars.

Parameters:
[in]vectorThe input vector y.
[in]expThe expression A * x.
Returns:
The expression representing this sum.

References Plus, and Times.

Scalar lama::operator- ( const Scalar &  a,
const Scalar &  b 
) [inline]

Subtract Scalar a with Scalar b.

Parameters:
[in]a1st Scalar.
[in]b2nd Scalar.
Returns:
difference

References lama::Scalar::getValue().

Scalar lama::operator/ ( const Scalar &  a,
const Scalar &  b 
) [inline]

Divide Scalar a with Scalar b.

Parameters:
[in]a1st Scalar.
[in]b2nd Scalar.
Returns:
quotient

References lama::Scalar::getValue().

bool lama::operator< ( const Scalar &  a,
const Scalar &  b 
) [inline]
LAMA_DLL_IMPORTEXPORT std::ostream & lama::operator<< ( std::ostream &  stream,
const Scalar::ScalarType &  object 
)
LAMA_DLL_IMPORTEXPORT std::ostream & lama::operator<< ( std::ostream &  stream,
const ContextType  type 
)
std::ostream& lama::operator<< ( std::ostream &  stream,
Distribution const &  dist 
)
std::ostream & lama::operator<< ( std::ostream &  stream,
const MatrixStorageFormat  storageFormat 
)

References COO, CSR, DENSE, DIA, ELL, and JDS.

std::ostream& lama::operator<< ( std::ostream &  stream,
const Matrix::SyncKind &  kind 
) [inline]

This function prints a SyncKind on an output stream.

Parameters:
streamis the reference to the output stream
kindis the enum value that is printed

References lama::Matrix::ASYNCHRONOUS, and lama::Matrix::SYNCHRONOUS.

bool lama::operator<= ( const Scalar &  a,
const Scalar &  b 
) [inline]
bool lama::operator== ( const Scalar &  a,
const Scalar &  b 
) [inline]

Check equality of a and b.

Parameters:
[in]athe 1st Scalar to compare this to.
[in]bthe 2nd Scalar to compare this to.
Returns:
if a is equal to b

References lama::Scalar::getValue().

bool lama::operator> ( const Scalar &  a,
const Scalar &  b 
) [inline]
bool lama::operator>= ( const Scalar &  a,
const Scalar &  b 
) [inline]
CriterionPtr lama::operator|| ( CriterionPtr  a,
CriterionPtr  b 
) [inline]

References lama::Criterion::OR.

template<typename FileType , typename DataType , int offset>
static void lama::readBinaryData ( std::fstream &  inFile,
DataType  data[],
const IndexType  n 
) [static]
template<typename FileType , typename DataType >
static void lama::readBinaryData ( std::fstream &  inFile,
DataType  data[],
const IndexType  n 
) [static]
template<typename FileType , typename DataType , int offset>
static void lama::readData ( XDRFileStream &  inFile,
DataType  data[],
const IndexType  n 
) [static]
template<typename ValueType >
static void lama::replicate ( DenseStorage< ValueType > &  replicatedData,
DenseStorage< ValueType > &  distributedData,
const Distribution &  distribution 
) [static]
template<>
Scalar::ScalarType lama::Scalar::getType< std::complex< double > > ( ) [inline]
template<>
Scalar::ScalarType lama::Scalar::getType< std::complex< float > > ( ) [inline]

References lama::File::COMPLEX.

template<>
Scalar::ScalarType lama::Scalar::getType< std::complex< long double > > ( ) [inline]
Scalar lama::sqrt ( const Scalar  scalar) [inline]
bool lama::upperFin ( lama::IndexType i,
lama::PartitionId root,
const lama::IndexType nP,
const lama::IndexType  
)

References computeROOTbackwards().

Referenced by lama::LUSolver::ptrsm().

void lama::upperInit ( lama::IndexType begin,
lama::IndexType end,
const lama::IndexType i,
const lama::IndexType nP,
const lama::IndexType ,
const lama::PartitionId me,
const lama::PartitionId root 
)

Referenced by lama::LUSolver::ptrsm().

template<typename FileType , typename DataType , int offset>
static void lama::writeBinaryData ( std::fstream &  outFile,
const DataType  data[],
const IndexType  n 
) [static]
template<typename FileType , typename DataType >
static void lama::writeBinaryData ( std::fstream &  outFile,
const DataType  data[],
const IndexType  n 
) [static]
template<typename FileType , typename DataType , int offset>
static void lama::writeData ( XDRFileStream &  outFile,
const DataType  data[],
const IndexType  n 
) [static]

Variable Documentation

template class LAMA_DLL_IMPORTEXPORT lama::COOSparseMatrix< double >
template class LAMA_DLL_IMPORTEXPORT lama::COOStorage< double >
template class LAMA_DLL_IMPORTEXPORT lama::COOStorage< float >
template class LAMA_DLL_IMPORTEXPORT lama::CSRSparseMatrix< double >
template class LAMA_DLL_IMPORTEXPORT lama::CSRStorage< double >
template class LAMA_DLL_IMPORTEXPORT lama::CSRStorage< float >
template class LAMA_DLL_IMPORTEXPORT lama::DenseMatrix< double >
template class LAMA_DLL_IMPORTEXPORT lama::DenseMatrix< float >
template class LAMA_DLL_IMPORTEXPORT lama::DenseVector< double >
template class LAMA_DLL_IMPORTEXPORT lama::DenseVector< float >
template class LAMA_DLL_IMPORTEXPORT lama::DIASparseMatrix< double >
template class LAMA_DLL_IMPORTEXPORT lama::DIAStorage< double >
template class LAMA_DLL_IMPORTEXPORT lama::DIAStorage< float >
template class LAMA_DLL_IMPORTEXPORT lama::ELLSparseMatrix< double >
template class LAMA_DLL_IMPORTEXPORT lama::ELLStorage< double >
template class LAMA_DLL_IMPORTEXPORT lama::ELLStorage< float >
template class LAMA_DLL_IMPORTEXPORT lama::JDSSparseMatrix< double >
template class LAMA_DLL_IMPORTEXPORT lama::JDSStorage< double >
template class LAMA_DLL_IMPORTEXPORT lama::JDSStorage< float >
template class LAMA_DLL_IMPORTEXPORT lama::LAMAArrayView< double >
template class LAMA_DLL_IMPORTEXPORT lama::LAMAArrayView< float >
template class LAMA_DLL_IMPORTEXPORT lama::MatrixCreator< double >
template class LAMA_DLL_IMPORTEXPORT lama::MatrixCreator< float >
template class LAMA_DLL_IMPORTEXPORT lama::MatrixStorage< double >
template class LAMA_DLL_IMPORTEXPORT lama::MatrixStorage< float >
int lama::minThreads = 3 [static]

Number of minimal threads for which parallelization is effective.

Referenced by lama::OpenMPCSRUtils::scan().

const PartitionId lama::nPartition = std::numeric_limits<PartitionId>::max()

Definition for a constant value that indicates a non-available partition.

template class LAMA_DLL_IMPORTEXPORT lama::ReadAccess< double >
template class LAMA_DLL_IMPORTEXPORT lama::ReadAccess< float >
template class LAMA_DLL_IMPORTEXPORT lama::SparseMatrix< double >
template class LAMA_DLL_IMPORTEXPORT lama::SparseMatrix< float >
template class LAMA_DLL_IMPORTEXPORT lama::StorageIO< double >
template class LAMA_DLL_IMPORTEXPORT lama::StorageIO< float >
template class LAMA_DLL_IMPORTEXPORT lama::StorageMethods< double >
template class LAMA_DLL_IMPORTEXPORT lama::WriteAccess< double >
template class LAMA_DLL_IMPORTEXPORT lama::WriteAccess< float >
template class LAMA_DLL_IMPORTEXPORT lama::XXXSparseMatrix< double >