- 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.
- Vue.js設計與實現
- 從零構建知識圖譜:技術、方法與案例
- Visual C++程序設計學習筆記
- Objective-C Memory Management Essentials
- Web交互界面設計與制作(微課版)
- 實戰Java程序設計
- Learning Apache Kafka(Second Edition)
- Responsive Web Design by Example
- Mastering JavaScript High Performance
- 編程與類型系統
- 大學計算機基礎
- Java并發編程:核心方法與框架
- Hands-On Robotics Programming with C++
- jQuery從入門到精通(微課精編版)
- 快樂編程:青少年思維訓練