Device
Device 代表一个有内存和计算单元的硬件设备。所有的Tensor 操作都由常驻 设备安排执行的,Tensor 内存也由设备的内存管理器管理。因此,需要在 Device 类中实 现内存和执行的优化。
特定设备
目前,SINGA 支持三种设备:
- CudaGPU:用于运行 Cuda 代码的 Nvidia GPU。
- CppCPU:用于运行 Cpp 代码的 CPU。
- OpenclGPU:用于运行 OpenCL 代码的 GPU 卡。
用法示例
下面的代码提供了创建设备的例子:
from singa import device
cuda = device.create_cuda_gpu_on(0) # use GPU card of ID 0
host = device.get_default_device() # get the default host device (a CppCPU)
ary1 = device.create_cuda_gpus(2) # create 2 devices, starting from ID 0
ary2 = device.create_cuda_gpus([0,2]) # create 2 devices on ID 0 and 2