pjrt

ClientInstance

ClientInstance

#include <api_impl.h>
class ClientInstance

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

Subclassed by: CPUClientInstance, CUDAClientInstance, MetalClientInstance, ROCMClientInstance, VulkanClientInstance

Public Methods

ReturnNameDescription
ClientInstance
~ClientInstance virtual
PJRT_Error *Initialize
Platform &platform inline
Logger &logger inline
iree_allocator_thost_allocator inline
const std::vector< DeviceInstance * > &devices inline
const std::vector< DeviceInstance * > &addressable_devices inline
const std::vector< MemoryInstance * > &memories inline
const std::string &cached_platform_name inline
const std::string &cached_platform_version inline
iree_vm_instance_t *vm_instance inline
PJRT_Error *Compile
iree_status_tCreateDriver virtual
iree_status_tPopulateVMModules virtual
boolSetDefaultCompilerFlags virtual
std::tuple< uint64_t, uint64_t >AdvanceTimeline

ClientInstance

ClientInstance(std::unique_ptr< Platform > platform)

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


~ClientInstance

virtual

virtual ~ClientInstance()

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


Initialize

PJRT_Error * Initialize()

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


platform

inline

inline Platform & platform()

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


logger

inline

inline Logger & logger()

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


host_allocator

inline

inline iree_allocator_t host_allocator()

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


devices

inline

inline const std::vector< DeviceInstance * > & devices()

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


addressable_devices

inline

inline const std::vector< DeviceInstance * > & addressable_devices()

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


memories

inline

inline const std::vector< MemoryInstance * > & memories()

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


cached_platform_name

inline

inline const std::string & cached_platform_name()

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


cached_platform_version

inline

inline const std::string & cached_platform_version()

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


vm_instance

inline

inline iree_vm_instance_t * vm_instance()

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


Compile

PJRT_Error * Compile(const PJRT_Program * program, xla::CompileOptionsProto options, LoadedExecutableInstance ** executable)

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


CreateDriver

virtual

virtual iree_status_t CreateDriver(iree_hal_driver_t ** out_driver)

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

Reimplemented by


PopulateVMModules

virtual

virtual iree_status_t PopulateVMModules(std::vector< iree::vm::ref< iree_vm_module_t > > & modules, iree_hal_device_t * hal_device, iree::vm::ref< iree_vm_module_t > & main_module)

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


SetDefaultCompilerFlags

virtual

virtual bool SetDefaultCompilerFlags(CompilerJob * compiler_job)

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

Reimplemented by


AdvanceTimeline

std::tuple< uint64_t, uint64_t > AdvanceTimeline()

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

Public Static Methods

ReturnNameDescription
voidBindApi static
ClientInstance *Unwrap static inline

BindApi

static

static void BindApi(PJRT_Api * api)

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


Unwrap

static inline

static inline ClientInstance * Unwrap(PJRT_Client * client)

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

Protected Attributes

ReturnNameDescription
iree_allocator_thost_allocator_
iree_hal_driver_registry_t *driver_registry_
std::stringcached_platform_name_
std::stringcached_platform_version_

host_allocator_

iree_allocator_t host_allocator_

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


driver_registry_

iree_hal_driver_registry_t * driver_registry_ = nullptr

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


cached_platform_name_

std::string cached_platform_name_

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


cached_platform_version_

std::string cached_platform_version_

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

Private Attributes

ReturnNameDescription
std::unique_ptr< Platform >platform_
iree_hal_driver_t *driver_
iree_hal_device_info_t *device_infos_
iree_host_size_tdevice_info_count_
std::vector< DeviceInstance * >devices_
std::vector< DeviceInstance * >addressable_devices_
std::vector< MemoryInstance * >memories_
iree::vm::ref< iree_vm_instance_t >vm_instance_
uint64_texecution_timeline_

platform_

std::unique_ptr< Platform > platform_

Type: std::unique_ptr< Platform >

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


driver_

iree_hal_driver_t * driver_ = nullptr

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


device_infos_

iree_hal_device_info_t * device_infos_ = nullptr

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


device_info_count_

iree_host_size_t device_info_count_ = 0

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


devices_

std::vector< DeviceInstance * > devices_

Type: std::vector< DeviceInstance * >

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


addressable_devices_

std::vector< DeviceInstance * > addressable_devices_

Type: std::vector< DeviceInstance * >

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


memories_

std::vector< MemoryInstance * > memories_

Type: std::vector< MemoryInstance * >

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


vm_instance_

iree::vm::ref< iree_vm_instance_t > vm_instance_

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


execution_timeline_

uint64_t execution_timeline_ = 0ull

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

Private Methods

ReturnNameDescription
iree_status_tInitializeCompiler
iree_status_tInitializeVM
iree_status_tPopulateDevices

InitializeCompiler

iree_status_t InitializeCompiler()

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


InitializeVM

iree_status_t InitializeVM()

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


PopulateDevices

iree_status_t PopulateDevices()

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