wangwei created SINGA-234:
-----------------------------
Summary: Unify the engines for cudnn and singa layers
Key: SINGA-234
URL: https://issues.apache.org/jira/browse/SINGA-234
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)