CmdRequestFences#

Fully qualified name: cupva::CmdRequestFences

Defined in src/host/cpp_api/include/cupva_host.hpp

class CmdRequestFences : public cupva::BaseCmd#

CmdRequestFences will cause the stream to create and output the fence during the submit call.

The fence will expire when all task submitted to the stream before this request are completed. Fence is invalid until this command is submitted to a Stream.

Public Functions

CmdRequestFences() noexcept#

Construct a new, uninitialized object.

This constructor allows declaring stl containers. Commands should be initialized before submitting to streams.

Usage considerations

  • Allowed context for the API call

    • Thread-safe: No

  • API group

    • Init: No

    • Runtime: Yes

    • De-Init: No

explicit CmdRequestFences(Fence &fence) noexcept#

Constructor.

Usage considerations

  • Allowed context for the API call

    • Thread-safe: No

  • API group

    • Init: No

    • Runtime: Yes

    • De-Init: No

Parameters:

fence – The reference to the fence to be filled during submit call.

CmdRequestFences(Fence *const fences, int32_t const count)#

Constructor.

Request a fence array to be filled out during submit call.

Usage considerations

  • Allowed context for the API call

    • Thread-safe: No

  • API group

    • Init: No

    • Runtime: Yes

    • De-Init: No

Parameters:
  • fences – The pointer to the fence array.

  • count – The number of fences in the array.

Throws:

cupva::Exception(InvalidArgument) – if MAX_CMD_REQUEST_FENCES_ARRAY_SIZE < count <= 0

~CmdRequestFences() noexcept#

Destroy the object.

Usage considerations

  • Allowed context for the API call

    • Thread-safe: No

  • API group

    • Init: No

    • Runtime: Yes

    • De-Init: No

CmdRequestFences(CmdRequestFences &&obj) noexcept#

Move constructor.

Usage considerations

  • Allowed context for the API call

    • Thread-safe: No

  • API group

    • Init: No

    • Runtime: Yes

    • De-Init: No

CmdRequestFences &operator=(CmdRequestFences &&obj) & noexcept#

Move assignment.

Usage considerations

  • Allowed context for the API call

    • Thread-safe: No

  • API group

    • Init: No

    • Runtime: Yes

    • De-Init: No

CmdRequestFences(CmdRequestFences const&) = delete#
CmdRequestFences &operator=(CmdRequestFences const&) & = delete#
void finalize()#

Destroy the resources created by a BaseCmd object.

This method is exposed to allow fine-grained control over error handling.

During destruction of the object, this method will be called but the destructor must not propagate exceptions. To handle exceptions, manually invoke this method prior to object destruction.

Usage considerations

  • Allowed context for the API call

    • Thread-safe: No

  • API group

    • Init: No

    • Runtime: No

    • De-Init: Yes

Throws:
  • cupva::Exception(DriverAPIError) – if driver returns error during de-initialization of mapped/pinned memory

  • cupva::Exception(NotAllowedInOperationalState) – if called when NVIDIA DRIVE OS VM state is “Operational”