CPUでのfp8の演算
fp8はGPU専用のデータ形式なので、CPUで扱おうとすると死ぬほど遅い、という話を見かけた。確かに普通のCPU (x64など) では、fp32はCPUが演算命令を持っているが、fp16/bf16/fp8を扱う命令はない。だから、これらのデータ形式をCPUで扱う場合は、いったんfp32に変換 (ソフトウェアで処理して、20命令くらい?) してfp32で演算し、結果をまた変換する、という感じになっているようだ。
でも、よく考えてみると、fp16はともかく、fp8というのはたかが1バイト。fp8同士に四則演算なんかはそれぞれ64KBの表にしておけば、素朴にやっても3命令で演算できる。この表も2次キャッシュなら乗り切っちゃうんじゃなかろうか。ちょっとした計算ならfp8のまま表引きで計算した方が速いんじゃないだろうか。
※ なんて、もう誰かが考えて試しているだろうと思って少し探したが見つからなかった。ちょっと記事を書く価値もないようなダメな案なのだろうか。
« 画像生成AIで遊んでいる人の役にたつかもしれません | トップページ | ZIPフォルダーからのドラッグ・アンド・ドロップをWPFアプリで受け取る »
« 画像生成AIで遊んでいる人の役にたつかもしれません | トップページ | ZIPフォルダーからのドラッグ・アンド・ドロップをWPFアプリで受け取る »


コメント