[
https://issues.apache.org/jira/browse/SINGA-235?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15416455#comment-15416455
]
ASF subversion and git services commented on SINGA-235:
-------------------------------------------------------
Commit 05720c21636c0fd55770206176a60a9ab20ae16c in incubator-singa's branch
refs/heads/dev from [~flytosky]
[ https://git-wip-us.apache.org/repos/asf?p=incubator-singa.git;h=05720c2 ]
SINGA-235 - Unify the engines for cudnn and singa layers
For most layers, we would have multiple implementations, e.g., using
cudnn for nvidia gpu, using cpp for cpu and using opencl for other gpus.
These layers have different classes. They are registered with different
identifiers. This ticket would unify the layer identifiers for each
engine:
1. cudnn layers are registered with identifier = cudnn_xxx, e.g.,
cudnn_convolution for the CudnnConvolution layer.
2. singa layers are registered with identifier = singa_xxx, e.g.,
singa_convolution for the Convolution layer.
cudnn engine must run on cuda devices. and singa engine could run on
cuda-gpu device or cpp-cpu device depending on the layer type. For
instance, the Convolution layer must run on cpp-cpu device, and Dense
layer can run on both devices and would select the correct device
automatically.
Users need to make sure the engine and the device of the tensors.
Both CPP and Python code is updated. Users have to compose the layer
identifier manually for CPP version. For Python version, users can set
layer.engine='cudnn' or 'singa'.
All identifiers are case insensitive.
> Unify the engines for cudnn and singa layers
> --------------------------------------------
>
> Key: SINGA-235
> URL: https://issues.apache.org/jira/browse/SINGA-235
> Project: Singa
> Issue Type: Improvement
> Reporter: wangwei
>
> For most layers, we would have multiple implementations, e.g., using cudnn
> for nvidia gpu, using cpp for cpu and using opencl for other gpus.
> These layers have different classes. They are registered with different
> identifiers. This ticket would unify the layer identifiers for each engine:
> 1. cudnn layers are registered with identifier = cudnn_xxx, e.g.,
> cudnn_convolution for the CudnnConvolution layer.
> 2. singa layers are registered with identifier = singa_xxx, e.g.,
> singa_convolution for the Convolution layer.
> cudnn engine must run on cuda devices. and singa engine could run on cuda-gpu
> device or cpp-cpu device depending on the layer type. For instance, the
> Convolution layer must run on cpp-cpu device, and Dense layer can run on both
> devices and would select the correct device automatically.
> Users need to make sure the engine and the device of the tensors.
> Both CPP and Python code is updated. Users have to compose the layer
> identifier manually for CPP version. For Python version, users can set
> layer.engine='cudnn' or 'singa'.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)