Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
冰之2023
Mace
提交
667ae00a
Mace
项目概览
冰之2023
/
Mace
与 Fork 源项目一致
Fork自
Xiaomi / Mace
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Mace
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
667ae00a
编写于
11月 27, 2017
作者:
Y
yejianwu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
modify cl::event pointer in opencl_runtime to smart pointer
上级
e8537af6
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
13 addition
and
13 deletion
+13
-13
mace/core/runtime/opencl/opencl_runtime.cc
mace/core/runtime/opencl/opencl_runtime.cc
+11
-12
mace/core/runtime/opencl/opencl_runtime.h
mace/core/runtime/opencl/opencl_runtime.h
+2
-1
未找到文件。
mace/core/runtime/opencl/opencl_runtime.cc
浏览文件 @
667ae00a
...
...
@@ -33,7 +33,7 @@ bool ReadSourceFile(const std::string &filename, std::string *content) {
}
// namespace
bool
OpenCLRuntime
::
enable_profiling_
=
false
;
cl
::
Event
*
OpenCLRuntime
::
profiling_ev_
=
NULL
;
std
::
unique_ptr
<
cl
::
Event
>
OpenCLRuntime
::
profiling_ev_
=
NULL
;
OpenCLRuntime
*
OpenCLRuntime
::
Get
()
{
static
std
::
once_flag
init_once
;
...
...
@@ -82,23 +82,25 @@ OpenCLRuntime *OpenCLRuntime::Get() {
// a context is like a "runtime link" to the device and platform;
// i.e. communication is possible
cl
::
Context
context
({
gpu_device
});
cl
::
CommandQueue
command_queue
(
context
,
gpu_device
,
enable_profiling_
?
CL_QUEUE_PROFILING_ENABLE
:
0
);
cl_command_queue_properties
properties
=
0
;
if
(
enable_profiling_
)
{
profiling_ev_
.
reset
(
new
cl
::
Event
());
properties
=
CL_QUEUE_PROFILING_ENABLE
;
}
cl
::
CommandQueue
command_queue
(
context
,
gpu_device
,
properties
);
instance
=
new
OpenCLRuntime
(
context
,
gpu_device
,
command_queue
);
});
return
instance
;
}
void
OpenCLRuntime
::
EnableProfiling
()
{
if
(
!
enable_profiling_
)
{
enable_profiling_
=
true
;
profiling_ev_
=
new
cl
::
Event
();
}
enable_profiling_
=
true
;
}
cl
::
Event
*
OpenCLRuntime
::
GetDefaultEvent
()
{
return
profiling_ev_
;
return
profiling_ev_
.
get
()
;
}
cl_ulong
OpenCLRuntime
::
GetEventProfilingStartInfo
()
{
...
...
@@ -119,10 +121,7 @@ OpenCLRuntime::OpenCLRuntime(cl::Context context,
kernel_path_
=
std
::
string
(
kernel_path
==
nullptr
?
""
:
kernel_path
)
+
"/"
;
}
OpenCLRuntime
::~
OpenCLRuntime
()
{
if
(
profiling_ev_
)
delete
profiling_ev_
;
}
OpenCLRuntime
::~
OpenCLRuntime
()
{}
cl
::
Context
&
OpenCLRuntime
::
context
()
{
return
context_
;
}
...
...
mace/core/runtime/opencl/opencl_runtime.h
浏览文件 @
667ae00a
...
...
@@ -6,6 +6,7 @@
#define MACE_CORE_RUNTIME_OPENCL_OPENCL_RUNTIME_H_
#include <map>
#include <memory>
#include <mutex>
#include <set>
...
...
@@ -49,7 +50,7 @@ class OpenCLRuntime {
private:
static
bool
enable_profiling_
;
static
cl
::
Event
*
profiling_ev_
;
static
std
::
unique_ptr
<
cl
::
Event
>
profiling_ev_
;
cl
::
Context
context_
;
cl
::
Device
device_
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录