Interface ITensorData
Interface for device dependent representation of Tensor data.
Syntax
public interface ITensorData : IDisposable
Methods
Download(Int32)
Returns an array filled with the values of a tensor.
Depending on the implementation and underlying device this array might be a copy or direct reference to the tensor values.
This is a blocking call, unless data from device was requested via ScheduleAsyncDownload
beforehand and has already arrived.
count
is the number of elements to readback. count
can be less or equal to the number of elements in a specific tensor.
Declaration
float[] Download(int count)
Parameters
Type |
Name |
Description |
Int32 |
count |
|
Returns
GetMaxCount()
Return the maximum number of element this tensorData can contain.
Declaration
Returns
Reserve(Int32)
Reserve uninitialized memory.
Declaration
Parameters
Type |
Name |
Description |
Int32 |
count |
|
ScheduleAsyncDownload(Int32)
Schedule an asynchronous download from device memory.
count
is the number of element to readback.
returns false
until data from device arrives to CPU and is ready for access.
Declaration
bool ScheduleAsyncDownload(int count)
Parameters
Type |
Name |
Description |
Int32 |
count |
|
Returns
SharedAccess(out Int32)
Returns an array filled with the values of multiple tenors that share the same tensorData on device.
This function outputs offset
from the beginning of the array to location of values for specific tensor. offset
paramater is specified in float elements.
Depending on the implementation and underlying device this array might be a copy or direct reference to tensor values.
This is a blocking call, unless data from device was requested via ScheduleAsyncDownload
beforehand and has already arrived.
Declaration
float[] SharedAccess(out int offset)
Parameters
Type |
Name |
Description |
Int32 |
offset |
|
Returns
Upload(Single[], Int32, Int32)
Initialize with data
.
offset
is the offset where to start the copy in the data
count
is the number of element to copy. If count is -1 (default) number of element will be (data.length - offset).
Declaration
void Upload(float[] data, int offset = 0, int count = -1)
Parameters