GPU计算?高性能的未来?
前不久我在看一堆所谓的“每周”精选的信件时看到一封来自CSDN的介绍NVIDIA CUDA介绍使用GPU进行高性能并行计算的,先给个网址http://cuda.csdn.net/default.aspx下面转一些过来
:lol 由于找不出一块像样的显卡,所以我还没有实际用过CUDA,只是看看西洋镜,了解了解,有机会的话论坛上的朋友可以尝尝鲜
CUDA的自我介绍
CUDA™ 工具包是一种针对支持CUDA功能的GPU(图形处理器)的C语言开发环境。CUDA开发环境包括:[*]nvcc C语言编译器[*]适用于GPU(图形处理器)的CUDA FFT和BLAS库[*]分析器[*]适用于GPU(图形处理器)的gdb调试器(在2008年3月推出alpha版)[*]CUDA运行时(CUDA runtime)驱动程序(目前在标准的NVIDIA GPU驱动中也提供)[*]CUDA编程手册
CUDA开发者软件开发包(SDK)提供了一些范例(附有源代码),以帮助使用者开始CUDA编程。这些范例包括:
[*]并行双调排序[*]矩阵乘法[*]矩阵转置[*]利用计时器进行性能评价[*]并行大数组的前缀和(扫描)[*]图像卷积[*]使用Haar小波的一维DWT[*]OpenGL和Direct3D图形互操作示例[*]CUDA BLAS和FFT库的使用示例[*]CPU-GPU C—和C++—代码集成[*]二项式期权定价模型[*]Black-Scholes期权定价模型[*]Monte-Carlo期权定价模型[*]并行Mersenne Twister(随机数生成)[*]并行直方图[*]图像去噪[*]Sobel边缘检测滤波器[*]MathWorks MATLAB® 插件 (点击这里下载)
新的基于1.1版CUDA的SDK 范例现在也已经发布了。要查看完整的列表、下载代码,请点击此处。
技术功能 [*]在GPU(图形处理器)上提供标准C编程语言[*]为在支持CUDA的NVIDIA GPU(图形处理器)上进行并行计算而提供了统一的软硬件解决方案[*]CUDA兼容的GPU(图形处理器)包括很多:从低功耗的笔记本上用的GPU到高性能的,多GPU的系统。[*]支持CUDA的GPU(图形处理器)支持并行数据缓存和线程执行管理器[*]标准FFT(快速傅立叶变换)和BLAS(基本线性代数子程序)数值程序库[*]针对计算的专用CUDA驱动[*]经过优化的,从中央处理器(CPU)到支持CUDA的GPU(图形处理器)的直接上传、下载通道[*]CUDA驱动可与OpenGL和DirectX图形驱动程序实现互操作[*]支持Linux 32位/64位以及Windows XP 32位/64位 操作系统[*]为了研究以及开发语言的目的,CUDA提供对驱动程序的直接访问,以及汇编语言级的访问
相关入门环境配置
NVIDIA CUDA统一计算设备架构编程手册1-6
http://cuda.csdn.net/News.aspx?id=bb09e23a-a6b4-441d-8834-d10efe011c38
http://cuda.csdn.net/News.aspx?id=9178cbad-bba0-43be-963f-f239a32663c4
http://cuda.csdn.net/News.aspx?id=51840081-da90-41bc-953c-fd1327ab5f3d
http://cuda.csdn.net/News.aspx?id=9aa7acfc-3d98-4aa2-bc67-4e5b2dec1f46
http://cuda.csdn.net/News.aspx?id=50f35225-33e6-4373-a4f1-604cad253d62
http://cuda.csdn.net/News.aspx?id=b75f84a1-0464-45bf-8e4e-9ff2bb315b7c
XP+VStudio开发CUDA(CSDN::OpenHero)
BLOG专栏地址:http://blog.csdn.net/OpenHero/category/379389.aspx
1.基础配备
http://blog.csdn.net/OpenHero/archive/2008/04/10/2278164.aspx
2.为VS2005写的Custom wizard
http://blog.csdn.net/OpenHero/archive/2008/04/10/2278164.aspx
3.图解第一个CUDA程序
http://blog.csdn.net/OpenHero/archive/2008/04/24/2322876.aspx
4.VS标准配备VA支持.cu文件
http://blog.csdn.net/OpenHero/archive/2008/04/24/2324711.aspx
5.线程执行模型I II
http://blog.csdn.net/OpenHero/archive/2008/04/25/2328042.aspx
http://blog.csdn.net/OpenHero/archive/2008/04/28/2336542.aspx
6.硬件实现模型I II
http://blog.csdn.net/OpenHero/archive/2008/04/30/2348488.aspx
http://blog.csdn.net/OpenHero/archive/2008/05/05/2388257.aspx
7.书
http://blog.csdn.net/OpenHero/archive/2008/05/07/2413173.aspx
性能统计
下面是使用CUDA计时的一个典型例子unsigned int timer = 0;CUT_SAFE_CALL( cutCreateTimer( &timer));
CUT_SAFE_CALL( cutStartTimer( timer));
...
CUT_SAFE_CALL( cutStopTimer( timer));
printf( "Processing time: %f (ms)\n", cutGetTimerValue( timer));
CUT_SAFE_CALL( cutDeleteTimer( timer)); 此外还有一个CUDA性能工具:CudaVisualProfiler_0.2_beta_windows
可以在英文开发社区下载到:http://forums.nvidia.com/index.php?showtopic=65489
其他资源
官方提供的文档,入门必备http://www.nvidia.cn/object/cuda_develop_cn.html
英文的NVIDIA讨论社区
http://forums.nvidia.com/index.php?s=7b9533ea083e38d4e2d463c243bb0d2b&showforum=62
硬件支持
http://www.nvidia.cn/object/cuda_learn_products_cn.html
CSDN上的讨论专区(似乎还没成气候)
http://forum.csdn.net/CUDA
CUDA的BLAS1函数库
http://cuda.csdn.net/news.aspx?id=42a2815c-1d4f-402b-bd15-4ea8b958ff4c 是GPGPU了,不过我觉得这个不是未来发展的方向。多核的CPU才是高性能的未来。 我也不看好GPU,既然是G何必掺和其他?
只是觉得NVIDIA开发出那么一套实在很有趣 :)
呵呵,未来肯定是超多CPU的核的 未来大有CPU+GPU整合的趋势,
我们应关注其发展,以适应技术的变化。 :)
我有一个更好的预测
可惜没人欢迎啊
似乎我也发在本论坛了
http://bbs.emath.ac.cn/thread-397-1-2.html
所有硬件完全的平等状态