cupva_host_types_scheduling.h#

Fully qualified name: src/host/c_api/include/detail/scheduling/cupva_host_types_scheduling.h

File members: src/host/c_api/include/detail/scheduling/cupva_host_types_scheduling.h

/*
 * SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
 * SPDX-License-Identifier: LicenseRef-NvidiaProprietary
 *
 * NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
 * property and proprietary rights in and to this material, related
 * documentation and any modifications thereto. Any use, reproduction,
 * disclosure or distribution of this material and related documentation
 * without an express license agreement from NVIDIA CORPORATION or
 * its affiliates is strictly prohibited.
 */
#ifndef CUPVA_HOST_TYPES_SCHEDULING_H
#define CUPVA_HOST_TYPES_SCHEDULING_H

#include <cupva_host_types.h>
#include <detail/cupva_host_types_detail.h>
#include <stdint.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef enum
{
    CUPVA_ORDER_TYPE_INVALID = 0,
    CUPVA_IN_ORDER,
    CUPVA_OUT_OF_ORDER,
    CUPVA_ORDER_TYPE_MAX
} cupvaOrderType_t;

typedef enum
{
    CUPVA_GEN_TYPE_INVALID = 0,
    CUPVA_GEN1,
    CUPVA_GEN2,
    CUPVA_GEN3,
    CUPVA_GEN_TYPE_MAX
} cupvaGenType_t;

typedef enum
{
    CUPVA_ENGINE_TYPE_INVALID = 0,
    CUPVA_PVA0,
    CUPVA_PVA1,
    CUPVA_ENGINE_TYPE_MAX
} cupvaEngineType_t;

typedef enum
{
    CUPVA_AFFINITY_TYPE_INVALID = 0,
    CUPVA_VPU0,
    CUPVA_VPU1,
    CUPVA_VPU_ANY,
    CUPVA_AFFINITY_TYPE_MAX
} cupvaAffinityType_t;

typedef enum
{
    CUPVA_SYNC_CLIENT_TYPE_INVALID = 0,
    CUPVA_SIGNALER,
    CUPVA_WAITER,
    CUPVA_SIGNALER_WAITER,
    CUPVA_SYNC_CLIENT_TYPE_MAX
} cupvaSyncClientType_t;

typedef enum
{
    CUPVA_SYNC_WAIT_MODE_INVALID = 0,
    CUPVA_SYNC_YIELD,
    CUPVA_SYNC_SPIN,
    CUPVA_SYNC_WAIT_MODE_MAX
} cupvaSyncWaitMode_t;

#ifdef __cplusplus
}
#endif

#endif