sc16note/Q and A
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
since1995
開始行:
[[sc16note]]
- 問:木曜日のスケジュール?
答:以下の通りです.
12時 プログラミング終了,演習室から退去
※資料などは置いていってもよい
※12時50分まで演習室入室不可
12時50分 入室開始
※ローカル端末へのログイン,TSUBAME へのログ...
13時 競技用の問題の公開
※問題の置き場所は,~gondow-k-aa/problem/ (...
14時55分 showコマンド使用不可(最終結果は明日のお楽...
15時 競技終了
- 問 : 乱数を実行毎に変えたい
答 : 今回のサンプルではxor128()関数を定義して使っていま...
1.乱数を初期化したいタイミングで "一度だけ" srand(シード...
2.rand()で32bit乱数を生成
です。シード値としては、現在時間time(NULL)を使ってもいい...
同じシード値に対しては毎回同じ結果が得られるはずです。
(チューター)
- 問 : 実行時に端末からパラメーターを入力するようなプログ...
答: 今回の本選は実行結果をsubmitするものなので、実行時に...
- 問 : 64bit整数配列の総和演算をしたくてatomicAddをしよう...
答: 扱う値の型がunsigned long long型であれば計算できるよ...
特に、配布されているreduceを使っている場合は、引数の型だ...
__global__ void reduce(int *data, int *psum, int len)
{
__shared__ int sdata[BSR];
:
}
となっている上記のコードを下記のコードに書き換える必要が...
__global__ void reduce(unsigned long long *data, unsigne...
{
__shared__ unsigned long long sdata[BSR];
:
}
(チューター)
- 問 : CUDA の"データ転送時の" エラーを検出する便利なマク...
答 : このようなマクロが便利です。(※reduce<<<...>>>()のよ...
#define CUDA_SAFE_CALL(func) \
do { \
cudaError_t err = (func); \
if (err != cudaSuccess) { \
fprintf(stderr, "[Error] %s (error code: %d) at ...
exit(err); \
} \
} while(0)
とプログラムの先頭に書いた上で、以下のように使います。
int *foo;
CUDA_SAFE_CALL( cudaMalloc((void **)&foo, sizeof(int) * ...
(チューター)
- 問 : gnuplotを使っても良いですか?
答 : はい。tsubameにあります。ssh -Y でtsubameにつなげば...
- 問 : 東工大会場でWindowsを使ってもいいですか?
答 : 構いませんが,自己責任で使って下さい.私はお勧めし...
- 問 : 8/25(木) 13〜15時の時間帯に,他チームに割り当てら...
答 : 失格となります.間違って他チームの計算ノードにログ...
- 問 : デバッガやプロファイラを使ってもいいですか?
答 : いえ,本選ではデバッガやプロファイラの使用は禁止と...
- 問 : GPUカーネル関数中で、変なポインタにアクセスしても...
答 : cudaGetLastError()という、「最近起こったエラーを知...
成功の場合はcudaSuccess, 失敗の場合はそれ以外になります。
チェックする例を下記に示します。
cudaError_t rc;
func<<<..., ...>>>(...);
cudaDeviceSynchronize(); // 関数funcの実行が終わるのを待つ
rc = cudaGetLastError();
if (rc != cudaSuccess) {
fprintf(stderr, "Error: %s\n", cudaGetErrorString(rc));
}
(遠藤)
- 問 : cudaMemcpyやcudaMallocが成功したか失敗したか知る方...
答 : 返り値(cudaError_tという型)を調べるとわかります。
成功の場合はcudaSuccess, 失敗の場合はそれ以外になります。
チェックする例を下記に示します。
cudaError_t rc;
rc = cudaMemcpy(...);
if (rc != cudaSuccess) {
fprintf(stderr, "Error: %s\n", cudaGetErrorString(rc));
}
(遠藤)
- Memo : TSUBAME周辺の扱い
TSUBAMEへのログインにはssh login-t2.g.gsic.titech.ac.jp ...
自分の計算ノードへのログインにはt2a006上でssh t2a003*** ...
/nest2/Shared/SC/2016にアクセスするにはt2a006から始まる...
コンパイルや実行などはt2a003から始まる計算ノードから行う
なおこの2つのノードのホームディレクトリは共通なので、t2a...
またアカウントはチーム共通
- 問 : C++でプログラムを書いて良いか.
答 : いえ,C++ではなく,Cでプログラムを書いて下さい(権...
- 問 : 非連結なグラフを提出したらどうなるか.
答 : 非連結なグラフのASPLはINF(無限大(10^9))になります....
- 注 : 問題の制約
問題の制約(nやdの範囲)を意識して戦略を考えるとよいかも...
- 問 : サンプルコード置き場はどこでしたっけ?
答 : /nest2/Shared/SC/2016/ (計算ノードでは無く,インタ...
- 問 : 各チームに割り当てられた計算ノード以外でsubmit/sho...
答 : その場合,成績は報告されませんし,順位も表示されま...
終了行:
[[sc16note]]
- 問:木曜日のスケジュール?
答:以下の通りです.
12時 プログラミング終了,演習室から退去
※資料などは置いていってもよい
※12時50分まで演習室入室不可
12時50分 入室開始
※ローカル端末へのログイン,TSUBAME へのログ...
13時 競技用の問題の公開
※問題の置き場所は,~gondow-k-aa/problem/ (...
14時55分 showコマンド使用不可(最終結果は明日のお楽...
15時 競技終了
- 問 : 乱数を実行毎に変えたい
答 : 今回のサンプルではxor128()関数を定義して使っていま...
1.乱数を初期化したいタイミングで "一度だけ" srand(シード...
2.rand()で32bit乱数を生成
です。シード値としては、現在時間time(NULL)を使ってもいい...
同じシード値に対しては毎回同じ結果が得られるはずです。
(チューター)
- 問 : 実行時に端末からパラメーターを入力するようなプログ...
答: 今回の本選は実行結果をsubmitするものなので、実行時に...
- 問 : 64bit整数配列の総和演算をしたくてatomicAddをしよう...
答: 扱う値の型がunsigned long long型であれば計算できるよ...
特に、配布されているreduceを使っている場合は、引数の型だ...
__global__ void reduce(int *data, int *psum, int len)
{
__shared__ int sdata[BSR];
:
}
となっている上記のコードを下記のコードに書き換える必要が...
__global__ void reduce(unsigned long long *data, unsigne...
{
__shared__ unsigned long long sdata[BSR];
:
}
(チューター)
- 問 : CUDA の"データ転送時の" エラーを検出する便利なマク...
答 : このようなマクロが便利です。(※reduce<<<...>>>()のよ...
#define CUDA_SAFE_CALL(func) \
do { \
cudaError_t err = (func); \
if (err != cudaSuccess) { \
fprintf(stderr, "[Error] %s (error code: %d) at ...
exit(err); \
} \
} while(0)
とプログラムの先頭に書いた上で、以下のように使います。
int *foo;
CUDA_SAFE_CALL( cudaMalloc((void **)&foo, sizeof(int) * ...
(チューター)
- 問 : gnuplotを使っても良いですか?
答 : はい。tsubameにあります。ssh -Y でtsubameにつなげば...
- 問 : 東工大会場でWindowsを使ってもいいですか?
答 : 構いませんが,自己責任で使って下さい.私はお勧めし...
- 問 : 8/25(木) 13〜15時の時間帯に,他チームに割り当てら...
答 : 失格となります.間違って他チームの計算ノードにログ...
- 問 : デバッガやプロファイラを使ってもいいですか?
答 : いえ,本選ではデバッガやプロファイラの使用は禁止と...
- 問 : GPUカーネル関数中で、変なポインタにアクセスしても...
答 : cudaGetLastError()という、「最近起こったエラーを知...
成功の場合はcudaSuccess, 失敗の場合はそれ以外になります。
チェックする例を下記に示します。
cudaError_t rc;
func<<<..., ...>>>(...);
cudaDeviceSynchronize(); // 関数funcの実行が終わるのを待つ
rc = cudaGetLastError();
if (rc != cudaSuccess) {
fprintf(stderr, "Error: %s\n", cudaGetErrorString(rc));
}
(遠藤)
- 問 : cudaMemcpyやcudaMallocが成功したか失敗したか知る方...
答 : 返り値(cudaError_tという型)を調べるとわかります。
成功の場合はcudaSuccess, 失敗の場合はそれ以外になります。
チェックする例を下記に示します。
cudaError_t rc;
rc = cudaMemcpy(...);
if (rc != cudaSuccess) {
fprintf(stderr, "Error: %s\n", cudaGetErrorString(rc));
}
(遠藤)
- Memo : TSUBAME周辺の扱い
TSUBAMEへのログインにはssh login-t2.g.gsic.titech.ac.jp ...
自分の計算ノードへのログインにはt2a006上でssh t2a003*** ...
/nest2/Shared/SC/2016にアクセスするにはt2a006から始まる...
コンパイルや実行などはt2a003から始まる計算ノードから行う
なおこの2つのノードのホームディレクトリは共通なので、t2a...
またアカウントはチーム共通
- 問 : C++でプログラムを書いて良いか.
答 : いえ,C++ではなく,Cでプログラムを書いて下さい(権...
- 問 : 非連結なグラフを提出したらどうなるか.
答 : 非連結なグラフのASPLはINF(無限大(10^9))になります....
- 注 : 問題の制約
問題の制約(nやdの範囲)を意識して戦略を考えるとよいかも...
- 問 : サンプルコード置き場はどこでしたっけ?
答 : /nest2/Shared/SC/2016/ (計算ノードでは無く,インタ...
- 問 : 各チームに割り当てられた計算ノード以外でsubmit/sho...
答 : その場合,成績は報告されませんし,順位も表示されま...
ページ名: