06 2021 档案

摘要:在前面是有考虑把点积运算放到前面,但是考虑到有一些新的东西,还是准备把他放在后面了。 问题说明 对于向量a[1-n]以及b[1-n],点积运算即为将对应位置上的元素相加,即c = a[1]b[1]+...a[i]b[i]+...+a[n]b[n]; 为了方便起见,我们将设置a[i]=i,b[i]=2 阅读全文
posted @ 2021-06-14 13:03 wildkid1024 阅读(1454) 评论(0) 推荐(0) 编辑
摘要:矩阵乘法是最常见的操作,现代神经网络的基础便是矩阵乘法。 一个N*M的矩阵,乘以一个M*P的矩阵,得到N*P的矩阵,矩阵乘法即为将每一行与被乘矩阵对应列进行乘加,最后将所有结果进行汇总。 CPU版本 根据以上矩阵乘法的描述,便可以很快地实现矩阵乘法,三层循环,最内层循环做向量的乘加,最外的两层则做输 阅读全文
posted @ 2021-06-12 13:46 wildkid1024 阅读(4549) 评论(0) 推荐(0) 编辑
摘要:前面我们实现了向量的加法,今天我们实现复杂一些的运算,矩阵的加法,即将矩阵对应位置上的元素进行相加,相当于向量加法的升级版本。不过需要注意的是,malloc时需要分配二维矩阵,这样才能使用A[i][j]; CPU实现 CPP实现起来的注意点在于二维数组的开辟,通过给二维数组的每一个指针赋值实现二维数 阅读全文
posted @ 2021-06-11 20:33 wildkid1024 阅读(1515) 评论(0) 推荐(0) 编辑
摘要:当你看到这篇博客的时候,我相信你已对CUDA有所了解,CUDA是针对于GPU的一种C/C++扩展库,使用cuda可以很方便地进行并行编程。 那么今天第一讲便是如何获取GPU的各种参数,cudaDeviceProp是cuda库中已经封装好的结构体,通过调用cudaGetDeviceProperties 阅读全文
posted @ 2021-06-11 19:46 wildkid1024 阅读(1168) 评论(0) 推荐(0) 编辑
摘要:CUDA C是一种在GPU上支持多线程并行化的语言,有了CUDA,很多需要多线程运行的程序变得简单起来,今天我们将从CUDA的的向量加法说起。 问题定义 向量加法是十分常见的操作,对于一个长度为n的向量,其运算规则如下: c[i]=a[i]+b[i]fori<n 即将对应 阅读全文
posted @ 2021-06-11 19:26 wildkid1024 阅读(1865) 评论(0) 推荐(0) 编辑
摘要:最近在学习CUDA编程,将最近看到的一些资源进行汇总。 书籍和文档 英伟达CUDA C编程入门 NVIDIA CUDA C Programming Guide https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html 官方的文档 阅读全文
posted @ 2021-06-10 16:37 wildkid1024 阅读(3502) 评论(0) 推荐(2) 编辑

点击右上角即可分享
微信分享提示