Compute the L-infinity norm on the difference of this
and that
.
Compute the L-infinity norm on the difference of this
and that
.
AbstractFieldMemory to compare to this
L-infinity error
The direct buffer for this memory.
The direct buffer for this memory. This is always a view of _byteBuffer, but upcast to the appropriate subclass of Buffer using, for example, ByteBuffer.asFloatBuffer. The view calls are somewhat dangerous because they create a view with proper endianness for Java (which uses the native endianness internally) but they can also change the endianness of _byteBuffer. This is subtle, so read the Java documentation carefully if you need to change this.
Print out the field for debugging.
Maximum number of dimensions in tensor fields.
Maximum number of dimensions in tensor fields.
Maximum supported tensor order for tensors in field.
Maximum supported tensor order for tensors in field.
The actual memory for the field.
The actual memory for the field.
Allocates a direct ByteBuffer with native ordering.
Allocates a direct ByteBuffer with native ordering.
Number of bytes in the buffer
A direct byte buffer.
Allocates an indirect ByteBuffer with native ordering.
Allocates an indirect ByteBuffer with native ordering.
Number of bytes in the buffer
An indirect byte buffer.
Allocates a pinned, direct ByteBuffer with native (?) ordering.
Allocates a pinned, direct ByteBuffer with native (?) ordering.
There is no way in OpenCL to create a pinned buffer, but the "NVIDIA OpenCL Best Practices Guide" suggests that this has the highest probability of success.
Number of bytes in the buffer
Command queue needed for mapping allocated buffer to a direct buffer.
A pinned, direct byte buffer.
Test for approximate equality between this
and that
using L-infinity norm.
Test for approximate equality between this
and that
using L-infinity norm.
AbstractFieldMemory to compare to this
Maximum L-infinity error value to consider equal
true if L_inf(this, that) <= maxError
Number of bytes in each "number" of the element.
Number of bytes in each "number" of the element.
"Columns" in the field.
"Columns" in the field. See class description for meaning of columns.
Copy the data in this
to another field memory.
Copy the data in this
to another field memory.
Field memory to receive a copy of the data in this.
Dimensions of the field.
Dimensions of the field.
The type of scalar that populates the tensor.
The type of scalar that populates the tensor.
Test for exact equality between this
and that
.
Test for exact equality between this
and that
.
AbstractFieldMemory to compare to this
true if every value in this
and that
is exactly equal
Stride from beginning of one row to the next.
Stride from beginning of one row to the next.
Shape of the field.
Shape of the field.
Field type from which to extract parameters.
Field type from which to extract parameters.
"Layers" in the field.
"Layers" in the field. See class description for meaning of layers.
Number of "numbers" in each tensor in the field.
Number of "numbers" in each tensor in the field.
Columns rounded up for memory alignment when necessary.
Columns rounded up for memory alignment when necessary. Note that images do not have alignment requirements.
Update: Padding of columns has been removed! Motivation:
1. With caches now common in GPUs, this had no measurable performance benefit. 2. The native runtime exposes the layout to the user apps, and no notion of padding was described. 3. The padding introduced corner-cases where the footprint of certain fields grows dramatically, which affects buffer transfer times between GPUs and makes the GPU caches less effective.
Number of elements required to represent a single tensor element in a field, including whatever padding is needed for I/O efficiency.
Number of elements required to represent a single tensor element in a field, including whatever padding is needed for I/O efficiency.
Stride from beginning of one part of a multi-component tensor element (e.g.
Stride from beginning of one part of a multi-component tensor element (e.g. a complex) to the next part.
"Rows" in the field.
"Rows" in the field. See class description for meaning of rows.
Order of the tensors in the field.
Order of the tensors in the field.
Shape of the tensors in the field.
Shape of the tensors in the field.
Stride from beginning of one tensor element to the next.
Stride from beginning of one tensor element to the next.
CPU container for a tensor field, including methods for reading and writing it. This implemented using direct, NIO buffers for efficiency.
This organizes the data within the buffer so that memory accesses by the GPU are efficient. This also provides a uniform representation of fields that's consistent on both CPU and GPU.
See the FieldMemoryLayout class for description of the physical layout.