LAMA
|
00001 00033 #ifndef LAMA_OPENMPSCALAPACK_HPP_ 00034 #define LAMA_OPENMPSCALAPACK_HPP_ 00035 00036 #include <lama/LAMATypes.hpp> 00037 #include <logging/logging.hpp> 00038 00039 namespace lama 00040 { 00041 00042 class OpenMPSCALAPACK 00043 { 00044 public: 00045 template<typename T> 00046 static IndexType pgetrf( 00047 const IndexType m, 00048 const IndexType n, 00049 const T* const A, 00050 const IndexType ia, 00051 const IndexType ja, 00052 IndexType* descA, 00053 IndexType* const ipiv ); 00054 00055 template<typename T> 00056 static IndexType pgetri( 00057 const IndexType n, 00058 const T* const A, 00059 const IndexType ia, 00060 const IndexType ja, 00061 IndexType* const descA, 00062 IndexType* const ipiv, 00063 const T* const work, 00064 IndexType lwork, 00065 IndexType* const iwork, 00066 IndexType liwork ); 00067 00070 template<typename ValueType> 00071 static void inverse( 00072 const IndexType n, 00073 const IndexType nB, 00074 const ValueType* A, 00075 const class Communicator& comm ); 00076 00077 private: 00078 00079 LAMA_LOG_DECL_STATIC_LOGGER( logger ); 00080 00081 }; 00082 00083 } /* namespace lama */ 00084 00085 #endif // LAMA_OPENMPSCALAPACK_HPP_