顯示具有 CUDA 標籤的文章。 顯示所有文章
顯示具有 CUDA 標籤的文章。 顯示所有文章

2010年10月19日 星期二

GT200 performance

Here are the peak performance numbers for various parts:

                            Single Precision     Double Precision   Bandwidth
· GTX 260-216:   805 GFlop/s           67 GFlop/s             112 GB/s
· GTX 280:          933                        78                           142
· GTX 285:        1062                        89                           159
· GTX 295:        1789                      149                           224
· Tesla C1060:     933                        78                           102

references
http://perspectives.mvdirona.com/2009/03/15/HeterogeneousComputingUsingGPGPUsNVidiaGT200.aspx

2010年4月27日 星期二

CUDA programming under Compute-Exclusive Mode

How can I tell my programs to choose the available device automatically

It is very simple to make your program automatically choose the right device: DO NOT use cudaSetDevice().
When you don't explicitly specify to use which device, your CUDA program will first try to set up context on device0. If device0 is not available, it will try device1.

What will happen if I choose a device which is being used by another program.

Since all GPU devices have been configured as compute-exclusive mode, the second thread which tries to contact with GPU device will be denied. If you insist using this device by using cudaSetDevice() in your code, you will receive an error when running a CUDA API function.

2010年1月19日 星期二

[caution] nvcc compile

       之前為了測試 cudpp 安裝gcc-3.3, 所以系統上有二套gcc (gcc-3.3 and gcc-4.3), 為了方便測試所以把gcc and g++ link 到 gcc-3.3. 然而之後再寫cuda 程式時發現程式一直有問題, 一直找不到原因, 後來猜想也許是gcc 的問題所以把link 改回gcc-4.3, 程式再執行就正常了. 我在想也許和當時安裝driver 有關

cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module  190.29  Mon Aug 24 18:10:29 PDT 2009
GCC version:  gcc version 4.3.2 [gcc-4_3-branch revision 141291] (SUSE Linux)

2010年1月15日 星期五

nvcc compiler-bindir

有時侯在使用CUDA with GCC 會遇見GCC 版本的問題, 例如 CUDPP v1.1 在gcc-4.3 上使用會有問題, 目前的做法就是downgrade gcc 版本, 另一種作法是同時安裝gcc-3.3 and gcc-4.3 然後用nvcc 編譯時加上--compiler-bindir, 作法如下

1. 做個gcc 的連結
ln -s /usr/bin/gcc-3.3 ~/gcc33/gcc
ln -s /usr/bin/g++-3.3 ~/gcc33/g++

2. 用nvcc 做編譯時加上--compiler-bindir
nvcc -DUNIX -O3 -c --use_fast_math -arch sm_13 --compiler-bindir ~/gcc33