CUDA
MusicLEEE
喜欢做游戏
展开
-
CUDA并行方式比较
我们有一个长度为100,000的整型数组,需要用10个GPU线程并行地对这个数组进行自增计算,每个数组元素需要自增100次,可知每个线程负责10,000个数组元素。下面有两种方式。#define ARRAY_SIZE 100000#define THREAD_SIZE 10方式1:Kernel函数内循环每个GPU线程计算出数组元素的起始地址和尾地址,依次对每个元素进行100次自增操作。Kernel函数:__global__ void kernel_1(int* array, int len,原创 2021-11-17 11:24:03 · 288 阅读 · 0 评论 -
CUDA C++基本写法
我们来看看基本的CUDA C++写法需要包含的头文件#include "cuda_runtime.h"#include "device_launch_parameters.h"GPU计算函数:__global__ void addKernel(int *dev_p){ int i = threadIdx.x; dev_p[i]++;}CUDA的GPU计算操作,它让GPU的线程分别对dev_p数组的每个元素并行地执行+1操作。必须用到的几个函数:cudaSetDevic原创 2020-10-20 22:26:04 · 3550 阅读 · 0 评论 -
将GPU多线程的计算能力与CPU进行比较
#include<iostream>#include<time.h>#include "cuda_runtime.h"#include "device_launch_parameters.h"using namespace std;#define threadSize 100#define arrSize 100void addWithCPU(float (*array)[arrSize]);void addWithGPU(float (*array)[arr原创 2020-10-06 18:33:55 · 1500 阅读 · 0 评论