GPGPUを試す

RV724AV-CREUHP xw4600/CT Workstation OSなしモデル
インテル(R) Core(TM)2 Duo E8400 (3.00GHz/6MB/1333MHz FSB)
インテル(R) X38 Express チップセット
4GB DDR-2 SDRAM(800MHz, ECC, 2GBx2)
500GBハードディスクドライブ(Serial ATA 3.0Gb/s, NCQ, 7,200rpm)
NVIDIA Quadro FX 4800 1.5GB (PCI Express 2.0/ 2画面対応)
最大16倍速スーパーマルチドライブ
Broadcom 5755 10/100/1000 ネットワーク・インターフェイス(オンボー
ド)
サーバセットアップ方法
1. OSのインストール
  別の資料(LinuxInstallDoc_RHEL5.pdf、http://h50146.www5.hp.com/products/workstations/personal_ws/software/linux/)のとおり、
  OSをセットアップする。
  ※ この時点で、NVIDIAのグラフィックボードは動作する。

2. 必要ファイルのDL
  CUDAの公式サイト(http://www.nvidia.co.jp/object/cuda_get_jp.html)から、
  以下のソフトウェアをDLする。
   --
   オペレーティングシステム : Linux 64bit
   Linux版 : Redhat Enterprise Linux 5.x

   1.CUDAドライバ: Linux (RHEL 5.3) 用CUDAサポートNVIDIAドライバ(185.18.14)
   2.CUDAツールキット:Linux (RHEL 5.3)用CUDAツールキット バージョン2.2
   3.CUDA SDK:Linux (RHEL 5.3)用 CUDA SDK 2.2 コードサンプル
   4.CUDA デバッガ: Linux 用CUDA デバッガ 2.2

   ※ 2009/10/07現在、CUDAのversion2.3ドライバはβ版なので、CUDA version2.2をインストールした。
   --

3. ソフトウェアのインストール
   1.CUDAのインストール
     # CUDAの依存性あり
     yum install freeglut
     yum install freeglut-devel

     # CUDAのインストール(CUIモードでインストールを行う、選択肢は全てyes)
     su -
     /sbin/telinit 3

     cd ファイルをダウンロードしたディレクトリ
     chmod +x *.rum

     ./NVIDIA-Linux-x86_64-185.18.14-pkg2.run
     ./cudatoolkit_2.2_linux_64_rhel5.3.run
     ./cudagdb_2.2_linux_64_rhel5.3.run
     ./cudasdk_2.21_linux.run

     vi .bashrc # 以下の2行を追加
     export LD_LIBRARY_PATH=/usr/local/cuda/lib:$LD_LIBRARY_PATH
     export PATH=/usr/local/cuda/bin:$PATH

     /sbin/telinit 5
     shutdown -r now

   2.perl, R, gpu-toolsのインストール
     su -

     # perl
     yum install perl

     # R
     http://cran.md.tsukuba.ac.jp/から、以下の5ファイルをDLする
     R-2.9.2-1.el5.x86_64.rpm
     R-core-2.9.2-1.el5.x86_64.rpm
     R-devel-2.9.2-1.el5.x86_64.rpm
     libRmath-2.9.2-1.el5.x86_64.rpm
     libRmath-devel-2.9.2-1.el5.x86_64.rpm

     rpm -ivh R-core-2.9.2-1.el5.x86_64.rpm

     # 依存性の問題が出るので、エラー画面に出てくるソフトウェアを
       以下の方法でインストールする

     # perl(File-Copy-Recursive)
     wget http://www.rpmfind.net/linux/dag/redhat/el5/en/x86_64/RPMS.dries/perl-File-Copy-Recursive-0.37-1.el5.rf.noarch.rpm
     rpm -ivh perl-File-Copy-Recursive-0.37-1.el5.rf.noarch.rpm

     # xdg-utils
     wget ftp://ftp.kddlabs.co.jp/pub/Linux/packages/redhat/fedora/epel/5/x86_64/xdg-utils-1.0.2-4.el5.noarch.rpm
     xdg-utils-1.0.2-4.el5.noarch.rpm

     # anoher softwares
     yum install xxxxx # xxxxxはパッケージ名

     rpm -ivh libRmath-2.9.2-1.el5.x86_64.rpm
     rpm -ivh libRmath-devel-2.9.2-1.el5.x86_64.rpm
     rpm -ivh R-core-2.9.2-1.el5.x86_64.rpm
     rpm -ivh R-2.9.2-1.el5.x86_64.rpm
     rpm -ivh R-devel-2.9.2-1.el5.x86_64.rpm

     # gpu-tools
     wget http://cran.r-project.org/src/contrib/gputools_0.1-3.tar.gz
     R CMD INSTALL --configure-args='--enable-emulation' gputools_0.1-3.tar.gz

   4.CUDAの動作チェック
     cd ~/NVIDIA_CUDA_SDK/
     make

     ~/NVIDIA_CUDA_SDK/bin/linux/release/*
     # Test PASSEDと出ればOK

以上
[userName@serverName ~]$ cd NVIDIA_CUDA_SDK/
[userName@serverName NVIDIA_CUDA_SDK]$ ls
Makefile  ReleaseNotes.html  bin  common  doc  lib  projects  releaseNotesData  tools
[userName@serverName NVIDIA_CUDA_SDK]$ ./bin/linux/release/deviceQuery
CUDA Device Query (Runtime API) version (CUDART static linking)
There is 1 device supporting CUDA

Device 0: "Quadro FX 4800"
  CUDA Capability Major revision number:         1
  CUDA Capability Minor revision number:         3
  Total amount of global memory:                 1609891840 bytes
  Number of multiprocessors:                     24
  Number of cores:                               192
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       16384 bytes
  Total number of registers available per block: 16384
  Warp size:                                     32
  Maximum number of threads per block:           512
  Maximum sizes of each dimension of a block:    512 x 512 x 64
  Maximum sizes of each dimension of a grid:     65535 x 65535 x 1
  Maximum memory pitch:                          262144 bytes
  Texture alignment:                             256 bytes
  Clock rate:                                    1.19 GHz
  Concurrent copy and execution:                 Yes
  Run time limit on kernels:                     Yes
  Integrated:                                    No
  Support host page-locked memory mapping:       Yes
  Compute mode:                                  Default (multiple host threads can use this device simultaneously)

Test PASSED

Press ENTER to exit...

[userName@serverName NVIDIA_CUDA_SDK]$
  • "~/NVIDIA_CUDA_SDK/projects/deviceQuery/"にサンプルがたくさんあるそうだ
  • MATLABでやるには、こちらのサイトをなぞりはじめに?