[過去ログ] (情報科学)技術的特異点と科学技術等 2 (ナノテク)©2ch.net (319レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
235(1): >>231 [NGワード誤検出回避分割sage] 2018/07/30(月)06:47 ID:wOzVCFyH(19/50) AAS
BEアイコン:nida.gif
DDR4-I/F 64 bit 2400MHz DDR4-I/F 64 bit 2400MHz
236: >>232 [NGワード誤検出回避分割sage] 2018/07/30(月)06:47 ID:wOzVCFyH(20/50) AAS
BEアイコン:nida.gif
DDR4-I/F 64 bit 2400MHz DDR4-I/F 64 bit 2400MHz
237: >>229-236 2018/07/30(月)06:51 ID:wOzVCFyH(21/50) AAS
BEアイコン:nida.gif
ARM926
Host I/F & Inter Processor I/F
Host I/F
PCI Express Gen3 x8
Host I/F
PCI Express Gen3 x8
Host I/F
PCI Express Gen3 x8
Host I/F
省4
238(1): >>229-237 2018/07/30(月)06:54 ID:wOzVCFyH(22/50) AAS
AA省
239(1): >>238 2018/07/30(月)06:55 ID:wOzVCFyH(23/50) AAS
BEアイコン:nida.gif
Page 16
オンチップキャッシュ
level Size(B) Chip Total(B) Way Entry Line 長(B) 接続
データキャッシュ
L1 2K 1M 8 4 64 2PEに1つ
L2 64k 4M 8 32 256 Ciry毎 L1 8 個に対して
L3 2M 8M 8 256 1k Prefecture毎 L2 16 個に対して
命令キャッシュ
L1 2K 2M 8 2 128 PE毎
省5
240(1): >>239 2018/07/30(月)06:56 ID:wOzVCFyH(24/50) AAS
AA省
241(1): >>240 2018/07/30(月)06:57 ID:wOzVCFyH(25/50) AAS
AA省
242(1): >>241 2018/07/30(月)06:58 ID:wOzVCFyH(26/50) AAS
BEアイコン:nida.gif
Page 20
特殊な関数
? カーネルプログラムで利用可能な、PEZY-SC制御に必要な組み込み関数がある。
? sync_L1 (L1キャッシュにアクセスする単位でのスレッド同期)
? sync_L2 (L2キャッシュにアクセスする単位でのスレッド同期)
? sync_L3 (L3キャッシュにアクセスする単位でのスレッド同期)
? sync (sync_L3と同等)
? flush_L1 (L1キャッシュのフラッシュ)
? flush_L2 (L2キャッシュのフラッシュ)
省5
243(1): >>242 2018/07/30(月)06:59 ID:wOzVCFyH(27/50) AAS
AA省
244(1): >>243 2018/07/30(月)07:00 ID:wOzVCFyH(28/50) AAS
AA省
245(1): >>244 2018/07/30(月)07:01 ID:wOzVCFyH(29/50) AAS
BEアイコン:nida.gif
Page 23
簡単な最適化の説明
? 前述のpzcAddサンプルを用いて、PEZY-SC内での簡単な最適化の説明を行う
? ここでは以下のような最適化を行っている
? カーネル呼び出しのオーバヘッドの削減
? chgthreadを用いたレイテンシーの隠蔽
? 同期を用いたキャッシュアクセスの効率化
Page 24
オーバヘッド削減(1/2)
省11
246(1): >>245 2018/07/30(月)07:03 ID:wOzVCFyH(30/50) AAS
BEアイコン:nida.gif
Page 25
オーバヘッド削減(2/2)
? 以下のようにカーネルコードを修正し、CPUからの呼び出し時のスレッド数を固定にしても、
1回のカーネル呼び出しで全要素の処理を行えることとなる。
? これによってオーバヘッドを減らすことができる。
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
省7
247(1): >>246 2018/07/30(月)07:03 ID:wOzVCFyH(31/50) AAS
BEアイコン:nida.gif
Page 26
寄り道:CPUエミュレート
? このようにカーネルの中でループさせることは別のメリットもある。
? CPUで1スレッドでの動作として、この関数を同じように動作させることができる
→ソースを共有したデバッグに有効
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
省12
248(1): >>247 2018/07/30(月)07:04 ID:wOzVCFyH(32/50) AAS
BEアイコン:nida.gif
Page 27
スレッドの切り替え (1/3)
? 1つのPEに8スレッド存在するが、一度には4スレッドのみが動作する。
? 表裏で4スレッドずつ。
? sync/flushなどの同期やchgthreadを使用しないと、表裏が切り替わらない。
249(1): >>248 2018/07/30(月)07:05 ID:wOzVCFyH(33/50) AAS
AA省
250(1): >>249 2018/07/30(月)07:06 ID:wOzVCFyH(34/50) AAS
AA省
251(1): >>250 2018/07/30(月)07:06 ID:wOzVCFyH(35/50) AAS
AA省
252(1): >>251 2018/07/30(月)07:07 ID:wOzVCFyH(36/50) AAS
AA省
253(1): >>252 2018/07/30(月)07:08 ID:wOzVCFyH(37/50) AAS
AA省
254(1): >>253 2018/07/30(月)07:08 ID:wOzVCFyH(38/50) AAS
AA省
上下前次1-新書関写板覧索設栞歴
あと 65 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.015s