[過去ログ] (情報科学)技術的特異点と科学技術等 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