NVIDIA Performance Primitives (NPP)  Version 10.1
nppcore.h
1  /* Copyright 2009-2018 NVIDIA Corporation. 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 extern "C" {
64 #endif
65 
78 const NppLibraryVersion *
79 nppGetLibVersion(void);
80 
97 
103 int
104 nppGetGpuNumSMs(void);
105 
111 int
113 
119 int
121 
127 int
128 nppGetGpuDeviceProperties(int * pMaxThreadsPerSM, int * pMaxThreadsPerBlock, int * pNumberOfSMs);
129 
135 const char *
136 nppGetGpuName(void);
137 
146 cudaStream_t
147 nppGetStream(void);
148 
161 NppStatus
162 nppGetStreamContext(NppStreamContext * pNppStreamContext);
163 
172 unsigned int
173 nppGetStreamNumSMs(void);
174 
183 unsigned int
185 
192 NppStatus
193 nppSetStream(cudaStream_t hStream);
194 
195 
199 #ifdef __cplusplus
200 } /* extern "C" */
201 #endif
202 
203 #endif /* NV_NPPCORE_H */
NppGpuComputeCapability
Definition: nppdefs.h:260
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:169
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.
NppGpuComputeCapability nppGetGpuComputeCapability(void)
What CUDA compute model is supported by the active CUDA device?
NPP stream context structure must be filled in by application.
Definition: nppdefs.h:640
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:286

Copyright © 2009-2018 NVIDIA Corporation