LAMA
|
Interface of the class Exception. More...
Go to the source code of this file.
Data Structures | |
class | lama::Exception |
The class Exception represents a general exception in lama. More... | |
Namespaces | |
namespace | lama |
The namespace lama holds everything of the C++ Library lama. | |
Defines | |
#define | LAMA_THROWEXCEPTION(msg) |
#define | LAMA_UNSUPPORTED(msg) |
This macro should be used to give hints about unsupported features. |
Interface of the class Exception.
#define LAMA_THROWEXCEPTION | ( | msg | ) |
{ \ std::ostringstream errorStr; \ errorStr<<"Exception in line "<<__LINE__<<" of file "<<__FILE__<<"\n"; \ errorStr<<" Message: "<<msg<<"\n"; \ lama::Exception::addCallStack( errorStr ); \ throw lama::Exception( errorStr.str() ); \ }
Referenced by lama::DefaultHostContext::allocate(), lama::Context::ContextData::allocate(), lama::DenseMatrix< T >::allocate(), lama::LAMAArrayUtils::assign(), lama::LAMAArray< T >::assign(), lama::DenseMatrix< T >::assign(), lama::SparseMatrix< T >::assign(), lama::DenseVector< T >::assign(), lama::LAMAArrayUtils::assignImpl1(), lama::SparseMatrix< T >::assignTranspose(), lama::SparseMatrix< T >::assignTransposeImpl(), lama::CRTPMatrixStorage< CSRStorage< T >, T >::buildCSRData(), lama::DenseMatrix< T >::buildCSRData(), lama::JDSStorage< T >::check(), lama::SparseAssemblyStorage< T >::check(), lama::Matrix::checkSettings(), lama::LAMAArrayView< T >::clear(), lama::InverseSolver::computeInverse(), lama::LUSolver::computeLUFactorization(), lama::Communicator::computeOwners(), lama::MetaSolver::copy(), lama::LAMAArray< T >::copy(), lama::_LAMAArray::create(), lama::Matrix::createDenseVector(), lama::Vector::createVector(), lama::IterativeSolver::criteriaAreSatisfied(), lama::CUDAHostContext::CUDAHostContext(), lama::InverseSolver::decompose(), lama::DenseMatrix< T >::DenseMatrix(), lama::Distributed::Distributed(), lama::Distribution::Distribution(), lama::DenseVector< T >::dotProduct(), lama::Communicator::factorize2(), lama::Communicator::factorize3(), lama::LUSolver::factorMatrixToLU(), lama::LAMAArray< T >::fetchAsync(), lama::OpenMPCSRUtils::gemm(), lama::GenBlockDistribution::GenBlockDistribution(), lama::CommunicatorFactory::get(), lama::DistributionFactory::get(), lama::ReadAccess< T >::get(), lama::WriteAccess< T >::get(), lama::LAMAArray< T >::getAccess(), lama::ContextFactory::getContext(), lama::StorageIO< T >::getDataTypeSize(), lama::DenseVector< T >::getDataTypeSize(), lama::CRTPMatrixStorage< CSRStorage< T >, T >::getDiagonal(), lama::DenseMatrix< T >::getDiagonal(), lama::SparseMatrix< T >::getDiagonal(), lama::_StorageIO::getIndexDataTypeSize(), lama::LAMAInterfaceRegistry::getInterface(), lama::OpenMPLAPACK::getinv(), lama::MPICommunicator::getMPI2Type(), lama::OpenMPLAPACK::getrf(), lama::OpenMPLAPACK::getri(), lama::CRTPMatrixStorage< CSRStorage< T >, T >::getRow(), lama::DenseMatrix< T >::getRow(), lama::XDRFileStream::getSize(), lama::SolverFactory::getSolver(), lama::getStencilProperties(), lama::OpenMPTimer::getTime(), lama::OpenMPTimer::initialize(), lama::SpecializedJacobi::initialize(), lama::SOR::initialize(), lama::CG::initialize(), lama::GMRES::initialize(), lama::MetaSolver::initialize(), lama::MetaSolver::initializePreconditioner(), lama::OpenMPSCALAPACK::inverse(), lama::InverseSolver::invert(), lama::DenseMatrixOps::invertCyclic(), lama::DenseMatrix< T >::invertCyclic(), lama::SOR::iterate(), lama::SpecializedJacobi::iterate(), lama::GMRES::iterate(), lama::SpecializedJacobi::iterateTyped(), lama::OpenMPCOOUtils::jacobi(), lama::OpenMPCSRUtils::jacobi(), lama::JDSStorage< T >::jacobiIterate(), lama::DIAStorage< T >::jacobiIterate(), lama::COOStorage< T >::jacobiIterate(), lama::ELLStorage< T >::jacobiIterate(), lama::CSRStorage< T >::jacobiIterate(), lama::CSRStorage< T >::jacobiIterateHalo(), lama::StorageMethods< T >::joinCSR(), lama::LAMAArrayConstView< T >::LAMAArrayConstView(), lama::LAMAArrayRef< T >::LAMAArrayRef(), lama::LAMAArrayView< T >::LAMAArrayView(), lama::_MatrixStorage::localize(), lama::Matrix::matrix2CSRGraph(), lama::ELLStorage< T >::matrixTimesMatrix(), lama::DenseMatrix< T >::matrixTimesMatrix(), lama::SparseMatrix< T >::matrixTimesMatrixImpl(), lama::CRTPMatrix< DenseMatrix< T >, T >::matrixTimesVector(), lama::SparseMatrix< T >::matrixTimesVector(), lama::SparseMatrix< T >::maxDiffNorm(), lama::CUDAContext::memcpy(), lama::CUDAContext::memcpyAsync(), lama::MPICommunicator::MPICommunicator(), lama::OpenMPDIAUtils::normalGEMV(), lama::OpenMPCOOUtils::normalGEMV(), lama::OpenMPCSRUtils::normalGEMV(), lama::SparseAssemblyStorage< T >::operator()(), lama::operator<(), lama::Vector::operator=(), lama::LAMAArray< T >::operator=(), lama::Matrix::operator=(), lama::operator>(), lama::MetaMatrix::parseConfiguration(), lama::MetaSolver::parseConfiguration(), lama::LUSolver::pgetf2(), lama::XDRFileStream::read(), lama::StorageIO< T >::readCSRFromFile(), lama::StorageIO< T >::readCSRFromFormattedFile(), lama::StorageIO< T >::readCSRFromMMFile(), lama::StorageIO< T >::readCSRFromXDRFile(), lama::_StorageIO::readCSRHeader(), lama::DenseVector< T >::readVectorDataFromBinaryFile(), lama::DenseVector< T >::readVectorFromBinaryFile(), lama::DenseVector< T >::readVectorFromFormattedFile(), lama::DenseVector< T >::readVectorFromXDRFile(), lama::DenseVector< T >::readVectorHeader(), lama::LAMAArrayView< T >::reserve(), lama::OpenMPTimer::reset(), lama::SparseMatrix< T >::resetDiagonalProperty(), lama::LAMAArrayView< T >::resize(), lama::_MatrixStorage::scale(), lama::CRTPMatrixStorage< CSRStorage< T >, T >::scale(), lama::DenseMatrix< T >::scale(), lama::SparseMatrix< T >::scale(), lama::SparseAssemblyStorage< T >::set(), lama::CUDAHostContextManager::setAsCurrent(), lama::_MatrixStorage::setCompressThreshold(), lama::CRTPMatrixStorage< CSRStorage< T >, T >::setCSRData(), lama::DenseStorageView< T >::setCSRDataImpl(), lama::CSRStorage< T >::setCSRDataImpl(), lama::SparseAssemblyStorage< T >::setCSRDataImpl(), lama::CommunicatorFactory::setDefaultCommunicatorType(), lama::CRTPMatrixStorage< CSRStorage< T >, T >::setDiagonal(), lama::_MatrixStorage::setDiagonal(), lama::DenseMatrix< T >::setDiagonal(), lama::SparseMatrix< T >::setDiagonal(), lama::CSRStorage< T >::setDiagonalImpl(), lama::DenseMatrix< T >::setIdentity(), lama::SparseMatrix< T >::setIdentity(), lama::FileLogger::setLogFile(), lama::Context::ContextData::setRef(), lama::SyncToken::setSynchronized(), lama::WriteAccess< T >::size(), lama::LUSolver::solve(), lama::IterativeSolver::solveImpl(), lama::MetaSolver::solveImpl(), lama::SpecializedJacobi::solveInit(), lama::DefaultJacobi::solveInit(), lama::Solver::solveInit(), lama::OpenMPCSRUtils::sparseGEMV(), lama::OpenMPTimer::start(), lama::OpenMPTimer::stop(), lama::OpenMPTimer::stopAndReset(), lama::DenseVector< T >::swap(), lama::Task::synchronize(), lama::OpenMPUtils::validIndexes(), lama::DenseVector< T >::vectorPlusVector(), lama::XDRFileStream::write(), lama::_StorageIO::writeCSRHeader(), lama::StorageIO< T >::writeCSRToBinaryFile(), lama::StorageIO< T >::writeCSRToFile(), lama::StorageIO< T >::writeCSRToMMFile(), lama::DenseMatrix< T >::writeToFile(), lama::SparseMatrix< T >::writeToFile(), lama::DenseVector< T >::writeVectorDataToBinaryFile(), lama::DenseVector< T >::writeVectorHeader(), lama::DenseVector< T >::writeVectorToMMFile(), lama::XDRFileStream::xdrRead(), and lama::XDRFileStream::xdrWrite().
#define LAMA_UNSUPPORTED | ( | msg | ) |
{ \ if ( lama::Exception::getUnsupportedSetting() != \ lama::Exception::UNSUPPORTED_IGNORE ) \ { \ std::ostringstream errorStr; \ errorStr << "Unsupported at line "; \ errorStr << __LINE__ << " of file " << __FILE__ << "\n"; \ errorStr << " Message: " << msg << std::endl; \ errorStr << "Use environenment variable LAMA_UNSUPPORTED"; \ errorStr << " (WARN or IGNORE) to get rid of this message"; \ errorStr << std::endl; \ if ( lama::Exception::getUnsupportedSetting() == \ lama::Exception::UNSUPPORTED_ERROR ) \ { \ throw lama::Exception( errorStr.str() ); \ } \ else \ { \ std::cout << errorStr.str() << std::endl; \ } \ } \ }
This macro should be used to give hints about unsupported features.
It should only be used in cases where less performant solutions are still available.
By setting the environment variable LAMA_UNSUPPORTED to WARN only warnings will be given. For IGNORE no message is given at all. Otherwise an exception is thrown.
Referenced by lama::SparseMatrix< T >::invert(), lama::DenseStorageView< T >::invert(), lama::MatrixStorage< T >::jacobiIterate(), lama::MatrixStorage< T >::jacobiIterateHalo(), lama::DenseStorageView< T >::matrixTimesMatrix(), lama::ELLStorage< T >::matrixTimesMatrix(), lama::CSRStorage< T >::matrixTimesMatrix(), lama::MatrixStorage< T >::matrixTimesMatrix(), lama::MatrixStorage< T >::matrixTimesVector(), lama::MatrixStorage< T >::matrixTimesVectorN(), lama::DenseStorageView< T >::maxDiffNorm(), lama::DenseMatrix< T >::maxDiffNorm(), lama::SparseMatrix< T >::maxDiffNorm(), lama::CSRStorage< T >::maxDiffNorm(), and lama::MatrixStorage< T >::maxDiffNorm().