Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
pytensor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
testgroup
pytensor
Commits
3a422ba3
提交
3a422ba3
authored
9月 26, 2015
作者:
Arnaud Bergeron
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Make _handle apply specific.
上级
7bbbe727
显示空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
24 行增加
和
22 行删除
+24
-22
dnn_base.c
theano/sandbox/gpuarray/dnn_base.c
+8
-6
dnn_fwd.c
theano/sandbox/gpuarray/dnn_fwd.c
+4
-4
dnn_gi.c
theano/sandbox/gpuarray/dnn_gi.c
+4
-4
dnn_gw.c
theano/sandbox/gpuarray/dnn_gw.c
+4
-4
dnn_pool.c
theano/sandbox/gpuarray/dnn_pool.c
+1
-1
dnn_pool_grad.c
theano/sandbox/gpuarray/dnn_pool_grad.c
+1
-1
dnn_softmax.c
theano/sandbox/gpuarray/dnn_softmax.c
+1
-1
dnn_softmax_grad.c
theano/sandbox/gpuarray/dnn_softmax_grad.c
+1
-1
没有找到文件。
theano/sandbox/gpuarray/dnn_base.c
浏览文件 @
3a422ba3
...
@@ -102,17 +102,19 @@ setup_ext_cuda();
...
@@ -102,17 +102,19 @@ setup_ext_cuda();
#section support_code_struct
#section support_code_struct
cudnnHandle_t
_handle
;
cudnnHandle_t
APPLY_SPECIFIC
(
_handle
)
;
#section init_code_struct
#section init_code_struct
cuda_enter
(
pygpu_default_context
()
->
ctx
);
{
cudnnStatus_t
err
;
cuda_enter
(
pygpu_default_context
()
->
ctx
);
_handle
=
NULL
;
cudnnStatus_t
err
;
if
((
err
=
cudnnCreate
(
&
_handle
))
!=
CUDNN_STATUS_SUCCESS
)
{
APPLY_SPECIFIC
(
_handle
)
=
NULL
;
if
((
err
=
cudnnCreate
(
&
APPLY_SPECIFIC
(
_handle
)))
!=
CUDNN_STATUS_SUCCESS
)
{
PyErr_Format
(
PyExc_RuntimeError
,
"could not create cuDNN handle: %s"
,
PyErr_Format
(
PyExc_RuntimeError
,
"could not create cuDNN handle: %s"
,
cudnnGetErrorString
(
err
));
cudnnGetErrorString
(
err
));
cuda_exit
(
pygpu_default_context
()
->
ctx
);
cuda_exit
(
pygpu_default_context
()
->
ctx
);
FAIL
;
FAIL
;
}
cuda_exit
(
pygpu_default_context
()
->
ctx
);
}
}
cuda_exit
(
pygpu_default_context
()
->
ctx
);
theano/sandbox/gpuarray/dnn_fwd.c
浏览文件 @
3a422ba3
...
@@ -80,7 +80,7 @@ APPLY_SPECIFIC(conv_fwd)(PyGpuArrayObject *input, PyGpuArrayObject *kerns,
...
@@ -80,7 +80,7 @@ APPLY_SPECIFIC(conv_fwd)(PyGpuArrayObject *input, PyGpuArrayObject *kerns,
int
count
;
int
count
;
cudnnConvolutionFwdAlgoPerf_t
choice
;
cudnnConvolutionFwdAlgoPerf_t
choice
;
err
=
cudnnFindConvolutionForwardAlgorithm
(
err
=
cudnnFindConvolutionForwardAlgorithm
(
_handle
,
APPLY_SPECIFIC
(
input
),
APPLY_SPECIFIC
(
kerns
),
APPLY_SPECIFIC
(
_handle
)
,
APPLY_SPECIFIC
(
input
),
APPLY_SPECIFIC
(
kerns
),
desc
,
APPLY_SPECIFIC
(
output
),
1
,
&
count
,
&
choice
);
desc
,
APPLY_SPECIFIC
(
output
),
1
,
&
count
,
&
choice
);
if
(
err
!=
CUDNN_STATUS_SUCCESS
)
{
if
(
err
!=
CUDNN_STATUS_SUCCESS
)
{
...
@@ -103,7 +103,7 @@ APPLY_SPECIFIC(conv_fwd)(PyGpuArrayObject *input, PyGpuArrayObject *kerns,
...
@@ -103,7 +103,7 @@ APPLY_SPECIFIC(conv_fwd)(PyGpuArrayObject *input, PyGpuArrayObject *kerns,
}
}
err
=
cudnnGetConvolutionForwardAlgorithm
(
err
=
cudnnGetConvolutionForwardAlgorithm
(
_handle
,
APPLY_SPECIFIC
(
input
),
APPLY_SPECIFIC
(
kerns
),
APPLY_SPECIFIC
(
_handle
)
,
APPLY_SPECIFIC
(
input
),
APPLY_SPECIFIC
(
kerns
),
desc
,
APPLY_SPECIFIC
(
output
),
desc
,
APPLY_SPECIFIC
(
output
),
CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT
,
free
,
&
algo
);
CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT
,
free
,
&
algo
);
if
(
err
!=
CUDNN_STATUS_SUCCESS
)
{
if
(
err
!=
CUDNN_STATUS_SUCCESS
)
{
...
@@ -181,7 +181,7 @@ APPLY_SPECIFIC(conv_fwd)(PyGpuArrayObject *input, PyGpuArrayObject *kerns,
...
@@ -181,7 +181,7 @@ APPLY_SPECIFIC(conv_fwd)(PyGpuArrayObject *input, PyGpuArrayObject *kerns,
{
{
size_t
worksize
;
size_t
worksize
;
gpudata
*
workspace
;
gpudata
*
workspace
;
err
=
cudnnGetConvolutionForwardWorkspaceSize
(
_handle
,
err
=
cudnnGetConvolutionForwardWorkspaceSize
(
APPLY_SPECIFIC
(
_handle
)
,
APPLY_SPECIFIC
(
input
),
APPLY_SPECIFIC
(
input
),
APPLY_SPECIFIC
(
kerns
),
APPLY_SPECIFIC
(
kerns
),
desc
,
desc
,
...
@@ -212,7 +212,7 @@ APPLY_SPECIFIC(conv_fwd)(PyGpuArrayObject *input, PyGpuArrayObject *kerns,
...
@@ -212,7 +212,7 @@ APPLY_SPECIFIC(conv_fwd)(PyGpuArrayObject *input, PyGpuArrayObject *kerns,
}
}
err
=
cudnnConvolutionForward
(
err
=
cudnnConvolutionForward
(
_handle
,
APPLY_SPECIFIC
(
_handle
)
,
alpha_p
,
alpha_p
,
APPLY_SPECIFIC
(
input
),
PyGpuArray_DEV_DATA
(
input
),
APPLY_SPECIFIC
(
input
),
PyGpuArray_DEV_DATA
(
input
),
APPLY_SPECIFIC
(
kerns
),
PyGpuArray_DEV_DATA
(
kerns
),
APPLY_SPECIFIC
(
kerns
),
PyGpuArray_DEV_DATA
(
kerns
),
...
...
theano/sandbox/gpuarray/dnn_gi.c
浏览文件 @
3a422ba3
...
@@ -79,7 +79,7 @@ APPLY_SPECIFIC(conv_gi)(PyGpuArrayObject *kerns, PyGpuArrayObject *output,
...
@@ -79,7 +79,7 @@ APPLY_SPECIFIC(conv_gi)(PyGpuArrayObject *kerns, PyGpuArrayObject *output,
cudnnConvolutionBwdDataAlgoPerf_t
choice
;
cudnnConvolutionBwdDataAlgoPerf_t
choice
;
err
=
cudnnFindConvolutionBackwardDataAlgorithm
(
err
=
cudnnFindConvolutionBackwardDataAlgorithm
(
_handle
,
APPLY_SPECIFIC
(
input
),
APPLY_SPECIFIC
(
output
),
desc
,
APPLY_SPECIFIC
(
_handle
)
,
APPLY_SPECIFIC
(
input
),
APPLY_SPECIFIC
(
output
),
desc
,
APPLY_SPECIFIC
(
kerns
),
1
,
&
count
,
&
choice
);
APPLY_SPECIFIC
(
kerns
),
1
,
&
count
,
&
choice
);
if
(
err
!=
CUDNN_STATUS_SUCCESS
)
{
if
(
err
!=
CUDNN_STATUS_SUCCESS
)
{
...
@@ -102,7 +102,7 @@ APPLY_SPECIFIC(conv_gi)(PyGpuArrayObject *kerns, PyGpuArrayObject *output,
...
@@ -102,7 +102,7 @@ APPLY_SPECIFIC(conv_gi)(PyGpuArrayObject *kerns, PyGpuArrayObject *output,
}
}
err
=
cudnnGetConvolutionBackwardDataAlgorithm
(
err
=
cudnnGetConvolutionBackwardDataAlgorithm
(
_handle
,
APPLY_SPECIFIC
(
input
),
APPLY_SPECIFIC
(
output
),
APPLY_SPECIFIC
(
_handle
)
,
APPLY_SPECIFIC
(
input
),
APPLY_SPECIFIC
(
output
),
desc
,
APPLY_SPECIFIC
(
kerns
),
desc
,
APPLY_SPECIFIC
(
kerns
),
CUDNN_CONVOLUTION_BWD_DATA_SPECIFY_WORKSPACE_LIMIT
,
free
,
&
algo
);
CUDNN_CONVOLUTION_BWD_DATA_SPECIFY_WORKSPACE_LIMIT
,
free
,
&
algo
);
if
(
err
!=
CUDNN_STATUS_SUCCESS
)
{
if
(
err
!=
CUDNN_STATUS_SUCCESS
)
{
...
@@ -157,7 +157,7 @@ APPLY_SPECIFIC(conv_gi)(PyGpuArrayObject *kerns, PyGpuArrayObject *output,
...
@@ -157,7 +157,7 @@ APPLY_SPECIFIC(conv_gi)(PyGpuArrayObject *kerns, PyGpuArrayObject *output,
gpudata
*
workspace
;
gpudata
*
workspace
;
err
=
cudnnGetConvolutionBackwardDataWorkspaceSize
(
err
=
cudnnGetConvolutionBackwardDataWorkspaceSize
(
_handle
,
APPLY_SPECIFIC
(
kerns
),
APPLY_SPECIFIC
(
output
),
desc
,
APPLY_SPECIFIC
(
_handle
)
,
APPLY_SPECIFIC
(
kerns
),
APPLY_SPECIFIC
(
output
),
desc
,
APPLY_SPECIFIC
(
input
),
algo
,
&
worksize
);
APPLY_SPECIFIC
(
input
),
algo
,
&
worksize
);
if
(
err
!=
CUDNN_STATUS_SUCCESS
)
{
if
(
err
!=
CUDNN_STATUS_SUCCESS
)
{
...
@@ -178,7 +178,7 @@ APPLY_SPECIFIC(conv_gi)(PyGpuArrayObject *kerns, PyGpuArrayObject *output,
...
@@ -178,7 +178,7 @@ APPLY_SPECIFIC(conv_gi)(PyGpuArrayObject *kerns, PyGpuArrayObject *output,
}
}
err
=
cudnnConvolutionBackwardData_v3
(
err
=
cudnnConvolutionBackwardData_v3
(
_handle
,
APPLY_SPECIFIC
(
_handle
)
,
alpha_p
,
alpha_p
,
APPLY_SPECIFIC
(
kerns
),
PyGpuArray_DEV_DATA
(
kerns
),
APPLY_SPECIFIC
(
kerns
),
PyGpuArray_DEV_DATA
(
kerns
),
APPLY_SPECIFIC
(
output
),
PyGpuArray_DEV_DATA
(
output
),
APPLY_SPECIFIC
(
output
),
PyGpuArray_DEV_DATA
(
output
),
...
...
theano/sandbox/gpuarray/dnn_gw.c
浏览文件 @
3a422ba3
...
@@ -79,7 +79,7 @@ APPLY_SPECIFIC(conv_gw)(PyGpuArrayObject *input, PyGpuArrayObject *output,
...
@@ -79,7 +79,7 @@ APPLY_SPECIFIC(conv_gw)(PyGpuArrayObject *input, PyGpuArrayObject *output,
cudnnConvolutionBwdFilterAlgoPerf_t
choice
;
cudnnConvolutionBwdFilterAlgoPerf_t
choice
;
err
=
cudnnFindConvolutionBackwardFilterAlgorithm
(
err
=
cudnnFindConvolutionBackwardFilterAlgorithm
(
_handle
,
APPLY_SPECIFIC
(
input
),
APPLY_SPECIFIC
(
output
),
desc
,
APPLY_SPECIFIC
(
_handle
)
,
APPLY_SPECIFIC
(
input
),
APPLY_SPECIFIC
(
output
),
desc
,
APPLY_SPECIFIC
(
kerns
),
1
,
&
count
,
&
choice
);
APPLY_SPECIFIC
(
kerns
),
1
,
&
count
,
&
choice
);
if
(
err
!=
CUDNN_STATUS_SUCCESS
)
{
if
(
err
!=
CUDNN_STATUS_SUCCESS
)
{
...
@@ -103,7 +103,7 @@ APPLY_SPECIFIC(conv_gw)(PyGpuArrayObject *input, PyGpuArrayObject *output,
...
@@ -103,7 +103,7 @@ APPLY_SPECIFIC(conv_gw)(PyGpuArrayObject *input, PyGpuArrayObject *output,
}
}
err
=
cudnnGetConvolutionBackwardFilterAlgorithm
(
err
=
cudnnGetConvolutionBackwardFilterAlgorithm
(
_handle
,
APPLY_SPECIFIC
(
input
),
APPLY_SPECIFIC
(
output
),
APPLY_SPECIFIC
(
_handle
)
,
APPLY_SPECIFIC
(
input
),
APPLY_SPECIFIC
(
output
),
desc
,
APPLY_SPECIFIC
(
kerns
),
desc
,
APPLY_SPECIFIC
(
kerns
),
CUDNN_CONVOLUTION_BWD_FILTER_SPECIFY_WORKSPACE_LIMIT
,
free
,
&
algo
);
CUDNN_CONVOLUTION_BWD_FILTER_SPECIFY_WORKSPACE_LIMIT
,
free
,
&
algo
);
if
(
err
!=
CUDNN_STATUS_SUCCESS
)
{
if
(
err
!=
CUDNN_STATUS_SUCCESS
)
{
...
@@ -159,7 +159,7 @@ APPLY_SPECIFIC(conv_gw)(PyGpuArrayObject *input, PyGpuArrayObject *output,
...
@@ -159,7 +159,7 @@ APPLY_SPECIFIC(conv_gw)(PyGpuArrayObject *input, PyGpuArrayObject *output,
gpudata
*
workspace
;
gpudata
*
workspace
;
err
=
cudnnGetConvolutionBackwardFilterWorkspaceSize
(
err
=
cudnnGetConvolutionBackwardFilterWorkspaceSize
(
_handle
,
APPLY_SPECIFIC
(
input
),
APPLY_SPECIFIC
(
output
),
desc
,
APPLY_SPECIFIC
(
_handle
)
,
APPLY_SPECIFIC
(
input
),
APPLY_SPECIFIC
(
output
),
desc
,
APPLY_SPECIFIC
(
kerns
),
algo
,
&
worksize
);
APPLY_SPECIFIC
(
kerns
),
algo
,
&
worksize
);
if
(
err
!=
CUDNN_STATUS_SUCCESS
)
{
if
(
err
!=
CUDNN_STATUS_SUCCESS
)
{
...
@@ -179,7 +179,7 @@ APPLY_SPECIFIC(conv_gw)(PyGpuArrayObject *input, PyGpuArrayObject *output,
...
@@ -179,7 +179,7 @@ APPLY_SPECIFIC(conv_gw)(PyGpuArrayObject *input, PyGpuArrayObject *output,
}
}
err
=
cudnnConvolutionBackwardFilter_v3
(
err
=
cudnnConvolutionBackwardFilter_v3
(
_handle
,
APPLY_SPECIFIC
(
_handle
)
,
alpha_p
,
alpha_p
,
APPLY_SPECIFIC
(
input
),
PyGpuArray_DEV_DATA
(
input
),
APPLY_SPECIFIC
(
input
),
PyGpuArray_DEV_DATA
(
input
),
APPLY_SPECIFIC
(
output
),
PyGpuArray_DEV_DATA
(
output
),
APPLY_SPECIFIC
(
output
),
PyGpuArray_DEV_DATA
(
output
),
...
...
theano/sandbox/gpuarray/dnn_pool.c
浏览文件 @
3a422ba3
...
@@ -76,7 +76,7 @@ int APPLY_SPECIFIC(dnn_pool)(PyGpuArrayObject *img,
...
@@ -76,7 +76,7 @@ int APPLY_SPECIFIC(dnn_pool)(PyGpuArrayObject *img,
cuda_enter
(
c
->
ctx
);
cuda_enter
(
c
->
ctx
);
err
=
cudnnPoolingForward
(
err
=
cudnnPoolingForward
(
_handle
,
desc
,
APPLY_SPECIFIC
(
_handle
)
,
desc
,
&
alpha
,
&
alpha
,
APPLY_SPECIFIC
(
input
),
PyGpuArray_DEV_DATA
(
img
),
APPLY_SPECIFIC
(
input
),
PyGpuArray_DEV_DATA
(
img
),
&
beta
,
&
beta
,
...
...
theano/sandbox/gpuarray/dnn_pool_grad.c
浏览文件 @
3a422ba3
...
@@ -94,7 +94,7 @@ int APPLY_SPECIFIC(dnn_pool_grad)(PyGpuArrayObject *inp,
...
@@ -94,7 +94,7 @@ int APPLY_SPECIFIC(dnn_pool_grad)(PyGpuArrayObject *inp,
cuda_enter
(
c
->
ctx
);
cuda_enter
(
c
->
ctx
);
err
=
cudnnPoolingBackward
(
err
=
cudnnPoolingBackward
(
_handle
,
desc
,
APPLY_SPECIFIC
(
_handle
)
,
desc
,
&
alpha
,
&
alpha
,
APPLY_SPECIFIC
(
output
),
PyGpuArray_DEV_DATA
(
out
),
APPLY_SPECIFIC
(
output
),
PyGpuArray_DEV_DATA
(
out
),
APPLY_SPECIFIC
(
output_grad
),
PyGpuArray_DEV_DATA
(
out_grad
),
APPLY_SPECIFIC
(
output_grad
),
PyGpuArray_DEV_DATA
(
out_grad
),
...
...
theano/sandbox/gpuarray/dnn_softmax.c
浏览文件 @
3a422ba3
...
@@ -55,7 +55,7 @@ int APPLY_SPECIFIC(softmax)(PyGpuArrayObject *x,
...
@@ -55,7 +55,7 @@ int APPLY_SPECIFIC(softmax)(PyGpuArrayObject *x,
cuda_enter
(
c
->
ctx
);
cuda_enter
(
c
->
ctx
);
err
=
cudnnSoftmaxForward
(
err
=
cudnnSoftmaxForward
(
_handle
,
APPLY_SPECIFIC
(
_handle
)
,
SOFTMAX_ALGO
,
SOFTMAX_ALGO
,
SOFTMAX_MODE
,
SOFTMAX_MODE
,
(
void
*
)
&
alpha
,
(
void
*
)
&
alpha
,
...
...
theano/sandbox/gpuarray/dnn_softmax_grad.c
浏览文件 @
3a422ba3
...
@@ -68,7 +68,7 @@ int APPLY_SPECIFIC(softmax_grad)(PyGpuArrayObject *dy,
...
@@ -68,7 +68,7 @@ int APPLY_SPECIFIC(softmax_grad)(PyGpuArrayObject *dy,
cuda_enter
(
c
->
ctx
);
cuda_enter
(
c
->
ctx
);
err
=
cudnnSoftmaxBackward
(
err
=
cudnnSoftmaxBackward
(
_handle
,
APPLY_SPECIFIC
(
_handle
)
,
SOFTMAX_ALGO
,
SOFTMAX_ALGO
,
SOFTMAX_MODE
,
SOFTMAX_MODE
,
(
void
*
)
&
alpha
,
(
void
*
)
&
alpha
,
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论