sc12note/Q and A
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
since1995
開始行:
[[sc12note]]
- &color(red){テンプレートプログラムの変更}; (文責:遠藤)...
時間計測する部分の明確化、および一回目のCUDA関数のコスト...
テンプレートプログラムの変更を行いました。
今回は変更が大きいため、/home/SC12中のファイル名を、sc12...
(以前のものは/home/SC12/old/にありますが、利用しないでく...
!!! お手数ですが、作成中のプログラムのテンプレート部分を...
「なるべく」置き換えていただくよう、お願いします !!!
なおこの機会に、書き換えていけないテンプレート部分を書き...
チェックしてください。特にテンプレート用(1)・Template Pa...
変数や関数定義を入れてしまっていませんか?
- 大サイズの問題でのテスト (文責:遠藤) &color(red){New !...
すでに配布済のsc12exdata0.txt, sc12exdata1.txtに加え、さ...
(審査用問題とほぼ同サイズ)問題ファイルを公開しました。
/home/SC12/ex4.txt となります。
- プログラムには、上記の新テンプレートを埋め込んでおいて...
有効となっていることを確認してください。(特に、MAXtm4tes...
- 以下のようなコンパイルオプションを用いて審査します(予...
コンパイルが通るか確認してください。
nvcc -Xcompiler -mcmodel=medium -arch sm_21 -O3 fina...
(プログラム名がfinal.cuの場合)
- 出力結果を解答チェッカープログラムでチェックすることを...
「解答チェッカー」の項目を参照してください。
- サンプル問題の答えについて (文責:遠藤) &color(red){New...
配布済のサンプル問題である、sc12exdata0.txt, sc12exdata1...
答え(サンプルプログラム実行時の出力)を置きました。
/home/SC12中のans-sc12exdata0.txt, ans-sc12exdata1.txt, ...
maxDist (三人の距離の合計)については、正確に答えが一致す...
一方、経路については一意的に決まるわけではないことに注意...
- 本選課題解説中のミス
- 駅番号等の各インデックスは 0 から始まっています.1 か...
- 時刻も 0 分から MAXtm -1 分までです.
- 駅番号はプリントでは st となっていますがプログラム中で...
- 本選課題解説中のミスその2 (文責:山添) &color(red){New...
outroute[tm][X][1] の説明が 時刻 tm に X が乗り始める列...
- サンプルプログラム(sc12_sample.c, sc12_sampleE.c)の間違...
プログラム途中で#defineで定義されているsmalltmが、MAXtm4...
- 旧:#define smalltm 100
- 新:#define smalltm 40
のように修正をお願いします。
- サンプルプログラム(sc12_sample.c, sc12_sampleE.c)の間違...
Segmentation Faultを引き起こすことがあるバグがありました。
input2tables()関数前半にある、下記の場所を修正してくださ...
- 誤:
for(i=0; i<MAXtid; i++) {
bgntmTr[i] = -1;
endtmTr[i] = -1;
cnttrTm[i] = 0;
}
- 正:
for(i=0; i<MAXtid; i++) {
bgntmTr[i] = -1;
endtmTr[i] = -1;
}
for(i=0; i<MAXtm; i++) {
cnttrTm[i] = 0;
}
// - テンプレートプログラム(sc12_template.c, sc12_templat...
// 本番審査では、MAXtidは6000として審査します。
// テンプレート中で5000と書いてあるのは間違いで、配布資料...
// (/home/SC12のテンプレートは8/21 14:45ごろ修正しました)
- 距離の最大値に関しての質問
[Q] 駅間の距離などについて、最大値はあるか?(10億などに...
[A] 各駅間の距離は、いずれも32767以下です(事実上は10以下...
さらに、お渡しする問題および審査用問題の全ての場合にお...
(short int型で表せる値が32767以下のためです)(文責:遠藤)
- 路線に関して
路線、というと一般には例えば山手線、大阪環状線のような終...
すべての路線は鎖状になっており、分岐も存在しません。
(追記)したがって、一つの列車が同一の駅に複数回停車するこ...
(文責:岸本)
- 東工大端末 X Server の利用法
東工大会場で「emacsでマウスを使いたい」という質問があっ...
- 「すべてのプログラム」から「Cygwin-X」を選択
- 「Cygwin-X」の中から,「XWin Server」 を起動
- 画面下のツールバーの右側から,「XWin Server」のアイコ...
- 「Applications」から「xterm」をクリックして起動(起動...
- 「xterm」からTSUBAMEにログイン.その際 ssh のオプショ...
- ログインした先で,emacsやらgeditやらを起動.すると,手...
- 質問があればチューターまで.(文責:星野)
- 推奨コンパイルオプション
今回の課題では、大域変数のサイズが2GB越えになる場合があ...
- gccの場合: gcc -mcmodel=medium ...
- nvccの場合: nvcc -Xcompiler -mcmodel=medium -arch sm_2...
ほかにも、最適化のためのオプション-O3なども、gccでもnvcc...
- 「プログラミング環境ガイド:大阪大学会場編」修正(文責...
--(誤)$./keyset (正)$. ./keyset
--(追加)W$echo 'scp -i .ssh/tsubame_key -P 2222 TSUBAME...
- コンテストノード上で /nest2 が見えない(文責:権藤)
対症療法ですが,インタラクティブノード(最初にTSUBAMEに...
追記:8/20 19:10頃,復旧のためこの問題は解決.
- [阪大会場向け] 日本語で書かれたファイルを表示する方法 ...
下記のコマンドを実行して設定ファイルをコピーすればemacs...
(すでに自前の .emacs を持っている人は気を付けてください)
$ cp /home/usr1/sc12so06/.emacs ~
- [阪大会場向け] Cygwinのウィンドウサイズ変更
Cygwinのウィンドウサイズを「プロパティ」「レイアウト」...
TSUBAMEでEmacsを起動したときに表示が崩れることがありま...
- 編集ルールの変更について(文責:権藤)
初日の全体ガイダンスでは「プログラムの編集はTSUBAME上の...
運営側で協議した結果「ローカル端末でも編集して良い」こ...
以下に注意して下さい.
-- ローカル端末上のデータが失われないように,頻繁に TSU...
-- 東工大側は /nest2 (=Zドライブ)上のファイルをローカル...
Cドライブ上にコピーしてからファイル編集をすること....
リブート等で消去されるので,TSUBAME上へのファイル転...
- GPU のスペックについて(文責:今井)
TSUBAME 上の GPU のスペックに関して、必要そうなものを抜...
Tesla M2050
- Total amount of global memory: 2817982464 bytes
- Total amount of shared memory per block: 49152 bytes
- Total number of registers available per block: 32768
- Maximum number of threads per block: 1024
- Maximum sizes of each dimension of a block: 1024 x 102...
- Maximum sizes of each dimension of a grid: 65535 x 655...
- emacsでcuファイルに色を付ける方法(文責:今西)
.emacsファイルに以下の一行を追加してください。
(add-to-list 'auto-mode-alist '("\\.cu" . c-mode))
-[阪大会場向け] Windows端末とTSUBAMEのディレクトリの同期...
W$ echo '/usr/bin/rsync -auvzb --rsh="ssh -p 2222 -i .ss...
W$ echo '/usr/bin/rsync -auvzb --rsh="ssh -p 2222 -i .ss...
(tsubame_keyやTSUBAME-IDはscpfromと同様に各チームの暗号...
というバッチファイルを作りましょう。Windows端末のCygwin...
同じ名前のディレクトリ(たとえばtestdirとします)を作っ...
Windows端末で
W$ ./rsyncfrom testdir
とすると、TSUBAMEのtestdirの中の(変更時刻が新しい)フ...
上書きされます。Windows端末側にないファイルもコピーされ...
W$ ./rsyncto testdir
とすると逆の動作になります。Windows端末側のtestdir内の...
TSUBAMEのtestdirに上書き(コピー)されます
- 解答チェッカー(文責:時田)
/home/SC12/以下に解答チェッカーを置きました.sc12_check....
チェッカーの利用方法(以下文責:岸本・遠藤)
現在のチェッカーは、sc12exdata0.txtを使う場合で、かつ120...
この説明では、参加者のプログラム名をprogram, チェッカー...
(1) 参加者プログラムを、結果をファイルにしまいつつ実行
./program < sc12exdata0.txt > output0.txt
として実行すると、実行結果がoutput0.txtに格納されます。
(2) チェッカープログラムを以下のように実行
./sc12_check < output0.txt
output0.txtの内容に問題がなければ、"no error."のように表...
(3) 条件を変えたい場合、以下のようにsc12_check.cを変更し...
- 入力データを変えたい場合:
input()関数にある
if ((fp = fopen("sc12exdata0.txt", "r")) == NULL) {
の部分を変更してください。
- 計算する時間刻み(現在は120)を変えたい場合:
プログラム冒頭にある
#define DAYtm 120
の部分を変更してください。
- 提出時に #define は本番用とテスト用のどちらを有効にして...
どちらでも構いません.どちらでも本番用が有効になるよう...
- 音楽を聴きながら作業しても良いか?(文責:権藤)
構いません.ただし,迷惑にならないように,イヤホンを用...
十分注意して下さい.
- デバイス内関数でのブロック・スレッドのインデクス(文責...
__device__ 修飾子をつけて定義した関数の中でも threadIdx...
- 「さっきまで動いていたプログラムと全く同じなのに、cuda...
いくつか原因は考えられます。例えば
- コンパイルオプションがさっきと違うかも?
- 想定外のゴミプロセスが残っていて、それらがGPUを独占し...
nvidia-smi というコマンドを実行してみてください。
最後の方に、「たった今GPUを使っているプロセス」が表示...
| Compute processes: ...
| GPU PID Process name ...
|=======================================================...
| 0. 9387 ./esolver ...
+-------------------------------------------------------...
もし想定外のプロセスが走っているようなら、killコマンドで...
この例の場合は、プロセスの番号が9387なので、"kill -9 938...
- テストデータを作りたいので東京の地下鉄路線図が描いてあ...
本コンテストWiki以外のウェブ閲覧は一切禁止です。テストデ...
- 駅の数には下限があるか?駅の数は3以上だとしてよいか?(...
その通り。駅の数には下限があり、駅の数は3以上とします。
-駅間距離の最小値は?(文責:時田) &color(red){New !! 8...
駅間距離の最小値は1とします。駅間距離0はありません
- 中間提出について (文責:権藤)&color(red){New !! 8/22 1...
8/22(水) 15:00 までに所定の方法でプログラムを提出して下...
これは提出の練習を兼ねています.実行時間等を他チームに...
もし動作するプログラムが出来ていないチームはサンプルコ...
- プレーオフについて (文責:権藤)&color(red){New !! 8/2...
本選問題解説では「審査では以下の大きさの問題例を3例使い...
「ただし計算時間の差が非常に小さい場合に限り,プレーオ...
審査することがある」を追加します.
- 最大同着発列車数について (文責:宮村)
最大同着発列車数(MAXtd)の説明が 同じ駅に到着する(発車す...
より正確には、 同じ時刻に同じ駅に到着する列車の本数 <= M...
- maxDist の計算方法について(文責:権藤)&color(red){New ...
sc12_exdata0.txt で,
==========================
A B C
3: 7 2:19 ←コロンの左時刻,右駅番号
↓32 ↓9
↓ 4:12
↓ ↓10 5: 2
↓ 10:10 ↓17
11:17 ↓ 11:10
maxDist = 32 + (9 + 10) + 17 = 78 ?
==========================
という進み方があるのに,11分の時点で maxDist = 75 の解...
なぜ?という質問がありました.これは11分の時点ではBが...
いるので解とはみなされず,考慮されていないからです.もし...
時点でもBが駅にいようとすると,最も単純なのは stay する...
そうするとCの着駅とバッティングします.
- Warning: ignoring incorrect section type for .lbss と出...
プログラムをコンパイルしたときに、
/tmp/xxxx.s: Assembler messages:
/tmp/xxxxxxxx.s:xxxx: Warning: ignoring incorrect sect...
のようなメッセージが出る場合がありますが、これは「無害」...
(大域変数が2GBを超えた場合に表示されますが、-Xcompiler -...
によって、2GB超がokとなっています。)
一方、
tmpxft_0000XXXX_00000000-1_xxxxx.cudafe1.cpp:(.text+0x...
のようなメッセージは、コンパイルに「失敗」しています。
-Xcompiler -mcmodel=mediumを忘れていませんか?
終了行:
[[sc12note]]
- &color(red){テンプレートプログラムの変更}; (文責:遠藤)...
時間計測する部分の明確化、および一回目のCUDA関数のコスト...
テンプレートプログラムの変更を行いました。
今回は変更が大きいため、/home/SC12中のファイル名を、sc12...
(以前のものは/home/SC12/old/にありますが、利用しないでく...
!!! お手数ですが、作成中のプログラムのテンプレート部分を...
「なるべく」置き換えていただくよう、お願いします !!!
なおこの機会に、書き換えていけないテンプレート部分を書き...
チェックしてください。特にテンプレート用(1)・Template Pa...
変数や関数定義を入れてしまっていませんか?
- 大サイズの問題でのテスト (文責:遠藤) &color(red){New !...
すでに配布済のsc12exdata0.txt, sc12exdata1.txtに加え、さ...
(審査用問題とほぼ同サイズ)問題ファイルを公開しました。
/home/SC12/ex4.txt となります。
- プログラムには、上記の新テンプレートを埋め込んでおいて...
有効となっていることを確認してください。(特に、MAXtm4tes...
- 以下のようなコンパイルオプションを用いて審査します(予...
コンパイルが通るか確認してください。
nvcc -Xcompiler -mcmodel=medium -arch sm_21 -O3 fina...
(プログラム名がfinal.cuの場合)
- 出力結果を解答チェッカープログラムでチェックすることを...
「解答チェッカー」の項目を参照してください。
- サンプル問題の答えについて (文責:遠藤) &color(red){New...
配布済のサンプル問題である、sc12exdata0.txt, sc12exdata1...
答え(サンプルプログラム実行時の出力)を置きました。
/home/SC12中のans-sc12exdata0.txt, ans-sc12exdata1.txt, ...
maxDist (三人の距離の合計)については、正確に答えが一致す...
一方、経路については一意的に決まるわけではないことに注意...
- 本選課題解説中のミス
- 駅番号等の各インデックスは 0 から始まっています.1 か...
- 時刻も 0 分から MAXtm -1 分までです.
- 駅番号はプリントでは st となっていますがプログラム中で...
- 本選課題解説中のミスその2 (文責:山添) &color(red){New...
outroute[tm][X][1] の説明が 時刻 tm に X が乗り始める列...
- サンプルプログラム(sc12_sample.c, sc12_sampleE.c)の間違...
プログラム途中で#defineで定義されているsmalltmが、MAXtm4...
- 旧:#define smalltm 100
- 新:#define smalltm 40
のように修正をお願いします。
- サンプルプログラム(sc12_sample.c, sc12_sampleE.c)の間違...
Segmentation Faultを引き起こすことがあるバグがありました。
input2tables()関数前半にある、下記の場所を修正してくださ...
- 誤:
for(i=0; i<MAXtid; i++) {
bgntmTr[i] = -1;
endtmTr[i] = -1;
cnttrTm[i] = 0;
}
- 正:
for(i=0; i<MAXtid; i++) {
bgntmTr[i] = -1;
endtmTr[i] = -1;
}
for(i=0; i<MAXtm; i++) {
cnttrTm[i] = 0;
}
// - テンプレートプログラム(sc12_template.c, sc12_templat...
// 本番審査では、MAXtidは6000として審査します。
// テンプレート中で5000と書いてあるのは間違いで、配布資料...
// (/home/SC12のテンプレートは8/21 14:45ごろ修正しました)
- 距離の最大値に関しての質問
[Q] 駅間の距離などについて、最大値はあるか?(10億などに...
[A] 各駅間の距離は、いずれも32767以下です(事実上は10以下...
さらに、お渡しする問題および審査用問題の全ての場合にお...
(short int型で表せる値が32767以下のためです)(文責:遠藤)
- 路線に関して
路線、というと一般には例えば山手線、大阪環状線のような終...
すべての路線は鎖状になっており、分岐も存在しません。
(追記)したがって、一つの列車が同一の駅に複数回停車するこ...
(文責:岸本)
- 東工大端末 X Server の利用法
東工大会場で「emacsでマウスを使いたい」という質問があっ...
- 「すべてのプログラム」から「Cygwin-X」を選択
- 「Cygwin-X」の中から,「XWin Server」 を起動
- 画面下のツールバーの右側から,「XWin Server」のアイコ...
- 「Applications」から「xterm」をクリックして起動(起動...
- 「xterm」からTSUBAMEにログイン.その際 ssh のオプショ...
- ログインした先で,emacsやらgeditやらを起動.すると,手...
- 質問があればチューターまで.(文責:星野)
- 推奨コンパイルオプション
今回の課題では、大域変数のサイズが2GB越えになる場合があ...
- gccの場合: gcc -mcmodel=medium ...
- nvccの場合: nvcc -Xcompiler -mcmodel=medium -arch sm_2...
ほかにも、最適化のためのオプション-O3なども、gccでもnvcc...
- 「プログラミング環境ガイド:大阪大学会場編」修正(文責...
--(誤)$./keyset (正)$. ./keyset
--(追加)W$echo 'scp -i .ssh/tsubame_key -P 2222 TSUBAME...
- コンテストノード上で /nest2 が見えない(文責:権藤)
対症療法ですが,インタラクティブノード(最初にTSUBAMEに...
追記:8/20 19:10頃,復旧のためこの問題は解決.
- [阪大会場向け] 日本語で書かれたファイルを表示する方法 ...
下記のコマンドを実行して設定ファイルをコピーすればemacs...
(すでに自前の .emacs を持っている人は気を付けてください)
$ cp /home/usr1/sc12so06/.emacs ~
- [阪大会場向け] Cygwinのウィンドウサイズ変更
Cygwinのウィンドウサイズを「プロパティ」「レイアウト」...
TSUBAMEでEmacsを起動したときに表示が崩れることがありま...
- 編集ルールの変更について(文責:権藤)
初日の全体ガイダンスでは「プログラムの編集はTSUBAME上の...
運営側で協議した結果「ローカル端末でも編集して良い」こ...
以下に注意して下さい.
-- ローカル端末上のデータが失われないように,頻繁に TSU...
-- 東工大側は /nest2 (=Zドライブ)上のファイルをローカル...
Cドライブ上にコピーしてからファイル編集をすること....
リブート等で消去されるので,TSUBAME上へのファイル転...
- GPU のスペックについて(文責:今井)
TSUBAME 上の GPU のスペックに関して、必要そうなものを抜...
Tesla M2050
- Total amount of global memory: 2817982464 bytes
- Total amount of shared memory per block: 49152 bytes
- Total number of registers available per block: 32768
- Maximum number of threads per block: 1024
- Maximum sizes of each dimension of a block: 1024 x 102...
- Maximum sizes of each dimension of a grid: 65535 x 655...
- emacsでcuファイルに色を付ける方法(文責:今西)
.emacsファイルに以下の一行を追加してください。
(add-to-list 'auto-mode-alist '("\\.cu" . c-mode))
-[阪大会場向け] Windows端末とTSUBAMEのディレクトリの同期...
W$ echo '/usr/bin/rsync -auvzb --rsh="ssh -p 2222 -i .ss...
W$ echo '/usr/bin/rsync -auvzb --rsh="ssh -p 2222 -i .ss...
(tsubame_keyやTSUBAME-IDはscpfromと同様に各チームの暗号...
というバッチファイルを作りましょう。Windows端末のCygwin...
同じ名前のディレクトリ(たとえばtestdirとします)を作っ...
Windows端末で
W$ ./rsyncfrom testdir
とすると、TSUBAMEのtestdirの中の(変更時刻が新しい)フ...
上書きされます。Windows端末側にないファイルもコピーされ...
W$ ./rsyncto testdir
とすると逆の動作になります。Windows端末側のtestdir内の...
TSUBAMEのtestdirに上書き(コピー)されます
- 解答チェッカー(文責:時田)
/home/SC12/以下に解答チェッカーを置きました.sc12_check....
チェッカーの利用方法(以下文責:岸本・遠藤)
現在のチェッカーは、sc12exdata0.txtを使う場合で、かつ120...
この説明では、参加者のプログラム名をprogram, チェッカー...
(1) 参加者プログラムを、結果をファイルにしまいつつ実行
./program < sc12exdata0.txt > output0.txt
として実行すると、実行結果がoutput0.txtに格納されます。
(2) チェッカープログラムを以下のように実行
./sc12_check < output0.txt
output0.txtの内容に問題がなければ、"no error."のように表...
(3) 条件を変えたい場合、以下のようにsc12_check.cを変更し...
- 入力データを変えたい場合:
input()関数にある
if ((fp = fopen("sc12exdata0.txt", "r")) == NULL) {
の部分を変更してください。
- 計算する時間刻み(現在は120)を変えたい場合:
プログラム冒頭にある
#define DAYtm 120
の部分を変更してください。
- 提出時に #define は本番用とテスト用のどちらを有効にして...
どちらでも構いません.どちらでも本番用が有効になるよう...
- 音楽を聴きながら作業しても良いか?(文責:権藤)
構いません.ただし,迷惑にならないように,イヤホンを用...
十分注意して下さい.
- デバイス内関数でのブロック・スレッドのインデクス(文責...
__device__ 修飾子をつけて定義した関数の中でも threadIdx...
- 「さっきまで動いていたプログラムと全く同じなのに、cuda...
いくつか原因は考えられます。例えば
- コンパイルオプションがさっきと違うかも?
- 想定外のゴミプロセスが残っていて、それらがGPUを独占し...
nvidia-smi というコマンドを実行してみてください。
最後の方に、「たった今GPUを使っているプロセス」が表示...
| Compute processes: ...
| GPU PID Process name ...
|=======================================================...
| 0. 9387 ./esolver ...
+-------------------------------------------------------...
もし想定外のプロセスが走っているようなら、killコマンドで...
この例の場合は、プロセスの番号が9387なので、"kill -9 938...
- テストデータを作りたいので東京の地下鉄路線図が描いてあ...
本コンテストWiki以外のウェブ閲覧は一切禁止です。テストデ...
- 駅の数には下限があるか?駅の数は3以上だとしてよいか?(...
その通り。駅の数には下限があり、駅の数は3以上とします。
-駅間距離の最小値は?(文責:時田) &color(red){New !! 8...
駅間距離の最小値は1とします。駅間距離0はありません
- 中間提出について (文責:権藤)&color(red){New !! 8/22 1...
8/22(水) 15:00 までに所定の方法でプログラムを提出して下...
これは提出の練習を兼ねています.実行時間等を他チームに...
もし動作するプログラムが出来ていないチームはサンプルコ...
- プレーオフについて (文責:権藤)&color(red){New !! 8/2...
本選問題解説では「審査では以下の大きさの問題例を3例使い...
「ただし計算時間の差が非常に小さい場合に限り,プレーオ...
審査することがある」を追加します.
- 最大同着発列車数について (文責:宮村)
最大同着発列車数(MAXtd)の説明が 同じ駅に到着する(発車す...
より正確には、 同じ時刻に同じ駅に到着する列車の本数 <= M...
- maxDist の計算方法について(文責:権藤)&color(red){New ...
sc12_exdata0.txt で,
==========================
A B C
3: 7 2:19 ←コロンの左時刻,右駅番号
↓32 ↓9
↓ 4:12
↓ ↓10 5: 2
↓ 10:10 ↓17
11:17 ↓ 11:10
maxDist = 32 + (9 + 10) + 17 = 78 ?
==========================
という進み方があるのに,11分の時点で maxDist = 75 の解...
なぜ?という質問がありました.これは11分の時点ではBが...
いるので解とはみなされず,考慮されていないからです.もし...
時点でもBが駅にいようとすると,最も単純なのは stay する...
そうするとCの着駅とバッティングします.
- Warning: ignoring incorrect section type for .lbss と出...
プログラムをコンパイルしたときに、
/tmp/xxxx.s: Assembler messages:
/tmp/xxxxxxxx.s:xxxx: Warning: ignoring incorrect sect...
のようなメッセージが出る場合がありますが、これは「無害」...
(大域変数が2GBを超えた場合に表示されますが、-Xcompiler -...
によって、2GB超がokとなっています。)
一方、
tmpxft_0000XXXX_00000000-1_xxxxx.cudafe1.cpp:(.text+0x...
のようなメッセージは、コンパイルに「失敗」しています。
-Xcompiler -mcmodel=mediumを忘れていませんか?
ページ名: