Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Crayon鑫
Paddle
提交
afc84114
P
Paddle
项目概览
Crayon鑫
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
afc84114
编写于
5月 02, 2017
作者:
L
liaogang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix dsohandle bug
上级
5b8fe87f
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
10 addition
and
6 deletion
+10
-6
paddle/math/MathFunctions.cpp
paddle/math/MathFunctions.cpp
+6
-3
paddle/utils/DynamicLoad.cpp
paddle/utils/DynamicLoad.cpp
+0
-0
paddle/utils/DynamicLoad.h
paddle/utils/DynamicLoad.h
+4
-3
未找到文件。
paddle/math/MathFunctions.cpp
浏览文件 @
afc84114
...
...
@@ -32,7 +32,7 @@ void* lapack_dso_handle = nullptr;
#define DYNAMIC_LOAD_LAPACK_WRAP(__name) \
struct DynLoad__##__name { \
template <typename... Args> \
int operator()(Args... args)->decltype(__name(args...)) {
\
auto operator()(Args... args)->decltype(__name(args...)) {
\
using lapack_func = decltype(__name(args...)) (*)(Args...); \
std::call_once(lapack_dso_flag, GetLapackDsoHandle, &lapack_dso_handle); \
void* p_##__name = dlsym(lapack_dso_handle, #__name); \
...
...
@@ -47,15 +47,18 @@ void* lapack_dso_handle = nullptr;
__macro(clapack_sgetrf) \
__macro(clapack_dgetrf) \
__macro(clapack_sgetri) \
__macro(clapack_dgetri)
__macro(clapack_dgetri)
#else
#define LAPACK_ROUTINE_EACH(__macro) \
__macro(LAPACKE_sgetrf) \
__macro(LAPACKE_dgetrf) \
__macro(LAPACKE_sgetri) \
__macro(LAPACKE_dgetri)
__macro(LAPACKE_dgetri)
#endif
#endif
LAPACK_ROUTINE_EACH
(
DYNAMIC_LOAD_LAPACK_WRAP
)
// clang-format on
}
// namespace dynload
...
...
paddle/utils/DynamicLoad.c
c
→
paddle/utils/DynamicLoad.c
pp
浏览文件 @
afc84114
文件已移动
paddle/utils/DynamicLoad.h
浏览文件 @
afc84114
...
...
@@ -12,12 +12,13 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. */
#ifndef
HL_
DYNAMIC_LOAD_H_
#define
HL_
DYNAMIC_LOAD_H_
#ifndef DYNAMIC_LOAD_H_
#define DYNAMIC_LOAD_H_
#include <dlfcn.h>
#include <memory>
#include <string>
#include <mutex>
/**
* @brief load the DSO of CUBLAS
...
...
@@ -59,4 +60,4 @@ void GetWarpCTCDsoHandle(void** dso_handle);
*/
void
GetLapackDsoHandle
(
void
**
dso_handle
);
#endif //
HL_
DYNAMIC_LOAD_H_
#endif // DYNAMIC_LOAD_H_
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录