- Hands-On GPU:Accelerated Computer Vision with OpenCV and CUDA
- Bhaumik Vaidya
- 158字
- 2021-08-13 15:48:21
Passing parameters by value
If you recall, in the gpuAdd program, the syntax for calling the kernel was as follows:
gpuAdd << <1,1> >>(1,4,d_c)
On the other hand, the signature of the gpuAdd function in definition was as follows:
__global__ gpuAdd(int d_a, int d_b, int *d_c)
So, you can see that we are passing values of d_a and d_b while calling the kernel. First, parameter 1 will be copied to d_a and then parameter 4 will be copied to d_b while calling the kernal. The answer after addition will be stored at the address pointed by d_c on device memory. Instead of directly passing values 1 and 4 as inputs to the kernel, we can also write the following:
gpuAdd << <1,1> >>(a,b,d_c)
Here, a and b are integer variables that can contain any integer values. Passing parameters by values is not recommended, as it creates unnecessary confusion and complications in programs. It is better to pass parameters by reference.
- Learning RxJava
- Mastering QGIS
- R語言游戲數據分析與挖掘
- Learning SQLite for iOS
- GitLab Repository Management
- Cassandra Data Modeling and Analysis
- Python語言實用教程
- 時空數據建模及其應用
- Java Web應用開發給力起飛
- AMP:Building Accelerated Mobile Pages
- SQL Server實例教程(2008版)
- 關系數據庫與SQL Server 2012(第3版)
- 你也能看得懂的Python算法書
- Web前端開發實戰教程(HTML5+CSS3+JavaScript)(微課版)
- Web 2.0策略指南