goo blog サービス終了のお知らせ 

回転思考

適当に

dx12のigpu活用法のデモについて

2015年05月02日 21時17分15秒 | GPU


これは、ポスト処理をigpuで行いdgpuの負荷を軽減しようと言うものですが、
絵を見ても分かるとおり、1フレームあたりの処理時間自体は増えています。
(遅延が大きくなっている)
ポスト処理をigpuに任せるため、dgpuは少しはやめに次のフレームに取りかかれるため、フレームレートはあがります。
(スループットがあがる)
ですが、遅延が大きくなるため操作がシビアなFPSや、格闘ゲームなどには向かないのかもしれません。

igpuとdgpuの性能が大きく乖離しているため、AFRやSFRなどは現実的ではありません。
また、これらの方法を使った場合、igpu側もdgpuと同じデータを持っている必要があり、メモリを圧迫する割に性能向上に繋がらず望ましくありません。

ポスト処理であれば、dgpuで処理したフレームの画像データだけを処理すればよいので、
転送されるデータも画像データのみとなり、メモリも圧迫されません。

きわめて現実的な落としどころでは有ると思います。

nvidiaの将来的なGPUについて

2015年05月01日 15時30分53秒 | GPU
将来的なnvidiaのGPUのキーポイントは、無駄な処理をしないということです。
概ねは下記記事の内容にある通り。

http://news.mynavi.jp/articles/2014/12/16/sc14_exascale/

GPU自体の改良ポイントとしては

・warp幅を小さくして無駄をなくす。
・無駄なレジスタの読み書きを行わない
・レジスタファイルの階層化

とあります

wapr幅に関しては下記の42ページ目には更にscalarizationという言葉があり
スレッド幅を1にしたものもあります。
http://www.cs.colostate.edu/~cs575dl/Sp2015/Lectures/Dally2015.pdf






これらの元になってる論文等はだいたい2011-2013年に書かれたもので
下記のような名前で何度となく発表されているようです。

「A Hierarchical Thread Scheduler and Register File for Energy-Efficient Throughput Processors」
「Convergence and Scalarization for Data-Parallel Architectures」

概略はレジスタファイルにキャッシュを設け、より小さな電力で読み書きする。
2段階のスケジューラを設け準備のできた小さなwarpから順次処理を行うことでレイテンシを隠蔽する。

これらの処理はコンパイラレベルで行われるとのことで、ソフト処理になります。
おそらくは統合されたCPU coreで処理するものと思われます。
denverはもともと、これらの処理用に開発されました。

期待外れ

2014年02月02日 11時13分32秒 | GPU

低レベルapiで期待されいたamdのmantleだが、思いのほか効果が無いようだ。

http://m.pclab.pl/art55953-3.html

たしかに低性能cpuではネックは解消されているようだが

いわゆるゲーミングpc向けの高性能cpuではdirectxを使用したgeforceに及ばない。

結局amdの当社比の改善でしかないのだ。

もともと、radeonはgeforceよりも何やら遅延が大幅に大きく、それが低レベルapiのおかげで解消されたということのようだ。

Draws

geforceはdirectxでもcpu性能に比例してパフォーマンスが出るようで

こんごcpuを内包する世代になったならば、さらにパフォーマンスが上がる。

しかも特殊な独自apiを必要とせず、開発者の負担はない 。


tegra k1について

2014年01月13日 20時40分59秒 | GPU

nvidiaが発表した次世代tegra、K1
これのおもしろいところは、Kepler世代の192SP GPUもだが
目下、私の興味は後期バージョンのK1にのるCPUである、Denver
噂ではVLIWでbinary変換、コードモーフィングとのこと
昔トランスメタのあれに似ている
思えばVLlWをしようしたCPUで成功したものの記憶がない
Crusoe Efficeon Itanium、GPUでも汎用演算のためにVLlWを捨ている
なぜそんなものを?

一つ目は当初×86互換を目的としていたもので、それを流用したという
二つ目は消費電力で、複雑な回路のフロントエンドがないので低電力となり、モバイルはもとよりスパコンでもゆうりとなる
三つ目はGPUとの連携

完全に想像となるけど、nvidaとしてはこれが本命では?と思う
想像するに、ARMの命令を変換するさいにGPUに有効なものがあれば、GPU命令に変換しGPUで処理するように出来るのではないか?
そうするとプログラマーはGPUを特に意識しなくても、GPUを使えることになる
余計なフレームワーク、中間コードも不要
当然CUDAもつかえる
maxwell世代のGPUでフロントエンドとして使われる物でもあるし(ってかこっちが本来の目的か?)
いずれにせよGPUはかかわってくるはずだ

VLlWで問題となるのはコンパイラのできだが、これもあまり心配しなくともいいかもしれない
トランスメタの技術者を取り込んだという話がいぜんあったし、PGIを買収してもいる
mike houstonもいるしメモリ階層の最適化も問題ないのかも知れない