提交 69d76812 编写于 作者: Q qijun

fix cublas dynload bug

上级 a0466053
...@@ -6,10 +6,10 @@ namespace dynload { ...@@ -6,10 +6,10 @@ namespace dynload {
std::once_flag cublas_dso_flag; std::once_flag cublas_dso_flag;
void *cublas_dso_handle = nullptr; void *cublas_dso_handle = nullptr;
#define DEFINE_WRAP(__name) DynLoad__##__name __name; #define DEFINE_WRAP(__name) DynLoad__##__name __name
CUBLAS_BLAS_ROUTINE_EACH(DEFINE_WRAP); CUBLAS_BLAS_ROUTINE_EACH(DEFINE_WRAP);
} // namespace dynload } // namespace dynload
} // namespace platform } // namespace platform
} // namespace paddle } // namespace paddle
\ No newline at end of file
...@@ -58,26 +58,29 @@ extern void *cublas_dso_handle; ...@@ -58,26 +58,29 @@ extern void *cublas_dso_handle;
extern DynLoad__##__name __name extern DynLoad__##__name __name
#endif #endif
#define DECLARE_DYNAMIC_LOAD_CUBLAS_V2_WRAP(__name) \
DECLARE_DYNAMIC_LOAD_CUBLAS_WRAP(__name)
#define CUBLAS_BLAS_ROUTINE_EACH(__macro) \ #define CUBLAS_BLAS_ROUTINE_EACH(__macro) \
__macro(cublasSgemv); \ __macro(cublasSgemv); \
__macro(cublasDgemv); \ __macro(cublasDgemv); \
__macro(cublasSgemm); \ __macro(cublasSgemm); \
__macro(cublasDgemm); \ __macro(cublasDgemm); \
__macro(cublasSgeam); \ __macro(cublasSgeam); \
__macro(cublasDgeam); \ __macro(cublasDgeam);
__macro(cublasCreate); \
__macro(cublasDestroy); \ DECLARE_DYNAMIC_LOAD_CUBLAS_V2_WRAP(cublasCreate);
__macro(cublasSetStream); \ DECLARE_DYNAMIC_LOAD_CUBLAS_V2_WRAP(cublasDestroy);
__macro(cublasSetPointerMode); \ DECLARE_DYNAMIC_LOAD_CUBLAS_V2_WRAP(cublasSetStream);
__macro(cublasGetPointerMode); \ DECLARE_DYNAMIC_LOAD_CUBLAS_V2_WRAP(cublasSetPointerMode);
__macro(cublasSgemmBatched); \ DECLARE_DYNAMIC_LOAD_CUBLAS_V2_WRAP(cublasGetPointerMode);
__macro(cublasDgemmBatched); \ DECLARE_DYNAMIC_LOAD_CUBLAS_WRAP(cublasSgemmBatched);
__macro(cublasCgemmBatched); \ DECLARE_DYNAMIC_LOAD_CUBLAS_WRAP(cublasDgemmBatched);
__macro(cublasZgemmBatched); \ DECLARE_DYNAMIC_LOAD_CUBLAS_WRAP(cublasCgemmBatched);
__macro(cublasSgetrfBatched); \ DECLARE_DYNAMIC_LOAD_CUBLAS_WRAP(cublasZgemmBatched);
__macro(cublasSgetriBatched); \ DECLARE_DYNAMIC_LOAD_CUBLAS_WRAP(cublasSgetrfBatched);
__macro(cublasDgetrfBatched); \ DECLARE_DYNAMIC_LOAD_CUBLAS_WRAP(cublasSgetriBatched);
__macro(cublasDgetriBatched) DECLARE_DYNAMIC_LOAD_CUBLAS_WRAP(cublasDgetrfBatched);
CUBLAS_BLAS_ROUTINE_EACH(DECLARE_DYNAMIC_LOAD_CUBLAS_WRAP); CUBLAS_BLAS_ROUTINE_EACH(DECLARE_DYNAMIC_LOAD_CUBLAS_WRAP);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册