[過去ログ]
(情報科学)技術的特異点と科学技術等 2 (ナノテク)©2ch.net (319レス)
(情報科学)技術的特異点と科学技術等 2 (ナノテク)©2ch.net http://rio2016.5ch.net/test/read.cgi/future/1489922543/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
251: >>250 [sage] 2018/07/30(月) 07:06:50 ID:wOzVCFyH sssp://img.5ch.net/ico/nida.gif Page 30 メモリアクセスの同期(1/2) ? 以下の実装だと、各スレッドがメモリレイテンシーの状況によって進行度がばらばらになり、 キャッシュアクセスが非効率となる場合がある。 void pzc_Add(float* a, float* b, float* c, int count) { int tid = get_tid(); // thread ID (0 - 7) int pid = get_pid(); // PE ID int offset = pid * get_maxtid() + tid; int step = get_maxtid() * get_maxpid(); for(int pos = offset; pos < count; pos += step) { float a_ = a[pos]; float b_ = b[pos]; chgthread(); c[pos] = a_ + b_; } flush(); } memory request t0 ↑ t1 ↑ … t7 ↑ http://rio2016.5ch.net/test/read.cgi/future/1489922543/251
252: >>251 [sage] 2018/07/30(月) 07:07:24 ID:wOzVCFyH sssp://img.5ch.net/ico/nida.gif Page 31 メモリアクセスの同期(2/2) ? 以下のようにメモリアクセス前に同期を入れることにより、メモリアクセス性能が向上する場合がある ただし同期自体のペナルティがあるため、利用する/しない、あるいは同期レベルの選択に注意が必要 void pzc_Add(float* a, float* b, float* c, int count) { int tid = get_tid(); // thread ID (0 - 7) int pid = get_pid(); // PE ID int offset = pid * get_maxtid() + tid; int step = get_maxtid() * get_maxpid(); for(int pos = offset; pos < count; pos += step) { sync_L2(); float a_ = a[pos]; float b_ = b[pos]; chgthread(); c[pos] = a_ + b_; } flush(); } memory request t0 → ↑ t1 → ↑ … sync t7 → ↑ http://rio2016.5ch.net/test/read.cgi/future/1489922543/252
253: >>252 [sage] 2018/07/30(月) 07:08:00 ID:wOzVCFyH sssp://img.5ch.net/ico/nida.gif Page 32 PEZY-SCの効果的な利用 ? スレッド、PE単位の並列性を活かす ? L1~L3キャッシュに優しいメモリ配置を行う ? CPUからカーネルの起動回数を減らす ? chgthread を用いてレイテンシーを隠蔽する ? 同期を適切に用いて、キャッシュの効率を上げる ? ローカルメモリを利用することでメモリアクセスを減らす ? その他各種設定(メモリ書き出し設定・カーネル呼び出し方法設定)→これについては今後必要に応じて情報公開します。 Page 33 ローカルメモリの利用(1/2) ? PE毎に16KBのローカルメモリをカーネルプログラムで利用できる ? デフォルトではPE内の8スレッドのスタック領域として、2KBずつを割り振られている 0x0000 スレッド0用スタック領域(2KB) スレッド1用スタック領域(2KB) スレッド2用スタック領域(2KB) スレッド3用スタック領域(2KB) スレッド4用スタック領域(2KB) スレッド5用スタック領域(2KB) スレッド6用スタック領域(2KB) スレッド7用スタック領域(2KB) 0x3fff 16KB http://rio2016.5ch.net/test/read.cgi/future/1489922543/253
254: >>253 [sage] 2018/07/30(月) 07:08:43 ID:wOzVCFyH sssp://img.5ch.net/ico/nida.gif Page 34 ローカルメモリの利用(2/2) ? このままではユーザが利用できないため、スレッド用のスタック領域を削減する (下図はスレッド毎のスタックサイズを1KBとした場合) 0x0000 スレッド0用スタック領域(1KB) スレッド1用スタック領域(1KB) スレッド2用スタック領域(1KB) スレッド3用スタック領域(1KB) スレッド4用スタック領域(1KB) スレッド5用スタック領域(1KB) スレッド6用スタック領域(1KB) スレッド7用スタック領域(1KB) 0x2000 8KB ユーザ利用可能領域(8KB) 0x3fff 8KB Page 35 プログラミングのパターン ? PEZY-SCのカーネルプログラムはなるべく全処理を一括で持っていきたい ? MIMDでプログラミングに自由度があるので、多少並列度が落ちるところもとりあえずカーネルには載せることは容易 SC処理1 → CPU処理2 → SC処理3 → CPU処理4 → SC処理5 ↓ SC処理1 → SC処理2 → SC処理3 → SC処理4 → SC処理5 http://rio2016.5ch.net/test/read.cgi/future/1489922543/254
255: >>254 [sage] 2018/07/30(月) 07:09:32 ID:wOzVCFyH sssp://img.5ch.net/ico/nida.gif Page 36 プログラミングのパターン ? フロントエンドがclangであり、ほとんどのケースではSCとCPUでのソースコードの共有が容易。 ? デバッグ時には細かい単位で切り替えながら不具合を特定することが非常に有効 CPU処理1 ⇔ SC処理1 ↓ CPU処理2 ⇔ SC処理2 ↓ CPU処理3 ⇔ SC処理3 ↓ CPU処理4 ⇔ SC処理4 ↓ CPU処理5 ⇔ SC処理5 Page 37 プログラミングのパターン ? 最終的な実行はなるべくカーネル処理だけとする CPU処理1 SC処理1 ↓ CPU処理2 SC処理2 ↓ CPU処理3 SC処理3 ↓ CPU処理4 SC処理4 ↓ CPU処理5 SC処理5 http://rio2016.5ch.net/test/read.cgi/future/1489922543/255
256: >>255 [sage] 2018/07/30(月) 07:10:04 ID:wOzVCFyH sssp://img.5ch.net/ico/nida.gif Page 38 その他の話題 Page 39 共同開発のパターン ? そもそもPEZY-SCは利用できそうだろうか? ? 自分のところで評価するのは負荷が高い。。。 Page 40 共同開発のパターン1 ? そもそもPEZY-SCは利用できそうだろうか? ? 自分のところで評価するのは負荷が高い。。。 →(可能な範囲で)実装に必要な情報をご提供頂き、PEZY側で(可能な範囲で)評価を行う(基本はNDAベース) A社/大学/研究所 実装に必要な情報 ↑ ↓ 評価結果 PEZY http://rio2016.5ch.net/test/read.cgi/future/1489922543/256
257: >>256 [sage] 2018/07/30(月) 07:10:59 ID:wOzVCFyH sssp://img.5ch.net/ico/nida.gif Page 41 共同開発のパターン2 ? そもそもPEZY-SCは利用できそうだろうか? ? まずは簡単に触ってみたい。。。 ? PEZY-SCを空冷環境下でご提供 ? ただし、開発途上のものなので十分な情報やサポートを保証できるものではありません。 (弊社側で可能な範囲でのご提供となります) A社/大学/研究所 ↑ ↑ PEZY-SC空冷環境 評価結果 PEZY http://rio2016.5ch.net/test/read.cgi/future/1489922543/257
258: >>257 [sage] 2018/07/30(月) 07:12:26 ID:wOzVCFyH sssp://img.5ch.net/ico/nida.gif Page 42 PEZY-SC評価システム例 LIANLI ATX PC-T60A ASUS X99E WS Intel? Xeon? Processor E5-2650 v3 (25M Cache, 2.30 GHz) Samsung DDR4-2133 8GB×4 Crucial 2.5” SSD CT250BX100SSD1 PEZY-SC Dual Board x 2 株式会社 PEZY Computing 社製品 RA-750S Optional 120 mm / 140 mm Fan Cooler Model: T60-1 http://rio2016.5ch.net/test/read.cgi/future/1489922543/258
259: >>258 [sage] 2018/07/30(月) 07:13:17 ID:wOzVCFyH sssp://img.5ch.net/ico/nida.gif Page 43 共同開発のパターン3 ? そもそもPEZY-SCは利用できそうだろうか? ? 液浸環境下でスパコン構成を試してみたい。 →菖蒲システムの利用公募 http://accc.riken.jp/news1/2016-07-01/ こちらも十分な情報やサポートを保証できるものではありません(可能な範囲でのご提供となります) 研究開発用途で開発情報を公開可能ならばお勧め! 個人でも応募可!! Page 44 菖蒲システムでできること ? 複数のコンピュートノードを用いた大規模な並列計算が可能。MPIの利用が可能。 ? 現状は1タンク=16ブリック=256ノードが開発者に常時提供されている。 必要に応じて全システムでの利用も可能。 ? ジョブ管理システムslurmの利用が可能。 ? フロントエンド、コンピュートノードともに linux(centOS7)が入っており、 一般的なlinuxのライブラリやツールが利用可能。 http://rio2016.5ch.net/test/read.cgi/future/1489922543/259
260: >>259 [sage] 2018/07/30(月) 07:14:05 ID:wOzVCFyH sssp://img.5ch.net/ico/nida.gif Page 45 菖蒲の構成 ? フロントエンドとコンピュートノードから構成される。 ? 4つのコンピュートノードは1つのブリックを構成する。 ? また、各コンピュートノードはそれぞれ1個のXeonと4個のPEZY-SCを所持する。 ? フロントエンド、コンピュートノードはInfinibandにより結合されている。 shoubu t1n011 t1n012 t1n013 t1n014 1ブリック t1n021 ‥‥ Page 46 ジョブ管理システムの利用 ? 複数の人が菖蒲システムを利用するためにジョブシステム (slurm)が導入されている。 これにより特定のコンピュートノードを意識せずに利用ができる。 ? ssh shoubu.riken.jp のようにしてフロントエンドにログインする。 ? フロントエンド上でプログラムの編集、ビルドを行う。 ? sbatch ?nodes <ノード数> --ntasks-per-node <ノードあたりの MPIプロセス数> tst.sh #!/bin/sh #SBATCH ?p debug #SBATCH ?exclusive mpirun ... //MPIを用いる場合 http://rio2016.5ch.net/test/read.cgi/future/1489922543/260
261: >>260 [sage] 2018/07/30(月) 07:14:44 ID:wOzVCFyH sssp://img.5ch.net/ico/nida.gif Page 47 今後の展開 Page 48 今後の展開 ? 新プロセッサ PEZY-SC2の開発 ? 2,048コアの演算PE+MIPSプロセッサ内蔵 ? TCIインタフェースによる、メモリ帯域の飛躍的拡大 ? Brickボード、液浸冷却システムのブラッシュアップ ? 新ブリック構成で冷却効率を向上 ? ZettaScaler-2.xシリーズ ? これらの新規開発要素を組み合わせた、新しいスーパーコンピュータの実現 http://rio2016.5ch.net/test/read.cgi/future/1489922543/261
262: >>261 [sage] 2018/07/30(月) 07:15:27 ID:wOzVCFyH sssp://img.5ch.net/ico/nida.gif Page 49 PEZY-SC2の特徴 ? CPUがMIPSとなりSC2とメモリ空間を共有する →従来XeonとSCの間で必要であったメモリ転送が必要なくなる。 メモリ ↑ Xeon ↓ SC SC SC SC メモリ メモリ メモリ メモリ ↓ メモリ MIPS SC2 Page 50 PEZY-SC2の特徴 ? CPUとSC2の協調動作の強化 ? 各種命令セットの補強 ? (大きな変更なく)SCのプログラムをそのままコンパイル・実行できる http://rio2016.5ch.net/test/read.cgi/future/1489922543/262
263: >>262 [sage] 2018/07/30(月) 07:16:03 ID:wOzVCFyH sssp://img.5ch.net/ico/nida.gif Page 51 外部に公開している情報 ? 若干のサンプルプログラム ? Doxygenで自動生成されたAPIリファレンス ? 簡単なアーキテクチャ説明資料 ? 簡単なプログラミングマニュアル Page 52 外部に公開している情報 ? 若干のサンプルプログラム ? Doxygenで自動生成されたAPIリファレンス ? 簡単なアーキテクチャ説明資料 ? 簡単なプログラミングマニュアル ↓ ? ユーザポータルを作成してここに各種情報を集約していく予定です(2017/1予定) ? PEZYと個別にNDAのやり取りを行い、その後に参加して頂くようになります。 http://rio2016.5ch.net/test/read.cgi/future/1489922543/263
264: >>263 [sage] 2018/07/30(月) 07:17:26 ID:wOzVCFyH sssp://img.5ch.net/ico/nida.gif Page 53 開発中/予定のソフトウェア ? 物理系シミュレーション ? 開発環境 ? OpenACC/OpenCL/PUDA(!)・・・ ? 量子計算シミュレーション ? メタゲノム解析ツール ? ニューラルネット ? Caffe/・・・ ? 数値計算ライブラリ ? BLAS/FFT・・・ ? ・・・ Page 54 ご興味がありましたら ishikawaATpezy.co.jp お気軽にご連絡ください http://rio2016.5ch.net/test/read.cgi/future/1489922543/264
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 49 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
アボンOFF
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.012s