vrt::Device

class Device

Public handle to a V80 device with move semantics.

Thin wrapper around impl::Device providing the user-facing API for device initialization, kernel retrieval, frequency control, and cleanup.

Public Functions

Device() = default

Default constructor for an empty device.

inline Device(const std::string &bdf, const std::string &vrtbinPath, bool program = true, ProgramType programType = ProgramType::FLASH)

Constructor for Device.

Parameters:
  • bdf – The Bus:Device.Function identifier.

  • vrtbinPath – The path to the VRTBIN file.

  • program – Flag indicating whether to program the device.

inline Device(std::shared_ptr<impl::Device> handle)

Constructor from a device handle.

Parameters:

handle – The handle device handle

Device(const Device&) = default

Default copy constructor.

Device &operator=(const Device&) = default

Default copy assignment.

Device(Device&&) = default

Default move constructor.

Device &operator=(Device&&) = default

Default move assignment.

inline vrt::Kernel getKernel(const std::string &name)

Gets a kernel by name.

Parameters:

name – The name of the kernel.

Returns:

The Kernel object.

inline std::string getBdf()

Gets the Bus:Device.Function identifier.

Returns:

The Bus:Device.Function identifier.

inline void setFrequency(uint64_t freq)

Sets device clock frequency.

inline void cleanup()

Cleans up device-side resources (simulation/emulation/hardware helpers).

inline uint64_t getFrequency()

Gets the clock frequency.

inline uint64_t getMaxFrequency()

Gets the maximum frequency.

inline Platform getPlatform()

Gets the platform.

inline std::shared_ptr<impl::Device> getHandle() const

Return the internal device handle.