
CUDA
IT1995
每周个人笔记分享,欢迎广大网友查阅!
展开
-
cuda笔记-流的使用(定义、创建、消耗、同步)
定义流:cudaStream_t stream;创建流:cudaStreamCreate(cudaStream_t *s)销毁流:cudaStreamDestroy(cudaStream_t s)流的同步:显示同步//同步单个流,等待该命令都完成cudaStreamSynchronize(cudaStream_t stream);//同步所有流,等待整个设备上的流都完成cudaDeviceSynchronize();//通过某个事件:等待某个事件结束后执行该流原创 2020-12-29 09:47:28 · 1745 阅读 · 1 评论 -
cuda笔记-一个Block多线程求卷积
最近在学cuda,发现自己数学方面的知识不太够,C语言的知识也有待加强。这里记录个笔记对矩阵求卷积。逻辑是这样的:1. 先CUDA生成一个16*16的矩阵;2. 将这16*16的矩阵,外面包一层0,也就变成18*18的矩阵。3. 然后再开18*18个线程,进行矩阵的卷积程序运行截图如下:源码如下:#include "cuda_runtime.h"#include "device_launch_parameters.h"#include "curand.h".原创 2020-12-15 15:36:17 · 1087 阅读 · 0 评论 -
cuda笔记-GPU多线程的奇偶排序
首先说明奇偶排序:算法的思路是先排奇数序号的相邻2个,或者偶数序号的相邻两个,然后一直到序列有序为止,如下代码:#include<stdio.h>#include<stdlib.h>#include<stdbool.h>#include <iostream>using namespace std;void swap(int *a, int *b){ int t; t = *a; *a = *b; *b = t;}void原创 2020-12-15 15:35:04 · 1673 阅读 · 0 评论 -
cuda笔记-初始化矩阵及thread,block,grid概念
thread:一个CUDA的并行程序会被许多threads来执行;block:多个threads组成一个block,同一个block中threads可以使用_syncthreads()同步,也可以通过shared memory通信。gird:多个blocks会构成grid。如下代码:dim3 blocksize(2, 3);dim3 gridsize(3, 3);上面的意思是,有2行 * 3列的thread组成一个块,有3行 * 3列的块组成了个网。下面是在网中如何获..原创 2020-12-11 19:55:51 · 1501 阅读 · 0 评论 -
cuda笔记-第一个cuda程序
这里先说明下一些基本概念:释放GPU中的内存cudaFree()CUDA函数的定义:__global__:定义在GPU上,可以在CPU上调用的函数;__device__:定义在GPU上,由GPU调用函数;__host__:在CPU上定义的函数,一般与__device__一起用在GPU上开辟空间:cudaMalloc(**devPtr, byte_size)如:int *gpu_int;cudaMalloc((void**)&gpu_int, sizeo..原创 2020-12-09 14:42:48 · 1158 阅读 · 2 评论