新年明けましておめでとう。 2017年を振り返ると自分が社会人1年目だったということもあり、四苦八苦しながらも成長できた1年だった。まだまだ卵がヒナになったくらいだが、2018年は去年やりたかったけど出来なかったことにチャレンジしてみたい。(^ω^) 新年一発目は去年の末から読み進めている「GPUを支える技術」の続きだ。 とても面白い本なのでじっくりと読んでいるが、他に読みたい本も積んでいるので少し急ぎ足になってしまうかもしれない。(´Д`) 4章 GPUの超並列処理 [前半] 4.3 AMDとARMのSIMT方式のGPU ここではAMD GCNアーキテクチャとARM Bifrost GPUについて取り上げている。 AMDやARMのGPUについて扱っている他の本を見たことがないので、とても貴重なのではないかな?(^ω^) AMD GPU GCNアーキテクチャ AMDは2012年にGCN(Graphics Core Next)という、NVIDIAと同じSIMTを採用したアーキテクチャを導入した。(それまではVLIWというISAだったらしい。) AMD GCNアーキテクチャはコンピュートユニット(CU)とローカルデータシェア、グローバルデータシェアというメモリを持つ。グローバルデータシェアをつかうと、全ての異なるCUの全てのスレッド間でデータの共有を行うことができる。さらに、それはGPUチップ内臓のSRAMでできているため、デバイスメモリと比べて高速である。 また前章で述べたように、AMDのGPUは64つのスレッドを同時に実行する。CUは64個の32-bitの浮動小数点演算機(FP32)と24-bitの整数演算器を持っているが、DPはなく、代わりにFP32で複数サイクルかけて計算できるようになっている。 以下にNVIDIAとの各要素の比較を表にして示す。(マークダウンで書いたテーブルがBloggerでは何故か正しくレンダリングされない。。(;^ω^)) 項目 NVIDIA AMD 計算コア SM CU スレッド間共有メモリ シェアードメモリ ローカルデータシェア 高速グローバルメモリ なし グローバルデータシェア グローバルメモリ デバイスメモリ デバイスメモリ スレッド同時実行数...