PvaAllocator.h#

Fully qualified name: public/src/operator/include/PvaAllocator.h

File members: public/src/operator/include/PvaAllocator.h

/*
 * SPDX-FileCopyrightText: Copyright (c) 2024-2025 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 PVA_ALLOCATOR_H
#define PVA_ALLOCATOR_H

#include <nvcv/DataType.h>
#include <nvcv/Status.h>
#include <nvcv/Tensor.h>
#include <nvcv/TensorLayout.h>

#ifdef __cplusplus
extern "C" {
#endif

NVCVStatus nvcvTensorCalcRequirementsPva(int32_t rank, const int64_t *shape, NVCVDataType dtype,
                                         NVCVTensorLayout layout, int32_t baseAddrAlignment, int32_t rowAddrAlignment,
                                         NVCVTensorRequirements *reqs);

NVCVStatus nvcvImageCalcRequirementsPva(int32_t width, int32_t height, NVCVImageFormat format,
                                        int32_t baseAddrAlignment, int32_t rowAddrAlignment,
                                        NVCVImageRequirements *reqs);

NVCVStatus nvcvAllocatorConstructPva(NVCVAllocatorHandle *handle);

#ifdef __cplusplus
}
#endif

#endif /* PVA_ALLOCATOR_H */