NAME
AI::MXNet::Context - A device context.
DESCRIPTION
This class governs the device context of AI::MXNet::NDArray objects.
SYNOPSIS
use AI::MXNet qw(mx);
print nd->array([[1,2],[3,4]], ctx => mx->cpu)->aspdl;
my $arr_gpu = nd->random->uniform(shape => [10, 10], ctx => mx->gpu(0));
Constructing a context.
Parameters
----------
device_type : {'cpu', 'gpu'} or Context.
String representing the device type
device_id : int (default=0)
The device id of the device, needed for GPU
cpu
Returns a CPU context.
Parameters
----------
device_id : int, optional
The device id of the device. device_id is not needed for CPU.
This is included to make interface compatible with GPU.
Returns
-------
context : AI::MXNet::Context
The corresponding CPU context.
cpu_pinned
Returns a CPU pinned memory context. Copying from CPU pinned memory to GPU
is faster than from normal CPU memory.
Parameters
----------
device_id : int, optional
The device id of the device. `device_id` is not needed for CPU.
This is included to make interface compatible with GPU.
Returns
-------
context : Context
The corresponding CPU pinned memory context.
gpu
Returns a GPU context.
Parameters
----------
device_id : int, optional
Returns
-------
context : AI::MXNet::Context
The corresponding GPU context.
current_context
Returns the current context.
Returns
-------
$default_ctx : AI::MXNet::Context
num_gpus
Query CUDA for the number of GPUs present.
Raises
------
Will raise an exception on any CUDA error.
Returns
-------
count : int
The number of GPUs.
gpu_memory_info
Query CUDA for the free and total bytes of GPU global memory.
Parameters
----------
$device_id=0 : int, optional
The device id of the GPU device.
Raises
------
Will raise an exception on any CUDA error.
Returns
-------
($free, $total) : (int, int)
Free and total memory in bytes.