cupva_host_cmd_program.h#

Fully qualified name: src/host/c_api/include/detail/workloads/cupva_host_cmd_program.h

File members: src/host/c_api/include/detail/workloads/cupva_host_cmd_program.h

/*
 * Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved.
 *
 * NVIDIA Corporation and its licensors retain all intellectual property
 * and proprietary rights in and to this software, related documentation
 * and any modifications thereto.  Any use, reproduction, disclosure or
 * distribution of this software and related documentation without an express
 * license agreement from NVIDIA Corporation is strictly prohibited.
 */

#ifndef CUPVA_HOST_CMD_PROGRAM_H
#define CUPVA_HOST_CMD_PROGRAM_H

#include <detail/workloads/cupva_host_types_workloads.h>
#include <stddef.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef float float32_t;

DLL_EXPORT cupvaError_t CupvaCmdProgramAddDataFlowHead(cupvaCmd_t *const prog, cupvaDataFlow_t *const df,
                                                       cupvaDataFlowType_t const dfType, int32_t const phase,
                                                       float32_t const weight);

DLL_EXPORT cupvaError_t CupvaCmdProgramAddDataFlowHeadShared(cupvaCmd_t *const prog, cupvaDataFlow_t *const df,
                                                             cupvaDataFlowType_t const dfType,
                                                             cupvaDataFlow_t const sharedDf);

DLL_EXPORT cupvaError_t CupvaCmdProgramAddDataFlow(cupvaCmd_t *const prog, cupvaDataFlow_t *const df,
                                                   cupvaDataFlowType_t const dfType);

DLL_EXPORT cupvaError_t CupvaCmdProgramCompileDataFlows(cupvaCmd_t *const cmdProg);

DLL_EXPORT cupvaError_t CupvaCmdProgramUpdateDataFlows(cupvaCmd_t *const cmdProg);

DLL_EXPORT cupvaError_t CupvaCmdProgramCreate(cupvaCmd_t *const cmdProg, cupvaExecutable_t const exec);

DLL_EXPORT cupvaError_t CupvaCmdProgramSetL2Size(cupvaCmd_t *const cmdProg, int32_t const size);

DLL_EXPORT cupvaError_t CupvaCmdProgramGetParameter(cupvaCmd_t *const cmdProg, cupvaParameter_t *const param,
                                                    char const *const name);

DLL_EXPORT cupvaError_t CupvaParameterSetValueArray(cupvaParameter_t *const param, const void *const dataPtr,
                                                    int64_t const dataSizeInBytes);

DLL_EXPORT cupvaError_t CupvaParameterSetValueScalar(cupvaParameter_t *const param, const void *const dataPtr,
                                                     int64_t const dataSizeInBytes);

DLL_EXPORT cupvaError_t CupvaParameterSetValuePointer(cupvaParameter_t *const param, void *const dataPtr);

DLL_EXPORT cupvaError_t CupvaParameterGetDevicePointer(cupvaParameter_t *const param, void const **const ptr);

DLL_EXPORT cupvaError_t CupvaOffsetPointerCreate(cupvaOffsetPointer_t *const offsetPtr, cupvaMemType_t const type,
                                                 void *const basePtr);

DLL_EXPORT cupvaError_t CupvaOffsetPointerCreateFrom(cupvaOffsetPointer_t *const dstOffsetPtr,
                                                     cupvaOffsetPointer_t const *const srcOffsetPtr,
                                                     ptrdiff_t const offset);

DLL_EXPORT cupvaError_t CupvaOffsetPointerApplyOffset(cupvaOffsetPointer_t *const offsetPtr, ptrdiff_t const offset);

DLL_EXPORT cupvaError_t CupvaOffsetPointerSetBase(cupvaOffsetPointer_t *const offsetPtr, void *const basePtr);

DLL_EXPORT cupvaError_t CupvaOffsetPointerDestroy(cupvaOffsetPointer_t *const offsetPtr);

#ifdef __cplusplus
}
#endif
#endif