くらし情報『コンピュータアーキテクチャの話 (331) 汎用の科学技術計算におけるGPUのキャッシュの必要性』

2015年6月19日 10:00

コンピュータアーキテクチャの話 (331) 汎用の科学技術計算におけるGPUのキャッシュの必要性

コンピュータアーキテクチャの話 (331) 汎用の科学技術計算におけるGPUのキャッシュの必要性
○シェアードメモリ経由のスレッド間通信

また、図3-19に見られるように、各々のスレッドは自分専用のレジスタファイルだけをアクセスして処理を行う構造になっており、他のスレッドのレジスタファイルをアクセスすることはできないので、スレッド間でのデータのやり取りはできない。

このため、スレッド間でデータのやり取りを行う場合には、シェアードメモリを使う。同一グループの32スレッドは同じシェアードメモリを使うので、スレッド1がアドレスAに書いたデータを、スレッド2がアドレスAを読むことで受け取ることができる。また、同一SM(Streaming Multiprocessor)で走るすべてのスレッドは同じシェアードメモリを使うので、これらのスレッドの間でのデータのやり取りもできる。

デバイスメモリを使えば、別SMで走るスレッドとの間でデータの受け渡しをすることができるが、デバイスメモリのアクセスはシェアードメモリのアクセスより時間が掛かるので、同一SMのスレッド間ではシェアードメモリを使う方が良い。

なお、同一グループの32スレッドは同期して実行されるが、デバイスメモリのアクセスの順序がプログラム順になることは保証されていない。

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

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