最近看了点关于cuda的内容,自己也做了简单的测试样例,发现没有cuda自带的函数运算快,所以打算全面的了解一下cuda的关于计算类的函数,方便自己以后遇到有些计算的时候可以直接调用cuda的函数来计算,比如cublasSgemm,还有cublasSscal。但是又发现了问题,由于文档都是英文的,本人英文又不是很好,看起来会特别慢,所以就想问一下有没有了解cuda中的函数的,哪个函数可以进行什么样的计算,还请知道的道友告知一下,只说一个名字和作用就行,或者直说一个名字也行
您所指的“cuda的函数”,其实是支持CUDA GPU的函数库。
CUDA开发生态环境中有大量实用的函数库,内容涵盖基本线性代数库(CUBLAS)、随机数生成库(CURAND)、线性代数求解器(CUSOLVER)、深度学习(CUDNN)等等,为您提供一个NVIDIA官方链接,可以了解一下:
https://developer.nvidia.com/gpu-accelerated-libraries
此外,您提到了计算效率问题,手写的CUDA代码没有经过深度优化,性能上一般是不如官方开发的成熟的计算库的,建议您多多练习,进行优化,会取得满意的加速效果的。
没必要打算全面的去了解所有的计算类的函数啊,大部分计算就是blas和lapack。blas就是基础的线性代数库,什么矩阵和向量的操作都在这里面,其他的一些求解线性方程组、线性最小二乘问题、特征值问题和奇异值问题等都是lapack的范围了。cublas只是blas在gpu上的扩展,要找在gpu上的lapack库可以用magma、cula之类的。大致有个印象遇到什么问题用什么库就行了。至于具体的函数是什么功能,就只能看文档了,哪怕是英文也用硬着头皮看了,不然即使告诉了你某个函数的中文功能,你还得要到原文档里翻一翻具体用法和参数设置。用上一两回就基本上熟悉了。
统一回复,谢谢版主的解疑
不客气,欢迎常来讨论!