くらし情報『コンピュータアーキテクチャの話 (348) 複数のデータの処理を一度に行うGPUのメモリアクセス』

2016年2月19日 13:00

コンピュータアーキテクチャの話 (348) 複数のデータの処理を一度に行うGPUのメモリアクセス

複数のスレッドが同じアドレスに書き込みを行う場合も1回で処理できるが、どのスレッドの書き込みデータが書かれるかは不定というのが一般的である。

図3-44は1回のメモリアクセスだけでは処理できず、複数回のメモリアクセスが必要となるケースである。

128バイトの連続アドレスのアクセスでも、スタートするアドレスが128バイト境界にアラインされていない場合は、上側の図のように、連続した2つのラインのアクセスが必要になる。また、下側の図のようにアクセス先がばらばらで3つ、あるいはそれ以上のラインへのアクセスが必要になるケースも発生する。このように複数回のメモリアクセスが必要になるケースでは、NVIDIAは2回目以降のアクセスを「リプレイ(Replay)」と呼んでいる。リプレイが必要になると、メモリアクセスの回数が増えるため、その分、命令の実行時間が長くなる。なお、レジスタに格納されたデータが違えば、アドレスのばらばら具合は異なるので、同じプログラムでもリプレイの回数も異なってくる。最悪、全部が別々の128バイトブロックに分かれてしまうと、最初のアクセス+31回のリプレイが必要になり、メモリアクセスに非常に長い時間が掛かるということも起こる。

新着くらしまとめ
もっと見る
記事配信社一覧
facebook
Facebook
Instagram
Instagram
X
X
YouTube
YouTube
上へ戻る
エキサイトのおすすめサービス

Copyright © 1997-2024 Excite Japan Co., LTD. All Rights Reserved.