GPU
GPU是为了视频游戏而产生的(至今其主要驱动力还是不断增长的视频游戏市场),在三维游戏中常常出现的一类操作是对海量数据进行相同的操作,如:对每一个顶点进行同样的坐标变换,对每一个顶点按照同样的光照模型计算颜色值。
GPU的众核架构非常适合把同样的指令流并行发送到众核上,采用不同的输入数据执行
CUDA
CUDA和C程序并无区别,只是多了一些以“CUDA”开头的库函数。
使用CUDA的好处就是透明。根据摩尔定律GPU的晶体管数量不断增多,硬件结构必然是不断的在发展变化,没有必要每次都为不同的硬件结构重新编码,而CUDA就是提供了一种可扩展的编程模型,使得已经写好的CUDA代码可以在任意数量核心的GPU上运行。
CUDNN
NVIDIA cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。NVIDIA cuDNN可以集成到更高级别的机器学习框架中,如加州大学伯克利分校的流行CAFFE软件。简单的,插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是调整性能,同时还可以在GPU上实现高性能现代并行计算。
https://blog.csdn.net/lemon4869/article/details/53415734 了解CPU、GPU、进程、线程、CUDA
CUDA编程
开发人员可以通过调用CUDA的API,来进行并行编程,达到高性能计算目的。NVIDIA公司为了吸引更多的开发人员,对CUDA进行了编程语言扩展,如CUDA C/C++,CUDA Fortran语言。注意CUDA C/C++可以看作一个新的编程语言,因为NVIDIA配置了相应的编译器nvcc,CUDA Fortran一样。
模式和框架
框架=中间件
开发软件时,有一些通用的或者共用的功能模块,例如数据库连接,事务处理,不能每次开发都由开发人

本文探讨了GPU如何从游戏硬件演变为支持高性能计算的关键角色。介绍了CUDA作为GPU编程的透明模型,允许代码在不同核心GPU上运行。同时提到了NVIDIA cuDNN库在深度学习中的应用,以及CUDA编程涉及的语言扩展,如CUDA C/C++。此外,还提及了软件设计模式中的框架概念,将其比作中间件。
最低0.47元/天 解锁文章
6701

被折叠的 条评论
为什么被折叠?



