NVIDIA 2D Image And Signal Performance Primitives (NPP)  Version 12.0..*
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
nppcore.h
1  /* Copyright 2009-2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2  *
3  * NOTICE TO LICENSEE:
4  *
5  * The source code and/or documentation ("Licensed Deliverables") are
6  * subject to NVIDIA intellectual property rights under U.S. and
7  * international Copyright laws.
8  *
9  * The Licensed Deliverables contained herein are PROPRIETARY and
10  * CONFIDENTIAL to NVIDIA and are being provided under the terms and
11  * conditions of a form of NVIDIA software license agreement by and
12  * between NVIDIA and Licensee ("License Agreement") or electronically
13  * accepted by Licensee. Notwithstanding any terms or conditions to
14  * the contrary in the License Agreement, reproduction or disclosure
15  * of the Licensed Deliverables to any third party without the express
16  * written consent of NVIDIA is prohibited.
17  *
18  * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
19  * LICENSE AGREEMENT, NVIDIA MAKES NO REPRESENTATION ABOUT THE
20  * SUITABILITY OF THESE LICENSED DELIVERABLES FOR ANY PURPOSE. THEY ARE
21  * PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.
22  * NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THESE LICENSED
23  * DELIVERABLES, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY,
24  * NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.
25  * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
26  * LICENSE AGREEMENT, IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY
27  * SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY
28  * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
29  * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
30  * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
31  * OF THESE LICENSED DELIVERABLES.
32  *
33  * U.S. Government End Users. These Licensed Deliverables are a
34  * "commercial item" as that term is defined at 48 C.F.R. 2.101 (OCT
35  * 1995), consisting of "commercial computer software" and "commercial
36  * computer software documentation" as such terms are used in 48
37  * C.F.R. 12.212 (SEPT 1995) and are provided to the U.S. Government
38  * only as a commercial end item. Consistent with 48 C.F.R.12.212 and
39  * 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), all
40  * U.S. Government End Users acquire the Licensed Deliverables with
41  * only those rights set forth herein.
42  *
43  * Any use of the Licensed Deliverables in individual and commercial
44  * software must include, in the user documentation and internal
45  * comments to the code, the above Disclaimer and U.S. Government End
46  * Users Notice.
47  */
48 #ifndef NV_NPPCORE_H
49 #define NV_NPPCORE_H
50 
51 #include <cuda_runtime_api.h>
52 
60 #include "nppdefs.h"
61 
62 #ifdef __cplusplus
63 #ifdef NPP_PLUS
64 using namespace nppPlusV;
65 #else
66 extern "C" {
67 #endif
68 #endif
69 
82 const NppLibraryVersion *
83 nppGetLibVersion(void);
84 
90 int
91 nppGetGpuNumSMs(void);
92 
98 int
100 
106 int
108 
114 int
115 nppGetGpuDeviceProperties(int * pMaxThreadsPerSM, int * pMaxThreadsPerBlock, int * pNumberOfSMs);
116 
122 const char *
123 nppGetGpuName(void);
124 
133 cudaStream_t
134 nppGetStream(void);
135 
148 NppStatus
149 nppGetStreamContext(NppStreamContext * pNppStreamContext);
150 
159 unsigned int
160 nppGetStreamNumSMs(void);
161 
170 unsigned int
172 
179 NppStatus
180 nppSetStream(cudaStream_t hStream);
181 
182 
186 #ifdef __cplusplus
187 #ifndef NPP_PLUS
188 } /* extern "C" */
189 #endif
190 #endif
191 
192 #endif /* NV_NPPCORE_H */
unsigned int nppGetStreamNumSMs(void)
Get the number of SMs on the device associated with the current NPP CUDA stream.
NppStatus nppSetStream(cudaStream_t hStream)
Set the NPP CUDA stream.
NppStatus
Error Status Codes.
Definition: nppdefs.h:174
int nppGetMaxThreadsPerBlock(void)
Get the maximum number of threads per block on the active CUDA device.
const NppLibraryVersion * nppGetLibVersion(void)
Get the NPP library version.
int nppGetMaxThreadsPerSM(void)
Get the maximum number of threads per SM for the active GPU.
NPP stream context structure must be filled in by application.
Definition: nppdefs.h:793
cudaStream_t nppGetStream(void)
Get the NPP CUDA stream.
const char * nppGetGpuName(void)
Get the name of the active CUDA device.
int nppGetGpuDeviceProperties(int *pMaxThreadsPerSM, int *pMaxThreadsPerBlock, int *pNumberOfSMs)
Get the maximum number of threads per SM, maximum threads per block, and number of SMs for the active...
int nppGetGpuNumSMs(void)
Get the number of Streaming Multiprocessors (SM) on the active CUDA device.
unsigned int nppGetStreamMaxThreadsPerSM(void)
Get the maximum number of threads per SM on the device associated with the current NPP CUDA stream...
NppStatus nppGetStreamContext(NppStreamContext *pNppStreamContext)
Get the current NPP managed CUDA stream context as set by calls to nppSetStream().
Definition: nppdefs.h:261

Copyright © 2009-2022 NVIDIA CORPORATION AND AFFILIATES