= リモート接続して利用する方法 = * CALを利用するプログラムは、DISPLAY環境変数を正しく設定しないと動作しない。 {{{ [host0 (GPUあり)] <--- [host1] }}} * 上の図のような状況で、host0のコンソールにログインして利用する場合は、DISPLAYが自動的に":0.0"(つまりローカル)になるので、問題ない。 * host1からssh接続でhost0に接続して、GPUを使いたい場合、DISPLAYを":0.0"(host0のX server)にしなくてはならない。sshで接続したままだと、X forwarding機能によりDISPLAYは"localhost:10.0"となるので、そのまま実行するとCALのプログラムは動かない。 * まずhost0のコンソールにログインして、以下のコマンドを実行しておく。すべての計算機がローカルネットワークにあるなら、セキュリティ上よろしくないが、誰でも"host0:0.0"にwindowを開くことを許可する設定。これは起動の度に一度おこなえばよい。コンソールはログインしたまま放置する(ほうがいい?(検討))。 {{{ xhost + }}} * host1からhost0にsshでloginしたあと、DISPLAYを以下のようにする。 {{{ export DISPLAY=:0.0 }}} * 以上がリモートからCALプログラミングするための前準備。 = 簡単なプログラム = 1. 一番簡単なテストプログラムが"/usr/local/amdcal/samples/app/hellocal"(CALをインストールしたディレクトリ)にある。これをコピーして、不必要なものを取り除いたバージョンのプログラムが"/home/nakasato/CALTEST"にあるので、このディレクトリを自分のホームディレクトリにコピーする。 2. makeすることで、"hellocal"というプログラムが作られる。 3. まずはこのプログラムを実行してみること。何かキーを押したら終了する。 実行例 {{{ gpu1[~/CALTEST] ./hellocal 0.000000 0.500000 1.000000 1.500000 2.000000 2.500000 3.000000 3.500000 128.000000 128.500000 129.000000 129.500000 130.000000 130.500000 131.000000 131.500000 256.000000 256.500000 257.000000 257.500000 258.000000 258.500000 259.000000 259.500000 384.000000 384.500000 385.000000 385.500000 386.000000 386.500000 387.000000 387.500000 512.000000 512.500000 513.000000 513.500000 514.000000 514.500000 515.000000 515.500000 640.000000 640.500000 641.000000 641.500000 642.000000 642.500000 643.000000 643.500000 768.000000 768.500000 769.000000 769.500000 770.000000 770.500000 771.000000 771.500000 896.000000 896.500000 897.000000 897.500000 898.000000 898.500000 899.000000 899.500000 Press enter to exit... }}} プログラムの解説: * このテストプログラムは、入力されたデータに0.5を掛けるという演算をGPUでおこなって、結果を得るというプログラムである。