tvm
Public Member Functions | Static Public Member Functions | List of all members
tvm::runtime::Session Class Reference

Managed reference to SessionObj. More...

#include <session.h>

Inheritance diagram for tvm::runtime::Session:
Collaboration diagram for tvm::runtime::Session:

Public Member Functions

 TVM_DEFINE_MUTABLE_NOTNULLABLE_OBJECT_REF_METHODS (Session, ObjectRef, SessionObj)
 
- Public Member Functions inherited from tvm::runtime::ObjectRef
 ObjectRef ()=default
 default constructor More...
 
 ObjectRef (ObjectPtr< Object > data)
 Constructor from existing object ptr. More...
 
bool same_as (const ObjectRef &other) const
 Comparator. More...
 
bool operator== (const ObjectRef &other) const
 Comparator. More...
 
bool operator!= (const ObjectRef &other) const
 Comparator. More...
 
bool operator< (const ObjectRef &other) const
 Comparator. More...
 
bool defined () const
 
const Objectget () const
 
const Objectoperator-> () const
 
bool unique () const
 
int use_count () const
 
template<typename ObjectType , typename = std::enable_if_t<std::is_base_of_v<Object, ObjectType>>>
const ObjectType * as () const
 Try to downcast the internal Object to a raw pointer of a corresponding type. More...
 
template<typename ObjectRefType , typename = std::enable_if_t<std::is_base_of_v<ObjectRef, ObjectRefType>>>
Optional< ObjectRefType > as () const
 Try to downcast the ObjectRef to a Optional<T> of the requested type. More...
 

Static Public Member Functions

static Session ThreadedSession (int num_workers)
 Create a session backed by a thread pool of workers. More...
 
static Session ProcessSession (int num_workers, String process_pool_creator, String entrypoint)
 Create a session backed by pipe-based multiprocessing. More...
 

Additional Inherited Members

- Public Types inherited from tvm::runtime::ObjectRef
using ContainerType = Object
 type indicate the container type. More...
 
- Static Public Attributes inherited from tvm::runtime::ObjectRef
static constexpr bool _type_is_nullable = true
 
- Protected Member Functions inherited from tvm::runtime::ObjectRef
Objectget_mutable () const
 
- Static Protected Member Functions inherited from tvm::runtime::ObjectRef
template<typename T >
static T DowncastNoCheck (ObjectRef ref)
 Internal helper function downcast a ref without check. More...
 
static void FFIClearAfterMove (ObjectRef *ref)
 Clear the object ref data field without DecRef after we successfully moved the field. More...
 
template<typename ObjectType >
static ObjectPtr< ObjectType > GetDataPtr (const ObjectRef &ref)
 Internal helper function get data_ as ObjectPtr of ObjectType. More...
 
- Protected Attributes inherited from tvm::runtime::ObjectRef
ObjectPtr< Objectdata_
 Internal pointer that backs the reference. More...
 

Detailed Description

Managed reference to SessionObj.

See also
SessionObj

Member Function Documentation

◆ ProcessSession()

static Session tvm::runtime::Session::ProcessSession ( int  num_workers,
String  process_pool_creator,
String  entrypoint 
)
static

Create a session backed by pipe-based multiprocessing.

Parameters
num_workersThe number of workers.
process_pool_creatorThe name of a global function that takes num_workers as an input, and returns a PackedFunc, which takes an integer worker_id as the input and returns None. When worker-id is 0, it shuts down the process pool; Otherwise, it retursn a tuple (read_fd, writefd) used to communicate with the corresponding worker.
entrypointThe entrypoint of DiscoWorker main worker function.
Note
Worker-0 is always co-located with the controler as a separate thread, and therefore worker-0 does not exist in the process pool.

◆ ThreadedSession()

static Session tvm::runtime::Session::ThreadedSession ( int  num_workers)
static

Create a session backed by a thread pool of workers.

Parameters
num_workersThe number of workers.

◆ TVM_DEFINE_MUTABLE_NOTNULLABLE_OBJECT_REF_METHODS()

tvm::runtime::Session::TVM_DEFINE_MUTABLE_NOTNULLABLE_OBJECT_REF_METHODS ( Session  ,
ObjectRef  ,
SessionObj   
)

The documentation for this class was generated from the following file: