Point Cloud Library (PCL)
1.9.1
Main Page
Modules
Namespaces
Classes
All
Classes
Namespaces
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Modules
Pages
cuda
common
include
pcl
cuda
cutil_inline_bankchecker.h
1
/*
2
* Copyright 1993-2010 NVIDIA Corporation. All rights reserved.
3
*
4
* Please refer to the NVIDIA end user license agreement (EULA) associated
5
* with this source code for terms and conditions that govern your use of
6
* this software. Any use, reproduction, disclosure, or distribution of
7
* this software and related documentation outside the terms of the EULA
8
* is strictly prohibited.
9
*
10
*/
11
12
#ifndef _CUTIL_INLINE_BANKCHECKER_H_
13
#define _CUTIL_INLINE_BANKCHECKER_H_
14
15
#ifdef _DEBUG
16
#if __DEVICE_EMULATION__
17
#define cutilBankChecker(array, idx) (__cutilBankChecker (threadIdx.x, threadIdx.y, threadIdx.z, \
18
blockDim.x, blockDim.y, blockDim.z, \
19
#array, idx, __FILE__, __LINE__), \
20
array[idx])
21
22
#else
23
#define cutilBankChecker(array, idx) array[idx]
24
#endif
25
#else
26
#define cutilBankChecker(array, idx) array[idx]
27
#endif
28
29
// Interface for bank conflict checker
30
inline
void
__cutilBankChecker(
unsigned
int
tidx,
unsigned
int
tidy,
unsigned
int
tidz,
31
unsigned
int
bdimx,
unsigned
int
bdimy,
unsigned
int
bdimz,
32
char
*aname,
int
index,
char
*file,
int
line)
33
{
34
cutCheckBankAccess( tidx, tidy, tidz, bdimx, bdimy, bdimz, file, line, aname, index);
35
}
36
37
#endif // _CUTIL_INLINE_BANKCHECKER_H_