LAMA
|
00001 00033 #ifndef LAMA_CUDALAPACK_HPP_ 00034 #define LAMA_CUDALAPACK_HPP_ 00035 00036 // for dll_import 00037 #include <lama/config.hpp> 00038 00039 #include <lama/LAMATypes.hpp> 00040 #include <lama/SyncToken.hpp> 00041 00042 #include <lama/openmp/BLASHelper.hpp> 00043 00044 namespace lama 00045 { 00046 00047 class LAMA_DLL_IMPORTEXPORT CUDALAPACK 00048 { 00049 public: 00068 //TODO: implement 00069 // template<typename T> 00070 // static T lamch( const enum CBLAS_MACHINE_PARAM param ); 00071 00113 //TODO: implement 00114 // template<typename T> 00115 // static IndexType getrf( 00116 // const enum CBLAS_ORDER order, 00117 // const IndexType m, 00118 // const IndexType n, 00119 // T* const A, 00120 // const IndexType lda, 00121 // IndexType* const ipiv ); 00122 00126 //TODO: implement 00127 // template<typename T> 00128 // static IndexType getri( 00129 // const enum CBLAS_ORDER order, 00130 // const IndexType n, 00131 // T* const A, 00132 // const IndexType lda, 00133 // IndexType* const ipiv); 00134 00170 //TODO: implement 00171 // template<typename T> 00172 // static IndexType trtrs( 00173 // const enum CBLAS_ORDER order, 00174 // const enum CBLAS_UPLO uplo, 00175 // const enum CBLAS_TRANSPOSE trans, 00176 // const enum CBLAS_DIAG diag, 00177 // const IndexType n, 00178 // const IndexType nrhs, 00179 // const T* A, 00180 // const IndexType lda, 00181 // T* B, 00182 // const IndexType ldb); 00183 00217 //TODO: implement 00218 // template<typename T> 00219 // static IndexType tptrs( 00220 // const enum CBLAS_ORDER order, 00221 // const enum CBLAS_UPLO uplo, 00222 // const enum CBLAS_TRANSPOSE trans, 00223 // const enum CBLAS_DIAG diag, 00224 // const IndexType n, 00225 // const IndexType nrhs, 00226 // const T* AP, 00227 // T* B, 00228 // const IndexType ldb); 00229 00259 template<typename T> 00260 static void laswp( 00261 const enum CBLAS_ORDER order, 00262 const IndexType n, 00263 T* A, 00264 const IndexType lda, 00265 const IndexType k1, 00266 const IndexType k2, 00267 const IndexType* ipiv, 00268 const IndexType incx, 00269 SyncToken* syncToken); 00270 }; 00271 00272 } /* namespace lama */ 00273 00274 #endif // LAMA_CUDALAPACK_HPP_