置顶
实验室cuda开发环境性能
感谢 @cwc 配置实验室cuda编程环境。
192.168.1.100
192.168.1.103
CUDA Device Query (Runtime API) version (CUDART static linking)
Found 1 CUDA Capable device(s)
Device 0: "GeForce GTX 550 Ti"
CUDA Driver Version / Runtime Version 4.2 / 4.1
CUDA Capability Major/Minor version number: ...
置顶
精华
《深入浅出谈CUDA》- PDF
这个文档写得很好。
里边有两个版本,一个是别人整理的,一个是我直接从网页上转成pdf的。
目录:
· CUDA简介
· 安装CUDA
· 第一个CUDA程序
· 改良第一个程序
· 第二个CUDA程序
· GPU的已经架构
置顶
精华
清华大学CUDA课程
非常好的PPT。深入浅出。
记一次CUDA编程任务
这个月6号开始,着手解决一个具有实际意义的计算任务,这里简单记录一下,供CUDA初学者参考,大神勿喷。
任务数据有9879896条,每条包含30个整数,任务是计算每两条数据之间的斯皮尔相关系数及其P值。原始数据只有500+MB,因此我并不认为这是个多么大的计算任务。随后稍加计算,我还是很惊呆的,要计算(9879896×9879895) ...
单显卡写CUDA程序,解除5s运行时间限制
在写CUDA程序时,如果电脑只有一块N卡,那么windows操作系统下会有一个运行时间限制,官方说大概是5s左右(Linux下未知)。
以下是CUDA官方问答页面里的中文原文:
通过增加注册表字段,可以解除这个时间限制,代价是在CUDA程序运行时显示器不会响应鼠标键盘,直到程序运行结束恢复响应,所以如果不确定程序要跑多久, ...
CUDA培训教材
这是上次培训使用的教材,还有一些培训视频我就放实验室306,要看的同学可以过去拿。
稀疏矩阵-稀疏矩阵乘法
论文:
http://vdisk.weibo.com/s/z7KRAPr8PzhWd
Hadoop和CUDA的联合,有人试试么?
这个有个例子,他们应该搞定了。
Hadoop + CUDA
http://wiki.apache.org/hadoop/CUDA%20On%20Hadoop
NVIDIA官方技术论坛已对外开放!
http://cudazone.nvidia.cn/forum/forum.php
解读SM, SP和Warp
经常在阅读文档的时候会遇到这些名词。一般他们都会以tesla架构为例子,比如teslaC1060也就是1个SM有8个SP.
我的总结:
1. 一个显卡(GPU)里有多个(Streaming Multiprocessor)SM, 每个SM中有多个(Streaming processor)SP。
2. 一个SM会负责多个ThreadBlock(线程块)的计算任务,一般为8个。每个SP一个时刻负责一个thread。
3 ...
CUDA读物(第二波)
学习材料选自
http://developer.nvidia.com/cuda/gpu-computing-webinars
http://developer.nvidia.com/cuda/nvidia-gpu-computing-documentation
CUDA入门
程序优化
1. 存储优化
share memory优化视频,太小气了,没PPT
http://developer.download.nvidia.com/CUDA/training/sharedmemoryusage_july2011.mp4
Warp对 ...
CUDA在Nvidia官网的不同入口
一个是http://www.nvidia.com/object/cuda_home_new.html
另一个是http://developer.nvidia.com/category/zone/cuda-zone
我们暂且把他们称作www开头和dev开头。
www点击cuda zone得到的cuda toolkit和dev点击cuda toolkit得到的内容不一致。
根据比较。显然dev的入口得到的内容更加丰富,完全是给开发者的,所以前缀才 ...
单机多卡CUDA编程解决方案
关键词:Devices, Streams, Events, UVA, P2P.
CUDA支持卡间通讯,比如引用另一张卡上的内存。还可以进行卡间计算同步。
当然,我们实现过多线程,每个线程控制一张卡计算的实例。
精华
cuda编程需要注意的
在编写cuda代码时,由于并行处理都是在GPU端,如果在设备端代码中不加捕捉异常的话,即使在GPU端运行出错了,你也不会知道出错了。GPU端的代码又不好调试,因此知道怎么在GPU端的代码添加异常捕捉是非常有必要的,当然这和在cup端的不太一样。以下是一段异常捕捉代码,供大家参考:在代码前端,要记得声明函数,想要 ...
CUDA Libraries简介
官方PPT,做得很好。
GPU-Accelerated Libraries
cuFFT, – Fast Fourier Transforms Library
cuBLAS – Complete BLAS library
cuSPARSE – Sparse Matrix library
cuRAND – Random Number Generator
NPP – Thousands of Performance Primitives for Image & Video Processing
Thrust – Templated Parallel Algorithm ...
cuSPARSE - 针对稀疏矩阵
根据介绍,cuSPARSE比intel MKL还快很多倍。和cuBLAS一样,具有三层计算结构,向量-向量,向量-矩阵,矩阵-矩阵。
http://developer.nvidia.com/cuda/gpu-accelerated-libraries
http://developer.nvidia.com/cuda/cusparse
同时,google code上也有个开源项目,用于cuda稀疏计算。
http://code.google.com/p/cusp-lib ...
CUDA与生物信息学
CUDA在各个学科上的应用:
http://cudazone.nvidia.cn/cuda-action-research-apps/
CUDA在生物信息学上的应用:
http://www.nvidia.cn/object/bio_info_life_sciences_cn.html
CUDA与生物信息学的论文:
https://biomanycores.org/papers
从Get start看CUDA发展趋势
http://www.nvidia.com/content/cuda/get-started-parallel-computing.html
这是目前Nvidia认为CUDA应该的努力方向。
1. 和具体工作相结合。类似cuBLAS来优化数学库,cuFFT进行图形计算。
2. 以简化CUDA开发为目标。慢慢降低程序员对硬件的要求。
3. 不断完善的接口,以及语言支持。
...
OpenACC - 不学CUDA也可以用GPU做计算
OpenACC是Nvidia和第三方开发的一个工具。
只要在你的C或者是Fortran代码中,加入相应的编译指令,OpenACC将自动并行化那些代码。
显然,目前它所能做的工作有限,底层挖掘并行化比较难。http://openacc.org/ 它的官网上显示,2012年4月出了1.0a版本。强烈关注!!
...
CUDA 5预览版已出,将直接支持Eclipse Nsight
http://www.nvidia.com/content/cuda/cuda-toolkit.html
这样,在eclipse上开发,编译,debug,将不是难事。