54#define STM_API __attribute__((visibility("default")))
59#include <cuda_runtime.h>
63#if VIBRANTE_PDK_DECIMAL < 6000400
64#include <nvmedia_dla.h>
66#if VIBRANTE_PDK_DECIMAL >= 6000000
67#include <cupva_host_wrapper.h>
160#if VIBRANTE_PDK_DECIMAL < 6000400
171typedef void (*stmDlaSubmitter_t)(
void* userdata, NvMediaDla* dla);
174#if VIBRANTE_PDK_DECIMAL >= 6000200
189#if VIBRANTE_PDK_DECIMAL >= 6000000
204#if VIBRANTE_PDK_DECIMAL < 6000400
218STM_API
stmErrorCode_t stmRegisterDlaResource(
const char* resourceName, NvMediaDla* dla);
221#if VIBRANTE_PDK_DECIMAL >= 6000200
240#if VIBRANTE_PDK_DECIMAL >= 6000000
259#if VIBRANTE_PDK_DECIMAL < 6000400
270STM_API
stmErrorCode_t stmRegisterDlaSubmitter(stmDlaSubmitter_t func,
const char*
const runnableId,
void* userdata);
273#if VIBRANTE_PDK_DECIMAL >= 6000200
289#if VIBRANTE_PDK_DECIMAL >= 6000000
STM_API void stmClientInit(const char *clientName)
Initialize STM client context.
STM_API stmErrorCode_t stmEnterScheduler(void)
Yield to STM scheduler, which will schedule all registered runnables in the STM schedule periodically...
STM_API stmErrorCode_t stmRegisterVpuSubmitter(stmVpuSubmitter_t func, const char *const runnableId, void *userdata)
Registers an stmVpuSubmitter_t function with the name provided by the user to the STM compiler.
void(* stmRunnable_t)(void *userdata)
Function signature for STM CPU runnable.
STM_API stmErrorCode_t stmRegisterCuDlaResource(const char *resourceName, cudaStream_t cudla)
Registers a cuDLA resource.
STM_API stmErrorCode_t stmRegisterVpuResource(const char *resourceName, cupvaStream_t vpu)
Registers a cuPVA resource.
STM_API stmErrorCode_t stmGetRuntimeInfo(stmRunnableInfo_t *info)
Get runtime information about execution.
void(* stmVpuSubmitter_t)(void *userdata, cupvaStream_t vpu)
Function signature for STM VPU submitter runnable.
void(* stmCuDlaSubmitter_t)(void *userdata, cudaStream_t cudla)
Function signature for STM cuDLA submitter runnable.
STM_API stmErrorCode_t stmRegisterCudaResource(const char *resourceName, cudaStream_t stream)
Registers a CUDA stream resource.
STM_API void stmClientExit(void)
Cleans up STM client context. No STM APIs can be called after this.
STM_API stmErrorCode_t stmRegisterCuDlaSubmitter(stmCuDlaSubmitter_t func, const char *const runnableId, void *userdata)
Registers an stmCudlaSubmitter_t function with the name provided by the user to the STM compiler.
STM_API void stmClientInitWithDiscriminator(const char *clientName, int32_t discriminator)
Initialize STM client context with a discriminator.
STM_API stmErrorCode_t stmRegisterCpuRunnable(stmRunnable_t func, const char *const runnableId, void *userdata)
Registers an stmRunnable_t function with the name provided by the user to the STM compiler.
STM_API stmErrorCode_t stmRegisterCudaSubmitter(stmCudaSubmitter_t func, const char *const runnableId, void *userdata)
Registers an stmCudaSubmitter_t function with the name provided by the user to the STM compiler.
void(* stmCudaSubmitter_t)(void *userdata, cudaStream_t stream)
Function signature for STM CUDA submitter runnable.
STM_API stmErrorCode_t stmExitScheduler(void)
Return from stmEnterScheduler().
Information which can be queried by CPU runnables using stmGetRuntimeInfo()
Return/error codes for all STM functions.
stmErrorCode_t
Return/error codes for all STM functions.