pjrt

DeviceInstance

DeviceInstance

#include <api_impl.h>
class DeviceInstance

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:225

Public Methods

ReturnNameDescription
DeviceInstance inline
~DeviceInstance
operator PJRT_Device * inline
ClientInstance &client inline
boolis_addressable inline
intlocal_hardware_id inline
voidset_memory inline
MemoryInstance *memory inline
iree_status_tHostBufferToDeviceZeroDim
iree_status_tHostBufferToDeviceSplat
iree_status_tTransposeBroadcastDeviceBuffer
iree_status_tHostBufferToDevice
iree_status_tGetHalDevice
DeviceDescription *device_description inline
iree_hal_semaphore_t *main_timeline inline
iree_hal_device_t *device inline
iree_hal_allocator_t *device_allocator inline
iree_status_tCreateFence

DeviceInstance

inline

inline DeviceInstance(int client_id, ClientInstance & client, iree_hal_driver_t * driver, iree_hal_device_info_t * info)

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:227


~DeviceInstance

~DeviceInstance()

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:230


operator PJRT_Device *

inline

inline operator PJRT_Device *()

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:231


client

inline

inline ClientInstance & client()

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:241


is_addressable

inline

inline bool is_addressable()

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:242


local_hardware_id

inline

inline int local_hardware_id()

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:243


set_memory

inline

inline void set_memory(MemoryInstance * memory)

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:245


memory

inline

inline MemoryInstance * memory()

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:246


HostBufferToDeviceZeroDim

iree_status_t HostBufferToDeviceZeroDim(PJRT_Buffer_Type type, const int64_t * dims, size_t num_dims, EventInstance ** out_done_with_host_buffer_event, BufferInstance ** out_buffer)

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:248


HostBufferToDeviceSplat

iree_status_t HostBufferToDeviceSplat(const void * data, PJRT_Buffer_Type type, const int64_t * dims, size_t num_dims, EventInstance ** out_done_with_host_buffer_event, BufferInstance ** out_buffer)

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:253


TransposeBroadcastDeviceBuffer

iree_status_t TransposeBroadcastDeviceBuffer(BufferInstance * buffer, iree_hal_element_type_t type, const iree_hal_dim_t * input_dims, const iree_hal_dim_t * output_dims, const int64_t * perms, size_t num_dims, PJRT_HostBufferSemantics host_buffer_semantics, EventInstance ** out_done_with_host_buffer_event, BufferInstance ** out_buffer)

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:258


HostBufferToDevice

iree_status_t HostBufferToDevice(const void * data, PJRT_Buffer_Type type, const int64_t * dims, size_t num_dims, const int64_t * byte_strides, size_t num_byte_strides, PJRT_HostBufferSemantics host_buffer_semantics, EventInstance ** out_done_with_host_buffer_event, BufferInstance ** out_buffer)

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:268


GetHalDevice

iree_status_t GetHalDevice(iree_hal_device_t ** out_device)

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:276


device_description

inline

inline DeviceDescription * device_description()

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:278


main_timeline

inline

inline iree_hal_semaphore_t * main_timeline()

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:281


device

inline

inline iree_hal_device_t * device()

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:283


device_allocator

inline

inline iree_hal_allocator_t * device_allocator()

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:284


CreateFence

iree_status_t CreateFence(iree_hal_fence_t ** out_fence)

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:289

Public Static Methods

ReturnNameDescription
voidBindApi static
DeviceInstance *Unwrap static inline
DeviceInstance *Unwrap static inline

BindApi

static

static void BindApi(PJRT_Api * api)

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:232


Unwrap

static inline

static inline DeviceInstance * Unwrap(PJRT_Device * device)

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:234


Unwrap

static inline

static inline DeviceInstance * Unwrap(PJRT_DeviceDescription * device_description)

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:238

Private Attributes

ReturnNameDescription
ClientInstance &client_
iree_hal_driver_t *driver_
iree::vm::ref< iree_hal_device_t >device_
iree::vm::ref< iree_hal_semaphore_t >main_timeline_
iree::vm::ref< iree_hal_semaphore_t >transfer_timeline_
iree::vm::ref< iree_hal_fence_t >transfer_now_fence_
uint64_tlast_transfer_timepoint_
DeviceDescriptioninfo_
std::vector< MemoryInstance * >memories_

client_

ClientInstance & client_

Type: ClientInstance &

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:298


driver_

iree_hal_driver_t * driver_

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:299


device_

iree::vm::ref< iree_hal_device_t > device_

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:300


main_timeline_

iree::vm::ref< iree_hal_semaphore_t > main_timeline_

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:301


transfer_timeline_

iree::vm::ref< iree_hal_semaphore_t > transfer_timeline_

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:302


transfer_now_fence_

iree::vm::ref< iree_hal_fence_t > transfer_now_fence_

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:305


last_transfer_timepoint_

uint64_t last_transfer_timepoint_ = 0

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:307


info_

DeviceDescription info_

Type: DeviceDescription

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:308


memories_

std::vector< MemoryInstance * > memories_

Type: std::vector< MemoryInstance * >

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:310

Private Methods

ReturnNameDescription
iree_status_tOpenDevice
iree_status_tAcquireHostStagingBuffer

OpenDevice

iree_status_t OpenDevice()

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:292


AcquireHostStagingBuffer

iree_status_t AcquireHostStagingBuffer(iree_const_byte_span_t initial_contents, bool snapshot_initial_contents_now, bool * initial_contents_snapshotted, iree_hal_buffer_t ** out_buffer)

Defined in integrations/pjrt/src/iree_pjrt/common/api_impl.h:293