Device
Device dùng ở đây nghĩa là thiết bị phần cứng với bộ nhớ và các bộ phận máy tính. Tất cả Tensor operations được sắp xếp bởi các thiết bị resident device khi chạy. Bộ nhớ của Tensor luôn luôn được quản lý bởi memory manager của thiết bị đó. Bởi vậy việc tận dụng tối đa bộ nhớ và thực hiện được tiến hành tại Device class.
Các thiết bị cụ thể
Hiện tại, SINGA được chạy trên ba Device,
- CudaGPU cho cạc Nvidia GPU card chạy code Cuda
- CppCPU cho CPU chạy Cpp code
- OpenclGPU cho cạc GPU chạy OpenCL code
Ví Dụ Sử Dụng
Code dưới đây là ví dụ về việc tạo device:
from singa import device
cuda = device.create_cuda_gpu_on(0) # sử dụng cạc GPU với ID 0
host = device.get_default_device() # tạo host mặc định cho device (CppCPU)
ary1 = device.create_cuda_gpus(2) # tạo 2 devices, bắt đầu từ ID 0
ary2 = device.create_cuda_gpus([0,2]) # tạo 2 devices với ID 0 và 2