singa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "wangwei (JIRA)" <>
Subject [jira] [Created] (SINGA-235) Unify the engines for cudnn and singa layers
Date Wed, 10 Aug 2016 13:15:21 GMT
wangwei created SINGA-235:

             Summary: Unify the engines for cudnn and singa layers
                 Key: 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

View raw message