LAMA
|
00001 00033 #ifndef LAMA_CUDA_COO_UTILS_HPP_ 00034 #define LAMA_CUDA_COO_UTILS_HPP_ 00035 00036 // for dll_import 00037 #include <lama/config.hpp> 00038 00039 // others 00040 #include <lama/LAMATypes.hpp> 00041 00042 // logging 00043 #include <logging/logging.hpp> 00044 00045 namespace lama 00046 { 00047 00052 class LAMA_DLL_IMPORTEXPORT CUDACOOUtils 00053 { 00054 public: 00055 00058 template <typename ValueType> 00059 static void normalGEMV( ValueType result[], 00060 const ValueType alpha, 00061 const ValueType x[], 00062 const ValueType beta, 00063 const ValueType y[], 00064 const IndexType numRows, 00065 const IndexType cooIA[], 00066 const IndexType cooJA[], 00067 const ValueType cooValues[], 00068 const IndexType numValues, 00069 class SyncToken* syncToken ); 00070 00073 static void setInterface( struct COOUtilsInterface& COOUtils ); 00074 00075 private: 00076 00077 LAMA_LOG_DECL_STATIC_LOGGER(logger); 00078 00079 }; 00080 00081 /* --------------------------------------------------------------------------- */ 00082 00083 } // namespace lama 00084 00085 #endif // LAMA_CUDA_COO_UTILS_HPP_