Compute Graph Framework SDK Reference  5.16
NvSciHelper.hpp
Go to the documentation of this file.
1
2// This code contains NVIDIA Confidential Information and is disclosed
3// under the Mutual Non-Disclosure Agreement.
4//
5// Notice
6// ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
7// NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
8// THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
9// MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
10//
11// NVIDIA Corporation assumes no responsibility for the consequences of use of such
12// information or for any infringement of patents or other rights of third parties that may
13// result from its use. No license is granted by implication or otherwise under any patent
14// or patent rights of NVIDIA Corporation. No third party distribution is allowed unless
15// expressly authorized by NVIDIA. Details are subject to change without notice.
16// This code supersedes and replaces all information previously supplied.
17// NVIDIA Corporation products are not authorized for use as critical
18// components in life support devices or systems without express written approval of
19// NVIDIA Corporation.
20//
21// Copyright (c) 2019-2023 NVIDIA Corporation. All rights reserved.
22//
23// NVIDIA Corporation and its licensors retain all intellectual property and proprietary
24// rights in and to this software and related documentation and any modifications thereto.
25// Any use, reproduction, disclosure or distribution of this software and related
26// documentation without an express license agreement from NVIDIA Corporation is
27// strictly prohibited.
28//
30
31#ifndef DW_FRAMEWORK_CHANNEL_NVSCIHELPER_HPP_
32#define DW_FRAMEWORK_CHANNEL_NVSCIHELPER_HPP_
33
34#include <cstdint>
35#include <nvscierror.h>
36
37#include <dwshared/dwfoundation/dw/core/base/ExceptionWithStatus.hpp>
38#include <dwshared/dwfoundation/dw/core/logger/Logger.hpp>
39
40namespace dw
41{
42namespace framework
43{
44
45const char* nvSciGetEventName(uint32_t event);
46const char* nvSciGetErrorName(uint32_t error);
47
48} // namespace framework
49} // namespace dw
50
51#define FRWK_CHECK_NVSCI_ERROR(e) \
52 { \
53 NvSciError FRWK_CHECK_NVSCI_ERROR_ret{(e)}; \
54 if (NvSciError_Success != FRWK_CHECK_NVSCI_ERROR_ret) \
55 { \
56 DW_LOGE << "Failed with " << dw::framework::nvSciGetErrorName(static_cast<uint32_t>(FRWK_CHECK_NVSCI_ERROR_ret)) \
57 << "(" << static_cast<uint32_t>(FRWK_CHECK_NVSCI_ERROR_ret) << ")" \
58 << " in " << __FILE__ \
59 << ":" << __LINE__ << Logger::State::endl; \
60 if (NvSciError_Timeout == FRWK_CHECK_NVSCI_ERROR_ret) \
61 throw dw::core::ExceptionWithStatus(DW_TIME_OUT, "NvSci API Timeout"); \
62 else \
63 throw dw::core::ExceptionWithStatus(DW_INTERNAL_ERROR, "NvSci internal error occured"); \
64 } \
65 }
66
67#endif // DW_FRAMEWORK_CHANNEL_NVSCIHELPER_HPP_
const char * nvSciGetEventName(uint32_t event)
const char * nvSciGetErrorName(uint32_t error)
Definition: Buffer.hpp:40