LAMA
/home/brandes/workspace/LAMA/src/lama/openmp/OpenMPLAPACK.hpp
Go to the documentation of this file.
00001 
00033 #ifndef LAMA_OPENMPLAPACK_HPP_
00034 #define LAMA_OPENMPLAPACK_HPP_
00035 
00036 // for dll_import
00037 #include <lama/config.hpp>
00038 
00039 // others
00040 #include <lama/LAMATypes.hpp>
00041 #include <lama/SyncToken.hpp>
00042 
00043 #include <lama/openmp/BLASHelper.hpp>
00044 
00045 // logging
00046 #include <logging/logging.hpp>
00047 
00048 #include <omp.h>
00049 
00050 namespace lama
00051 {
00052 
00053 class OpenMPLAPACK
00054 {
00055 public:
00056 
00101     template<typename T>
00102     static IndexType getrf(
00103         const enum CBLAS_ORDER order,
00104         const IndexType m,
00105         const IndexType n,
00106         T* const a,
00107         const IndexType lda,
00108         IndexType* const ipiv );
00109 
00113     template<typename T>
00114     static IndexType getri(
00115         const enum CBLAS_ORDER order,
00116         const IndexType n,
00117         T* const A,
00118         const IndexType lda,
00119         IndexType* const ipiv );
00120 
00123     template<typename T>
00124     static void getinv ( const IndexType n, T* a, const IndexType lda );
00125 
00161     template<typename T>
00162     static IndexType trtrs(
00163         const enum CBLAS_ORDER order,
00164         const enum CBLAS_UPLO uplo,
00165         const enum CBLAS_TRANSPOSE trans,
00166         const enum CBLAS_DIAG diag,
00167         const IndexType n,
00168         const IndexType nrhs,
00169         const T* A,
00170         const IndexType lda,
00171         T* B,
00172         const IndexType ldb );
00173 
00207     template<typename T>
00208     static IndexType tptrs(
00209         const enum CBLAS_ORDER order,
00210         const enum CBLAS_UPLO uplo,
00211         const enum CBLAS_TRANSPOSE trans,
00212         const enum CBLAS_DIAG diag,
00213         const IndexType n,
00214         const IndexType nrhs,
00215         const T* AP,
00216         T* B,
00217         const IndexType ldb );
00218 
00248     template<typename T>
00249     static void laswp(
00250         const enum CBLAS_ORDER order,
00251         const IndexType n,
00252         T* A,
00253         const IndexType lda,
00254         const IndexType k1,
00255         const IndexType k2,
00256         const IndexType* ipiv,
00257         const IndexType incx,
00258         SyncToken* syncToken );
00259 
00260 private:
00261 
00262     LAMA_LOG_DECL_STATIC_LOGGER( logger );
00263 
00264 }; /* OpenMPLAPACK */
00265 
00266 } /* namespace lama */
00267 
00268 #endif // LAMA_OPENMPLAPACK_HPP_