AthXRT::DeviceMgmtSvc Node1 AthXRT::DeviceMgmtSvc - m_xclbin_path_list + initialize() + finalize() + get_opencl_handles _by_kernel_name() + get_xrt_devices_by _kernel_name() - get_device_name() - get_device_bdf() - inspect_devices() - inspect_xclbins() - pair_devices_and_xclbins() - program_devices() - is_xclbin_compatible _with_device() * m_xclbin_path_list * initialize() * finalize() * get_opencl_handles _by_kernel_name() * get_xrt_devices_by _kernel_name() Node2 extends< AthService, IDeviceMgmtSvc > Node2->Node1 Node3 std::vector< AthXRT ::DeviceMgmtSvc::XclbinInfo > Node3->Node1 -m_xclbin_infos Node4 AthXRT::DeviceMgmtSvc ::XclbinInfo Node4->Node3 +elements Node9 AthXRT::DeviceMgmtSvc ::AthClContext Node4->Node9 +xclbin_info Node5 std::string Node5->Node4 +xsa_name +uuid +fpga_device_name +path Node7 std::vector< std::string > Node5->Node7 +elements Node7->Node4 +kernel_names Node8 std::vector< AthXRT ::DeviceMgmtSvc::AthClContext > Node8->Node1 -m_ath_cl_contexts Node9->Node8 +elements Node10 std::shared_ptr< cl ::Program > + ptr + operator->() Node10->Node9 +program Node11 std::vector< cl::Device > + elements Node11->Node9 +devices