VMEM_NOEXPORT#

Defined in src/device/vpu_runtime/include/cupva_device/device_core.h

VMEM_NOEXPORT(bank, type, name, ...)#

Declare a private VMEM buffer.

Variadic macro used to declare a buffer in VMEM. If w/h are specified, the buffer will be a 1D/2D array with 64 byte alignment. Otherwise, it will be a single element variable. In the single element case, if sizeof(type) >= 64, then the buffer will have 64 byte alignment. Otherwise, it will have 4 byte alignment.

Unlike VMEM(), this macro can be used as the left-hand side of a constant initialization expression, for example:

VMEM_NOEXPORT(A, int32_t, myData, 3) = {0, 1, 2};

Buffers declared with VMEM_NOEXPORT are not added to the export table by default and therefore are not accessible to host side APIs for setting parameters or configuring the DMA engine. If such access is needed to this buffer or a member of it, use CUPVA_EXPORT.

Parameters:
  • bank – Should be A, B or C (refers to VMEM bank)

  • type – Type of buffer (or type of elements in the case of an array)

  • name – Name of buffer

  • ... – Optional arguments, specified in the following order:

    • h gives array dim. Defaults to scalar type if not present.

    • w gives array dim. Defaults to 1D array if only h is present, 2D array otherwise.