CUDA编程之 02 数组加法
2023-09-11 14:18:29 时间
在此博客中,我将指导您完成如何编写用于数组添加的 cuda 内核代码。
需要的库:
#include <stdio.h>
#include <cuda_runtime.h>
Kernel:
__global__ void add(int *a, int *b, int *c, int n)
{
int i = blockDim.x * blockIdx.x + threadIdx.x;
if (i < n)
c[i] = a[i] + b[i];
}
在这个程序中,我们有一个名为“add”的内核函数,它有四个参数:两个整数数组“a”和“b”、一个整数数组“c”和一个整数“n”。内核函数将数组“a”和“b”的相应元素相加,并将结果存储在数组“c”中。if 语句确保仅访问数组“a”、“b”和“c”的有效元素。
运行内核:
int main() {
int n = 10;
int *a, *b, *c;
int *d_a, *d_b, *d_c;
int size = n * sizeof(int);
a = (int *)malloc(size);
b = (int *)malloc(size);
c = (int *)malloc(size);
for (int i = 0; i < n; i++) {
a[i] = i;
b[i] = i * 2;
}
cudaMalloc((void **)&d_a, size);
cudaMalloc((v
相关文章
- obj-c编程10:Foundation库中类的使用(2)[字符串,数组]
- Linux下socket编程,附带tcp例子
- 【PHP面向对象(OOP)编程入门教程】11.类的继承
- java笔记:流式编程 数组与List集合互转
- socket编程时SIGPIPE信号的处理
- Python编程:ndarray数组的保存与读取
- VB编程:对数组进行二分查找-29
- VB编程:数组中插入新的数组元素-26
- VB编程:UBound获取数组上限;LBound获取数组下限-25
- VB编程:UBound获取数组上限;LBound获取数组下限-25_彭世瑜_新浪博客
- VB编程:利用数组设置MSFlexGrid表头和列宽-34
- VB编程:利用数组随机抽取幸运观众-32
- VB编程:利用控件数组设置控件状态-38
- VB编程:利用指针实现数组拆分-44
- 《Kotin 极简教程》第8章 函数式编程(FP)
- 《windows核心编程系列》十八谈谈windows钩子
- 387集Go语言核心编程培训视频教材整理 | 数组和切片(二)
- 387集Go语言核心编程培训视频教材整理 | 数组和切片
- LabVIEW编程LabVIEW开发PXI-6704输出大于20mA的电流例程与相关资料
- 算法和数据结构就是编程的一个重要部分,你若失掉了算法和数据结构,你就把一切都失掉了
- VC 编程技巧 (四)
- Python学习笔记(十一)—— 函数式编程
- 基于神经网络的传递函数控制器matlab实现,神经网络自己编程实现不使用matlab的工具箱
- C++编程经验(1):确保对象使用前被初始化
- 系统编程(六)文件IO之常用API readv writev