世界を動かす技術を、日本語で。

FP64セグメンテーションの15年と、なぜ「Blackwell Ultra」がそのパターンを打破するのか

概要

  • NVIDIAのGPUにおけるFP64(倍精度)性能の歴史的変遷 の解説
  • 市場セグメンテーション戦略 としてのFP64制限の意図
  • AIブームによるFP64性能の重要性低下 とFP64エミュレーション技術の台頭
  • 最新世代GPUでのFP64削減と低精度計算強化 の動向
  • 今後の市場分断の軸がFP64から低精度演算へ移行中 である可能性

NVIDIA GPUにおけるFP64性能の歴史と市場戦略

  • RTX 5090は 104.8 TFLOPSのFP32演算性能1.64 TFLOPSのFP64性能 を持つGPU
  • FP64:FP32比率は1:64、この大きな差は 技術的制約ではなく意図的な市場分断策
  • 2010年Fermi世代から 消費者向けとエンタープライズ向けGPUでFP64性能の差 が拡大
    • Fermi(2010年): 1:8
    • Kepler(2012年): 1:24
    • Maxwell以降(2014年~): 1:32~1:64
  • FP64性能の成長は15年で約10倍、FP32は 約78倍へ大幅成長
  • 消費者向けGPUは主にゲームや映像編集用途 でFP64不要
  • 高性能計算(HPC)や科学技術計算 ではFP64が必要不可欠
  • FP64性能を制限することで、エンタープライズ向けGPUの高価格を正当化
    • ECCメモリ・NVLink・サポート契約なども差別化要素
  • 2017年、GeForce EULAでデータセンター利用を明示的に禁止
    • 従来の技術的な分断から 契約上の分断へ

AIブームとFP64エミュレーション技術の進化

  • AIの大規模学習ではFP64はほとんど不要、FP32や低精度(FP16, BF16, FP8, FP4)が主流
  • 消費者向けGPUでもAI用途で十分な性能 を発揮可能
  • FP64エミュレーション (1971年Dekkerの論文が起源)
    • 64ビット値を2つの32ビット値に分割して扱う手法
      • 精度は53ビット→48ビットへ低下
      • 速度はFP64専用回路より高い場合も
  • Ozakiスキーム (行列積専用、FP64精度を維持しつつ低精度Tensor Core活用)
    • FP64値を複数のFP8値に分割して計算し、最終的に合算
    • Tensor Coreの高速性を活かしつつFP64精度を確保
    • 2025年10月cuBLASで公式サポート

最新世代GPUと今後の市場分断

  • NVIDIA Blackwell Ultra世代B300ではFP64:FP32比が1:64へ大幅低下
    • B200の37TFLOPSからB300の1.2TFLOPSへFP64性能が大幅減
    • NVFP4 Tensor Core等、低精度演算ユニットが主力
  • エンタープライズGPUでもFP64専用回路の縮小が進行
  • FP64エミュレーションは今後も継続的に活用される見込み
  • NVIDIAはFP64計算自体の廃止は否定、今後も改良を予定
  • 今後の市場分断の軸はFP64からFP16/FP8など低精度演算比率へ 移行する可能性
    • RTX 5090はFP16:FP32=1:1、B200は16:1と 新たな差別化ポイント が誕生

参考文献・出典

  • AnandTech: GTX 480/470 FP64比率解説(アーカイブ)
  • NVIDIA Ampere GA102 GPUアーキテクチャホワイトペーパー
  • Alibaba Product Insights: A100 vs RTX 3090比較
  • Wccftech: 2017年GeForce EULAデータセンター制限
  • T. J. Dekker(1971年)double-float arithmetic論文
  • Andrew Thall(2007年)GPU向け拡張精度浮動小数点論文
  • Ozakiら(2011年)行列積の誤差なし変換論文
  • NVIDIA公式ブログ(2025年ISC、cuBLASエミュレーション解説)
  • HPCwire: NVIDIAの64ビット計算継続方針(2025年12月)

Hackerたちの意見

NVIDIAの成功が予想外の方向から来ているのは本当に驚きだよね。最初はグラフィックスチップを作るために始まったのに、消費者向けとプロ向けの違いはCADサポートやゲームが使わないオプションのOpenGL機能に過ぎなかった。プログラム可能なシェーダーはグラフィックスレンダリングのニーズのために追加されたけど、結局はGPGPUの概念を生み出すことになった。NVIDIAはCUDAを作ってプロモーションすることで、これにうまく反応したんだ。GPUがFP64機能を持っているのも、GPGPUが始まった頃は伝統的なHPCワークロード、つまりPDEの数値解法が中心だったからなんだよね。数年後、暗号通貨ブームがあって、GPUの価格が何年も上がったけど、浮動小数点機能には全然影響しなかった。今や、FP64は機械学習のおかげで出てきたけど、これはCUDAが始まった頃とは全然違う分野だよね。NVIDIAは歴史の中で運が良かったけど、新しいワークロードやユースケースにうまく対応してきたのも事実。ただ、その変化が既存の戦略やロードマップをひっくり返す awkwardな瞬間もあったよね。

それに、セガに助けられたこともあるんだ。ドリームキャスト用のコンソールGPU(NV2)を約束してたのに納品できなかったとき、当時のセガのCEO、入交昭一郎が現金を持たせて株と引き換えにしたんだよね。これがなかったら、Riva 128が状況を変える前にNvidiaは破産してたかもしれない。セガのコンソール部門は潰れたけど、あまり関係なかったかな。でも、彼らはその株を約1500万ドル(3倍)で売ったんだ。もし持ってたら、ジェンセン・ファンはそれが1兆ドルの価値になるって推定してたらしいよ。明らかにセガ、特にそのコンソール部門はVCにはあまり興味がなかったけど…俺の夢は、もしセガとNvidiaが一緒にやってたら、Nintendo Switchの代わりにSega Tegra Shieldがあったらどうなってたかってこと!それに、もしセガがSteam Deckにライセンスを与えてたらどうなってたんだろう?俺がセガファンボーイなのは分かるけど、初めて持ったコンソールがメガドライブだったから、どうしてもそう思っちゃうんだよね! [0] https://www.gamespot.com/articles/a-5-million-gift-from-sega... [1] https://youtu.be/3hptKYix4X8?t=5483&si=h0sBmIiaduuJiem_

GPUの歴史はおかしいし、金融関係の人たちが動かしてる部分もあるよね。みんな、2012年にイリヤ・サツケバーがNvidiaのGPUでAlexNetを使って成功したときに、NvidiaがGPU AIブームを引き起こしたと思ってるけど、実は2004年に韓国の研究者たちが最初にATI Radeon(今のAMD)を使ってGPU上でニューラルネットワークを実装したんだよね。https://www.sciencedirect.com/science/article/abs/pii/S00313... ATIとNvidiaは2000年頃に最初のGPUを出すために競ってたのを覚えてるよ。ほんと、すごいスピードで色々起こってた。NvidiaはAMDがサーバーレベルや統合型ノートPCプロセッサーでIntelを狙ってたおかげで、ATIを買った理由にもなったんだ。

ほとんどの人は、NVIDIAがディープラーニングを見つけるまでにどれだけ多くの行き止まりのアプリケーションを探求してきたかを理解していないよ。それにはすごく時間がかかったし、運だけじゃなかったんだ。

これは運じゃないと思う。必然だったんじゃないかな。彼らは高性能コンピューティングに会社を位置づけたし、たとえ自分たちがHPC企業だと思ってなかったとしても、誰もがどんどん計算を増やしてたから、何かが起こるのは避けられなかったんだよね。それに、いつものように企業の欲が出て、うまく実行したんだ。よく位置づけられた企業の唯一のリスクは、時代の先を行きすぎること。正しい市場にいても、キラーアプリが出るまで生き残れないことがあるからね。

まあ、運もあるかも。でも、何かを徹底的に最適化して顧客の需要に応えると、お金が稼げるっていう原則もあるよね。Nvidiaは「うちはその市場にはいない」っていう罠をうまく避けたよ(電話、GPU、効率的なCPU)。Intelは大きすぎて利益も出てたから、隣接市場を育てるのが難しかったけど、Nvidiaはできる限りそれに応じて需要を増やそうとしたんだ。

逆に聞きたいんだけど、AMDはどうしてそんなに比較的悪いの?

FP64の性能は消費者向けでは制限されてるのは、アメリカ政府が核兵器研究に重要だと考えてるからなんだ。FP64のスループットがある閾値を超えると、そのチップは別のカテゴリーに入って、誰に売れるかや顧客確認の規制が厳しくなる。FP32はこの閾値には関係ないよ。https://en.wikipedia.org/wiki/Adjusted_Peak_Performance これは市場セグメンテーションの戦略じゃなくて、2006年から続いてることなんだ。毎年受ける輸出管理のトレーニングの一環だよ。

FP8やFP4などの輸出管理も含めてアップデートされるのが待ちきれないよ。ディープフェイク対策のために、急にますます強力な消費者向けGPUが買えなくなるなんてことになったらどうしよう。

これめっちゃ面白いね。理論的にはFP64をFP32の演算でエミュレートできる可能性があるから。だけど、Nvidiaは一般的に消費者向けGPUでFP64の必要性をあまり感じてなかったと思う。Ampere(RTX3090)のホワイトペーパーにも「FP64コードを含むプログラムが正しく動作するように、少数のFP64ハードウェアユニットが含まれている」と書いてあるし。2023年までの消費者向けGPUのAPP値をプロットした追加のグラフを作ってみるつもり。FP64の調整されたピークパフォーマンスの主張に意味があるかどうかを見てみたいんだ。ところで、これらの規制の下でGPUはベクトルプロセッサーとしてカウントされるか知ってる?定義によって重み付けが変わるから。 https://www.federalregister.gov/documents/2018/10/24/2018-22... 今のところ見つけたのは、Note 7に「ベクトルプロセッサーは、64ビット以上の数の浮動小数点ベクトル(1次元配列)に対して同時に複数の計算を行う組み込み命令を持ち、少なくとも2つのベクトル機能ユニットと、各64要素以上のベクトルレジスタが少なくとも8つあるプロセッサー」と定義されていること。NvidiaのGPUはワープあたり32スレッドしかないから、ベクトルプロセッサーにはカウントされないと思う(ちょっと変だけど、誰が知ってる?)。

この制限がまだ残ってるのは驚きだね。アメリカの核弾頭モデルの最新型は1970年代に開発されたもので、その頃のスーパーコンピュータの性能は1ギガフロップスにも満たなかった。アメリカが1992年に核弾頭のテストを停止した時、最上級のスーパーコンピュータは10ギガフロップス未満だった。アメリカの武器庫が必要とするのは、物理的なテストなしで老朽化した弾頭の挙動をシミュレーションするための速いコンピュータだけで、初めて核兵器を作る国には関係ないことだよね。

2019年のRadeon VIIについては、なぜかAMDがセグメンテーション詐欺を忘れて、ゲーム用GPUに本物のFP64を入れたことが言及されてないよね。この2023年のリストでは、FP64の性能が他の消費者向けGPUよりも圧倒的に速いんだ(エンタープライズGPUはリストに入ってないけど)。最後までスクロールしてみて。https://www.eatyourbytes.com/list-of-gpus-by-processing-powe...

それはRadeon VIIがAMD Instinct MI50サーバーGPUのただの残り物だったからだよ。

彼らは、消費者向けバリアントでスループットを1:2から1:4に減らすことで、軽いセグメンテーションを行ったんだ。これで人々に「プロフェッショナル」版を買わせようとしたんだね。スループットが減っても、Radeon VIIは前の最良のFP64製品であるAMD Hawaiiよりも若干良いパフォーマンスを持ってた。大きくて速いメモリのおかげだね。その後のNVIDIAやAMDの消費者向けGPUは、あんなに高いメモリインターフェーススループットには決して達してないよ。Radeon VIIは、FP64のコストパフォーマンスで長年チャンピオンの座を守ってる。私は2019年に買ったやつを今でも使ってるよ。昨年、Radeon VII以来、FP64のコストパフォーマンスが良いGPUが再登場したのは初めてだった:Intel Battlemage B580。残念ながら小型GPUだけど、それでもコストパフォーマンスは素晴らしい。

記事がコストを軽視してる理由が分からないな。例えば、X=GPU面積の10%(約75mm^2)がFP32 SIMDユニットに使われてるとしよう。FP64ユニットは約2〜4倍大きいと仮定すると、150〜300mm^2になる。これはGPUあたりの価格を上げるには大きすぎる面積だよ。これらの仮定に同意しないかもしれないけど、気にしないで変更してもいいよ。これはコアごとに複製されるオーバーヘッドなんだ。ゲーマーが使わない機能にお金を払いたいと思うわけないじゃん。市場セグメンテーションが行われてないわけじゃないけど、FP64のコストは高周波のシングルコアCPUの時代よりも、マッシブな並列プロセッサーでは高くなってるんだ。

ゲーマーが使わない機能にお金を払いたがる理由って何?明らかに誰も払いたくないよね。逆に、HPCの人たちがゲーマーに何かを強制的に払わせようとする理由は何なんだろう…そう考えると、ブログ記事の内容がすごく納得できる。

FP64ユニットは約2〜4倍大きいと仮定する。そんなの全然公平な仮定じゃないと思う。例えば、同じユニットで2つのFP32演算か1つのFP64演算ができるアーキテクチャを見たことがあるけど、純粋なFP32アーキテクチャに比べてオーバーヘッドは比較的低い。整数演算ユニットはほとんどそういう風に動いてるし、浮動小数点でもそれを実現するのは難しくない。FP64ユニットは巨大な単目的ブロックとして実装される必要はなく、実際そういうことはほとんどない。実際のハードウェア設計の選択は、FP32:FP64の比率を2:1や4:1にするか、FP64を全く持たずに消費者向けとプロ向けで全く違うコアレイアウトを設計するかのどちらか。FP64の機能を少し持つことの小さなオーバーヘッドは、GPUメーカーにとって多くの世代にわたって価値があると判断されてきた。今やNVIDIAがこんなに大きくなったから、「Blackwell」アーキテクチャの5つの異なる物理実装を見られるようになったんだね。

FP64ユニットは約2〜4倍大きいと仮定する。俺はハードウェアの専門家じゃないけど、知り合いの説明によると、2×f32のFMAユニットに1×f64の機能を追加するのはそれほど多くのハードウェアを必要としないらしい。すでにビットごとのロジックは全部あるし、いくつかのキャリーを伝播させるために追加の制御ラインを加えるだけで済む。だから、SIMDユニットにFP64を追加する際のサイズオーバーヘッドは、100〜300%ではなく、10〜50%くらいだと思う。

FP64ユニットは約2〜4倍大きいと仮定する。これは間違った仮定だよ。FP64は通常、2つのFP32と同じ回路を使っていて、追加するのはそれほど多くない(主に(非)正規化)。頭の中で考えると、オーバーヘッドは大体10%くらいだと思う。 > ゲーマーが使わない機能にお金を払いたがる理由って何? https://www.youtube.com/watch?v=lEBQveBCtKY FP80はFP64よりもさらに幅広いけど、ゲームの経路探索アルゴリズムに役立つみたい。何百ものユニットの経路探索はGPUに乗せる価値があるタスクだね。

10%って、ちょっとありえないくらい高いね。GPUでも、ほとんどの面積は様々なメモリやインターコネクトで占められてるし。

FP64ユニットは、ほとんどのFP32ユニットの2つを共有できるんだ。乗算器だけがかなり大きくて、最大4倍になることもある。シフターも最大で2倍大きくなることがある。加算器は、キャリー・ルックアヘッドネットワークが大きくなるため、少し大きくなる。だから、主に乗算器とシフターが占める面積を考慮する必要があるけど、それは10%よりずっと少ないと思う。面積は増えるけど、50%(300 m²)には絶対ならないよ。面積が10%増えるだけでも(例えば、最大GPUで60-70 mm²は信じられないほど大きい)、FP64/FP32のスループット比を1:2から1:4、せいぜい1:8に減らすことで、余分な面積は無視できるほどになるはず。1:8の安いIntel Battlemageは、この問題で苦しんでないと思うよ。古いGPUの1:16から最近のGPUの1:64までのさらなる減少は、市場セグメンテーションの欲望以外に説明がつかない。これが、小規模ビジネスや個人ユーザーをFP64サポートの高価格GPUを買える顧客から排除してるんだ。

NVIDIAが消費者向けハードウェアの所有者にデータセンターで使えないって言っても問題にならないなんて、マジでクレイジーだと思う。

私の理解では、これはヨーロッパでは強制力がなかったし、他の場所でもそうかもしれない。

彼らの失敗を願ってるけど、成功にも投資してるんだよね。

ずっと気になってることがあるんだけど、NVIDIAはHPCビジネスをどうするつもりなんだろう?HPCって、AIとは関係ないワークロード向けのクラスターのことね。別に対応するのか、それともFP64をエミュレートするだけって言うのかな?

Hopperは60 TF FP64、Blackwellは45 TF、Rubinは33 TFだね。NvidiaがFP64サポートを終わらせようとしてるのは明らかで、彼らが売り出してる話は、私が知ってる真剣な計算科学者は誰も信じてないよ。つまり、低精度の演算で高精度をエミュレートできるっていう話。例えば、これを見てみて:https://www.theregister.com/2026/01/18/nvidia_fp64_emulation... エミュレーションのアプローチは遅くて、エラーも多くて、FP64ベクトルには適用できず、行列演算だけにしか使えないみたい。

長い間、AMDはCDNA GPUでNVIDIAよりもはるかに優れたFP64性能を提供してきたんだ(これは古いAMD GCN ISAを引き継いでいて、ゲーム用GPUのRDNAとは似てない)。それでも、AMDのGPUは古い問題を抱え続けていて、ソフトウェアサポートが弱かったり、ドキュメントがイマイチだったり、プログラマーがアプリケーションを開発するために直接使える安価なGPUとのソフトウェア互換性がなかったりする。AMDが「データセンター」とゲーム用GPUのISAを最終的に統一するっていう約束はあるけど、いつ実現するかは不明なんだ。だから、彼らは大企業や政府機関向けの解決策にしかなってない。

AMD MI430Xがその市場を取ってるよ。

ダブルシングルでダブル精度を実装するのは、場合によっては解決策かもしれないけど、この記事はオーバーフロー/アンダーフローの問題に触れてないね。これは科学技術計算(HPC)では重要なんだ。この記事の方法だと、指数範囲はシングル精度と同じままで、ダブル精度の範囲にはならない。そんな指数範囲だと、オーバーフローやアンダーフローが頻発しちゃうアプリケーションがたくさんあるよ。これを避けるには、すべての式に慎重に選ばれたスケーリングファクターを導入する必要があるけど、その面倒な作業が浮動小数点演算の主な利点を奪っちゃうんだ。一般的な解決策は、3つの数値でダブル精度をエミュレートすること。2つのFP32で有効数字を、もう1つの数値で指数を表す。指数はFP数か整数かは、与えられたGPUにとって便利なフォーマットによる。この方法は可能だけど、エミュレートしたFP64のスループットとハードウェアFP32のスループットの比率がかなり低くなる。でも、その比率はベンダーが強制する1:64よりはまだマシだよ。それでも、今のところ小規模なビジネスや個人ユーザーは、FP64スループットでIntel Battlemage GPUを買うことで、はるかに良いコストパフォーマンスを得られる。これには1:8のFP64/FP32スループット比率があるからね。これは、NVIDIAやAMDのGPUでFP64をエミュレートするよりもずっと良いんだ。Intel B580は小型GPUだから、FP64スループットはRyzen 9 9900Xと同じくらいで、Ryzen 9 9950Xよりは少ない。でも、そのスループットをはるかに低い価格で提供してるから、9900X/9950XのPCから始めれば、Intel GPUでFP64スループットを倍増、またはほぼ倍増できるよ。複数のGPUを使えば、スループットも比例して増えるしね。悲しいのは、今のIntelのCEOやNVIDIAがIntelの株主であることから、IntelがGPU市場で競争を続けるのか、それとも放棄するのかが不透明なこと。そうなると、NVIDIAとAMDの思うがままになっちゃう。どちらも小規模ビジネスや個人ユーザー向けに良いFP64サポートの製品を提供しようとはしてないから。

そうだね、ダブルワード浮動小数点は通常の浮動小数点の多くの望ましい特性を失っちゃうんだよね。

まあ、それは確かにそうだね。FP32の指数部は11ビットの代わりに8ビットしかないから、これを明確にするために編集するよ。それに、NvidiaがOzakiスキームをどう扱ってるかも結構面白いよね: https://docs.nvidia.com/cuda/cublas/#floating-point-emulatio.... 彼らは一般的に、行内の最大指数に合わせて行のすべての数を整列させる必要があるけど、2つの数のスケールの違いによっては、仮数ビットの数を大幅に増やさないと実現できないこともあるんだ。だから、動的に(ダイナミック仮数制御)Ozakiのスキームを使うか、ネイティブFP64ハードウェアで実行するかを決めてるんだよね。あるいは、ユーザーに仮数ビットの数を決めさせる(固定仮数制御)こともできるけど、これは速いけどFP64の精度の保証はなくなっちゃう。

Blackwell U300とU200の比較表(FP64性能が-97%): https://www.forum-3dcenter.org/vbulletin/showpost.php?p=1380...