![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并行计算CUDA编程新手实验
记录初学CUDA时所做的实验
赴星辰大海
这个作者很懒,什么都没留下…
展开
-
cuda矩阵相加分块平铺cudaMemcpy2D
该代码实现了矩阵相加计算,在GPU中将矩阵的数据分块平铺处理,使用cudaMemcpy2D优化矩阵访问,并且对比了算法相对于CPU版本的加速效果,验证了算法正确性。#include "cuda_runtime.h"#include "device_launch_parameters.h"#include <stdio.h>#include <malloc.h>#include <random>#include "time.h"#define W 2000原创 2021-07-27 13:48:44 · 758 阅读 · 0 评论 -
cuda任意长度矢量求和兼容数据分块与小数据量时平铺
本代码实现计算矢量求和时,当矢量长度比较小,一个线程负责计算一个个维度的矢量求和,即数据平铺,当矢量长度较大,采取数据分块,一个线程可能负责多个维度的矢量求和。未使用优化手段,代码中包含对于计算正确性的检验、与CPU计算耗时的对比。#include "cuda_runtime.h"#include "device_launch_parameters.h"#include <stdio.h>#include <random>#include "time.h"#defi原创 2021-07-10 23:21:00 · 160 阅读 · 0 评论 -
CUDA绘制Julia集图像debug实录
症状:代码无法运行,报错显示为“请输入表达式”,代码原始状态如下#include "cuda_runtime.h"#include "device_launch_parameters.h"#include "cpu_bitmap.h"#include "book.h" #include <stdio.h> #define DIM 1000 #define R1 214 //底色,根据自己喜好输入颜色RGB值#define G1 163#define B1 220原创 2021-03-28 15:30:32 · 272 阅读 · 0 评论 -
CUDA实战2-实现任意配色方案绘制Julia集图像
代码(代注释,持续更新中):#include "cuda_runtime.h"#include "device_launch_parameters.h"#include "cpu_bitmap.h"#include "book.h"#include <stdio.h>#define DIM 1000#define R1 214 //底色,根据自己喜好输入颜色RGB值#define G1 163#define B1 220#define R2 247 //Julia原创 2021-03-28 15:06:28 · 514 阅读 · 0 评论 -
CUDA求任意长度向量和debug实录
症状:点击运行,程序一直跑,却没有输出问题代码:#include "cuda_runtime.h"#include "device_launch_parameters.h" #include <stdio.h> #define N 256 //向量长度,自行设置#define BLOCK 128//线程块数目,可根据硬件限制随意设置#define BLOCKDIM 128 //线程块内线程数目,可根据硬件限制随意设置 __global__ void addKernel原创 2021-03-28 14:57:15 · 192 阅读 · 0 评论 -
CUDA实战1-任意长度矢量求和运算两种方法
方法一:矢量每一维度的相加都开一个单独线程#include "cuda_runtime.h"#include "device_launch_parameters.h"#define N 256 //矢量长度,自行修改#define BLOCKDIM 128 //线程块内线程数,可自行修改为不超过硬件限制的数__global__ void addKernel(int *c, const int *a, const int *b){ //获得向量维度 int i = bloc原创 2021-03-28 13:24:54 · 880 阅读 · 0 评论