ROCmおじさんおおいにキレるの巻

自作自演と呼ばないで。 深夜@kz_lil_fox氏が検索で見つけた発言に垣間見られる技術的な誤解やら何やらをまとめました
テクノロジー tensorflow deeplearning GPGPU
0

きっかけはこんな投稿に噛み付いたところから

こぎつねまる @kz_lil_fox
twitter.com/dcominottim/st… What makes you say "AMD is years behind"? If you means you said because "tensorflow-gpu cannot run on AMD gpu!", the time ammending the gap would never comes unless the assembly API on AMD becomes exactly the same as the NV's ptx…

ROCmおじさん、キレだすの巻

こぎつねまる @kz_lil_fox
(こういう人たちの言う、years behind ってどこまでやれば良いんだろう…pipでインストールできる段階では不十分なの?
こぎつねまる @kz_lil_fox
tensorflow-gpuというPython packageにおいて、gpuのシンタックスシュガーが付いたものがnvidia ハードウェア+CUDA APIでコンパイルされてる以上、gpu向けのコードは完全にnv用の機械語としてコンパイルされているわけであってなぁ
こぎつねまる @kz_lil_fox
と言う事は、ここで言うyears behindが埋まる事なんて機械語単位か、あるいはアセンブラ単位の命令でnv ptxとaMD spir-vが互換とならない限り「一生来ない」事だろうに
こぎつねまる @kz_lil_fox
なんと言うか、先行を褒め後続を腐すにしてももう少し「フェア」にやりません?となる
こぎつねまる @kz_lil_fox
外国人ニキに「tensorflow-gpuがAMDで動かないのは、機械語アセンブラレベルのところでNV向けにコンパイルしているからであってAMDのせいじゃねぇ、それをAMDが劣ってる理由にされても困る」と言っても全然通じないで困る…
こぎつねまる @kz_lil_fox
なんで「tensorflow-gpuインストールしてもlinuxのAMDgpuで動かんの」と言われても、そりゃそのパッケージが提供してるのはPythonのAPIだけでは無くてstreamexecuterやXLAといったSIMD命令実行環境輪やJITコンパイラも提供しているが、それは既に指定されたCUDA APK向けの機械語へコンパイル済みで…
こぎつねまる @kz_lil_fox
「オフィシャルのPIPYパッケージで走らないから劣ってる」論理が通じるなら、CSBのみで提供しているMKLやpower向けも、更には当該TFが実行できないCUDAのバージョンまでも劣っているという理屈になるんだけど、わかっているのだろうか?
こぎつねまる @kz_lil_fox
つうか、tensorflowのstreamexecuter/gpuにしろXLA/gpuにしろ基本的にgpuの抽象クラスからは一種類を排他にしか扱えないから、gpuのデバイスメーカーおよびドライバのAPIについては決め打ちしか出来ない仕様なところな訳で、それをAMDが劣っている理由にするか?
こぎつねまる @kz_lil_fox
何だろう、PYPIでのtensorflow-gpuがCUDAのマイナーバージョンすら吸収できないの「AMDのGPUでtensorflow-gpuが動かないからAMDはクソだ、遅れてる!」と言われてもお前何言ってるんだよ、という気持ちとともに怒りが鬼なるよね?

x吸収できないの→○吸収できないのに、

こぎつねまる @kz_lil_fox
それは tensorflowのGPUアブストラクションか PYPIの仕様が クソなんだろ?
こぎつねまる @kz_lil_fox
「何に怒っているの?」とコンピュータ分からない家族に聞かれたら「対応電圧、電流が同じ家電でコンセントの規格が違う点で『劣ってる』というもの」と答えた
こぎつねまる @kz_lil_fox
術的に正しい事で批判するならそりゃ良いけどさ。「疎行列遅いからRNNとかCUDAよりおせぇ」とか
こぎつねまる @kz_lil_fox
(ユーザーから見えているAPIは同じでも、コンピュータ側から見えてるInstruction Setは別だし、それをコンパイル後スイッチ出来ないのなんてAMD側の咎でも何でも無いじゃん…
こぎつねまる @kz_lil_fox
Cudaがデファクトだから、それに対応できないAMDは遅れてる」っていうなら、Cudaがデファクトになって更に差を開けられたくないからこそCuda 8.0方言の言語を作ってほぼ同等の開発環境を提供しようとしている訳だし、Cuda向けにコンパイルされたものが動かないのは命令セットの仕様上当然じゃん…
こぎつねまる @kz_lil_fox
「なんでCPUだとAMDはIntel互換(実態は64ビットに関しては逆)なのにGPUでそれができないんだ」と言われてもCudaの出力する命令セットは基本PTXだしな・・・ライセンスの問題で、それにAMD側が合わせるなんて出来るんかい?
こぎつねまる @kz_lil_fox
(AMDもTensorflow-gpuでアクセスできるようにすることを誰も妨げてない、とは言うけれどStreamexecuter/gpuにしろXLA/gpuにしろアブストラクションの先のデバイスインターフェイスについて排他なのはGoogle側の仕様であり、それに対して破壊的な改修をする事はGoogleのTFチームが拒否した記憶が
こぎつねまる @kz_lil_fox
(それを変えるって、つまりはまるまる一つ新しいフレームワークを作りなおすって事になる訳だけれど、それって誰も得しないよね?
こぎつねまる @kz_lil_fox
(CudaがデファクトになったからAMDは遅れてる、まで言うのだったらそれは噴飯ものっていうかそれは「生まれた時からNV様の陰に生きる運命なんだ」的なアレよね
こぎつねまる @kz_lil_fox
(ついでに言うとInternallyにはHIPに既に完全に対応しているわけで。Tensorflow-gpuのプレビルドパッケージの仕様上、StreamExecuterやXLAが特定のCudaバージョンでコンパイルされている故に使えないだけで
こぎつねまる @kz_lil_fox
なんと言うか ・Tensorflow-GPUでAMDが使えないのはAMDの後進性だ!>GPUデバイス抽象から排他で一つのGPUドライババージョンしか使えないTFの仕様です ・AMDのソースコードってTFに入ってないじゃん>入ってます。PyPIのはCudaでビルドしてるからアクセスできないだけで ・Condaにない!>Pip使え
残りを読む(4)

コメント

コメントがまだありません。感想を最初に伝えてみませんか?

ログインして広告を非表示にする
ログインして広告を非表示にする