Youtubeのホーム画面で「さつまいもの物置部屋。」さんの動画「GPUの歴史シリーズ 総集編【ゆっくり解説】」がレコメンドされる。「GPUの歴史シリーズ」はリアルタイムで既に観ていたから流そうかとも思ったが、「なんと総集編とな!」、と言うことで拝見。「等速で観ているだけで視聴者の貴重な人生から約1時間を奪っていく(気づくと奪われていた!)」という凶悪?とも言える大作である。
で、動画を拝見しながら思ったのが、「自分はどんなGPU(およびグラフィックアクセラレータチップ)を使ってきたのかな」だった。と言う訳で、まだ病気療養中なれど多少の体調改善が見られてきているので、自分の記憶を探りつつ文章を紡ぐ、と言う健康ならなんてことないんだけど現時点では地味にキツい負荷を自らに課してみようと思う。ただほぼ30年間にわたる話になるので、適宜ネット上の情報でチェックはするものの、記憶違いや勘違いが含まれているだろうことは明記しておく・・・ごめんなさい。
「こんなエントリ、誰が読むのか?」との疑問はごもっとも。本エントリは誰にも読まれなくても良いんやで。
さて、時代は90年代初頭、バブル崩壊直前のことである。私の部屋の机上にはNEC PC-9801DXがあった。本機、後に沖縄方面にドナドナされる。CPUはintel 80286 10または12MHz(スイッチ切替)、グラフィックは内蔵チップによるアナログ16色・640×400ドットだった。バブル崩壊後、EPSON PC-486(詳細型番失念)を購入。この時期にしてPCIバスを備えながら、コネクタの形状、寸法は独自規格と言う困ったチャンだった。CPUはIntel 80486DX4 100MHzとパワーアップされるが、グラフィック性能はNEC PC-9801DXと変わらなかった。そしてここまでは、正直のところPCとは和エロゲー専用機だった。若かったんやでしゃーない。
転機はMicrosoft Windows 3.1(3.0ではない)の登場とAT互換機の日本への本格上陸(≒DOS/Vの登場)で訪れた。まず、前者はNEC PCおよびEPSONの互換機向けにグラフィックアクセラレータなどと呼ばれたグラフィックカード製品を生んだ。その一つが「I-O DATA GA-1280A」である。チップは「I-O Data ZF-16」で、16bitカラー(65,536色)・1280×800ドットをサポートし、Windows 3のグラフィック描画サブシステムであるGDIをアクセラレートする。加えて対応したゲームなら、DOS環境からでも利用できる。16bitカラーやMacやPCで絵を描いたことがある人には分かってもらえると思うけど、人間の目の色の分解能はやっぱりすごいね。16bitカラーなんて色数としては十分じゃない。
さて、
このカードを使って遊んだゲームの代表としては、カジュアルコンバット3Dフライトシミュレータである「ストライクコマンダー」がある。辛い点は拡張バス(Cバス)が16bit幅と狭いため、16bitカラー・1280×800ドットだとフレームを下から上へと(Bitmapデータの並び順)1ライン単位で書き換えている様子が分かってしまうところだ。おそらく6~8フレーム/秒ぐらいのフレームレートしか出ていなかったろう。だが、色数、画面解像度の向上(とCバス用サウンドブラスターの追加によるオーディオ機能の画期的レベルの向上)の魅力は余りに大きく、「Windowsに進むにしても(実はMacintoshユーザでもあった)ゲームをやるにしても、次に買うのはAT互換機だ」との意を強くした。
そしてAT互換機が本格上陸、国内でも流通し始める。加えて職場には元々米国製機器が多かったため、制御用としてAT互換機を普段から触る機会が多かった。あまつさえそのころには、勝手にLANケーブルを張り、昼休みにはFPSの「DOOM」の対戦プレイまでするようになっていたのだ。ちなみに会社のAT互換機でメジャーだったグラフィックチップは「S3 Trio 32」だった。
初AT互換機(以下、PC)はプロサイドのBTO機で、CPUはIntel Pentium 100MHz、グラフィックチップは「S3 Trio 64」だった。まだ駅前に大きな駐車場があったころ、同期入社の同僚と車で秋葉原まで出かけての購入である。購入タイミングは実はPentium 120MHz発売の翌週で、予算的理由から一種の型落ち品を選んだ形となった。S3 Trioシリーズにはドライバも含めて優等生的な印象がある。ドライバのサイズが小さめでロード時のメモリ使用量が少なく、それだけゲームにメモリを割り振りやすかった。また同時に購入したゲームは、FPSの「DOOM II」、コンバットフライトシミュレータの「TFX」だった。その後もVGAの海外製ゲームを多数プレイした。あ、当時としては基盤がめちゃでかかったISAバス用サウンドカード「Creative Sound Blaster AWE32」もPC購入の同日に別途購入した。
ちなみにマザーボードはASUS製だった。「エイサス」やで、「アスース」ってなんやねん。あ~今は「エイスース」なんか。
90年代も後半に入るころ、「Geocities」などのホームページ、今で言うところのウェブページの無料ホスティングサービスが普及し始めた。趣味のページを立ち上げてみたりしつつ、タブレットで絵を描く機会が増えた。そこで憧れの「MGA-2064W」チップを用いた「Matrox Millennium」を購入した。正直お財布には厳しい買い物ではあったが、評判通りの発色の良さ、色にじみの無さに大感激したのは忘れられない。こいつは傑作だ。一方、このころに一旦PCでゲームをしなくなるが、それはSEGAとかSONYの所為である。
さて、再びPCでゲームをし始めたのは、アクションゲームの「Tomb Raider」、FPSの「Quake」、コンバットフライトシミュレータの「Eurofighter 2000(EF2000)」の登場による。これらの共通点は何だろう?そう、3dfx社のゲーム向けOpenGLサブセットであるグラフィックライブラリGlideに対応させるパッチが早々に公開されたVGAグラフィックスのゲームだ。そして私のPCのMillenniumの隣の拡張スロットには、すぐさま「Voodoo」チップを積んだ「3dfx Monster 3D」が刺さる。ちなみにMonster 3Dはゲーム以外に用途が無いのだが、Glide登場時の衝撃は余りに大きく、パッチを当てたゲームの見栄えやフレームレートは別物という価値は何物にも代えがたかった。
Voodooは今でもお気に入りのチップと言って良いのだが、結局Monster 3Dカードは更新されなかった。3dfx社の迷走も原因だが、Microsoft社のDirect3Dの普及、高機能化と、所謂GPUの登場が止めとなった。例えば「EF2000」のアップデート版「Super EF2000」はDirect3D対応のWindows専用版として登場し、「nVIDIA GeForce2 MX」上で快調に動作した。ここで唐突なGeForceの登場となったが、これはWindows98からWindows2000への移行と機を同一として新PCを自作した際、既存パーツがほとんど引き継げなかったことに起因する。最近は落ち着いているけれど、このころはグラフィックカード用の拡張バス含め、様々な規格が頻繁に更新されていたのだ。AGP!、AGPって何だ?引き継げたのは、おそらくフロッピードライブぐらいだったのではなかろうか。
ところで「nVIDIA GeForce2 MX」については特に思い出がない。繋ぎのつもりで中古品を使ったことや、特にトラブルを経験しなかったからだと思われる。では、繋ぎの先として何を予定していたのか?そう、nVIDIA社に吸収された元3dfx社チームが開発を主導したとされるGeForce FXチップ使用のカードであった。「Voodooの夢、再び」・・・の筈だったのだが、最初の「nVIDIA GeForce FX 5800」は有名な「爆熱爆音」チップとなり、さすがにこれは購入を躊躇せざるを得なかった。結局「nVIDIA GeForce FX 5900 Ultra」チップを用いたMSI社のカードを導入したのだが、ハードとしての性能的なリープ/ジャンプは常識的な範囲に収まっており、「Voodooの夢、再び」とはならなかった。ただ発色は良く、色にじみも無く、画質には文句なかった。そして再びPCでゲームをしなくなるのだが、おそらくインターネットへの接続コストが低下して所謂ネットサーフィンしている時間が伸びたことと、仕事が忙しくなったことが原因ではなかったかと思う。
件の「nVIDIA GeForce FX 5900 Ultra」のカード、結構長く使っていたのだがゲーム用途では使っていなくてもやっぱりファンが五月蠅めではあった。その後会社の後輩から貰った中古の「nVIDIA GeForce 6800 GT」チップ使用のカードを経て、「nVIDIA GeForce GTX 640」チップ使用のカードに落ち着いた。これはもうゲーム使用を考えてはいない選択だ。「五月蠅いのは嫌、追加電源は嫌」と言った意思が透けて見えるではないか。チップのアーキテクチャーも電力効率重視のKeplerである。
ここで何度目かの転機が来る、趣味の3Dモデリングの本格化だ。
対象となるアプリケーションは「Newtek Lighwave3D」だ。3D描画速度命っぽいアプリなのでGPUにも投資すべきと考えるだろうが、それは半分正しく、半分間違っている。この種のアプリではDirect3DよりもOpenGLでの描画性能が重要で、nVIDIA社製品なら「GeForce」シリーズではなく「Quadro」シリーズのチップを積んだカードを選ぶのが正道と言える。だが、「Quadro」シリーズはめっちゃ値段が高い。次いで、3Dモデリングでの3D描画は間欠的、部分的であり、高フレームレートで常に画面全体が再描画され続ける3Dゲームとは描画挙動が異なる。故に、当時は3Dモデリングのために高価なゲーム向け高性能カードを選ぶことは、コストパフォーマンスが決して良いとは言えなかった。アプリの設定でチェックを一つ外すだけで、数万円高いカード使用時よりも動作が軽くなるとなれば、色々考えてしまう。もちろん、高性能カードの方がモデリング作業のストレスが小さいことは認めるし、性能が低くても問題無いといっても限度はある。
ただこのころから多くの3DアプリがCUDAコアを描画以外の用途で積極的に使い始める。指数演算が速かったからだ。別の言い方をすれば、PCでもGPUコンピューティング的な使い方がされ始めたのだ。ならば、電力効率やメモリ帯域幅、CUDAコア数などでGPUを選ぶと言う考え方も有りとなる。3DMarkのスコアでは直接見えない指標だ。「nVIDIA GeForce GTX 640」はCUDAコア数的には大いに見劣りするものの電力効率は高く、CUDAコアの利用が始まったばかりの過渡期にはコストパフォーマンス的には(たまたま)悪い選択肢ではなかった。
ここで「(CUDAコアの無い)AMD(ATI)のGPUはどうなの?」と思った方も多かろう。はっきり言って、上記の視点からはAMD製品は選択肢になり得ない。この分野はnVIDIAの一人勝ちだったのだ。あと、そうでなくてもAMD(ATI含む)のGPUが出てこないことは気になっていたかもしれない。実はAMD(ATI)のチップは最初から選択肢としてこなかったの実態だ。理由は単純で、Windows3.1時代に仕事で使っていた会社支給PCのATI社のドライバの出来が余りに悪すぎて苦労したため、AMDを含めて印象が悪いのである。
より厳密に言うと、Windows3.1時代の経験からという今や不合理としか言えない理由によって、3Dゲームと言ったチップの最大性能を引き出すような尖った使い方ではAMD(ATI)製品は信用できない、と言うことだ。逆に、大解像度2画面でMicrosoft OfficeとメーラーとUnixサーバーを動かす、と言った業務遂行などで求められる緩めの条件下ではむしろAMD(ATI)のチップを選んできた。これはメモリ周りの処理がATIの方がnVIDIAよりも圧倒的にスマートで、かつ省電力で安かった時代(ただし性能も低い)の経験が尾を引いている。GPU予算をケチって、メモリ増やストレージ容量増に予算を振り向けられた訳だ。
次の転機はゲーム絡みである。SteamでDOS時代の古いゲームを漁っていたところ、Ubisoft社の「Farcry 3」が大幅値引きされて売られているのに出くわした。「FPSもHalo以来だねぇ」などと思いつつ気軽に購入ボタンをぽちったのが、今回のその転機ってやつである。結論から言おう。
「Farcry 3」は面白かった、来月発売の「Farcry 4」も買おう。そして「nVIDIA GeForce GTX 640」は能力不足も甚だしい。ここでは関係ないけど便乗しておくと、「Farcry 5」は完全なる糞だ。
で、会社の後輩に「どうしよう?」と相談したところ、後輩が余らせていた「nVIDIA GeForce GTX 960」チップを積んだカードを、翌日の朝、オフィスの私の机の上に不法投棄してくれることになった。翌日回収されたカードは、さっそく私のPCで再利用されることとなる。気が付くと、3DCG業界の定番ツール、アプリのCUDAコアの利用は一気に加速していた。またCPUの能力不足も顕著となり始めていた。
説明順が逆となったが、「Matrox Millennium」を使い始めるあたり以降からここまでのPCは全て自作機だった。ただ歳を喰ってくると、悲しいかな自作もちょっと面倒臭くなってくる。新しいBIOSも今ほど簡単に入手できなかったし、相性問題の情報も今ほど充実してないし、とにもかくにも「情熱とでも呼ぶべき何か」が要る。各種規格が乱立し、将来の主流規格が見えにくいとどうしても腰が重くなる。私の場合、メモリの規格にいまいち追いていけなくなった(≒記憶していることだけでは店頭で判断できなくなり始めた)のがきっかけと言って良い。その4年ほど前には5台のPCを自作、LinuxをOSにケルベロス型クラスターを独力で構成して仕事に使ってたのにね・・・ちゃんと通信頻度を考えて作ったプログラムによる並列計算はやっぱり速かったなぁ(遠い目)
と言う訳で、以降のPC本体は全てDell社のXPSシリーズとすることになる。昔からXPSシリーズのミソなのかクソなのか分からないところは、電源自体が悪いと思ったことは無いものの、電源容量に本当に余裕が無いことだ。このため、キャンペーン価格だとお得感あるぐらいの安めの価格で入手できる反面、電源容量的に無茶な構成への機器交換は最初からあきらめた方が良い。Dell社の「やや安かろう、やや良かろう」具合は、私の感覚では長期にわたり絶妙なところを突き続けている。
最後は駆け足で、特に面白い話も無いので、直近のDell XPSシリーズでのCPUとGPUの組み合わせの変遷を列挙しておこう。
- Intel Core2 Duo E6600 + nVIDIA GeForce GTX 960
- Intel Core i7-4790 + nVIDIA GeForce GTX 960
- Intel Core i7-4790 + nVIDIA GeForce GTX 970
- Intel Core i7-4790 + nVIDIA GeForce GTX 1070
- Intel Core i7-10700 + nVIDIA GeForce RTX 2070 Super
直近での「もう*TX *70で良いやん」という割り切り感が我ながら凄いですな。
ちなみに「nVIDIA GeForce GTX 960」はSONY PS2とともに自治体の電子機器類リサイクルボックスに行き、そのごく一部は東京オリンピック?!のメダルに含まれている可能性がある。「nVIDIA GeForce GTX 970」はオフィスの同僚の机上に不法投棄され、その後はその同僚の自宅にて暗号通貨のマイニングに短期間ながら従事したと聞く。「nVIDIA GeForce GTX 1070」は処分保留中であり、私の自室にあって最凶の鈍器のオーラを纏いつつ、モニタの前からすぐ手の届くところに現在横たわっている。特にバックプレートが頼もしい。
んじゃ、GPUと言えばやっぱり3DMarkベンチなので、結果が残っているものだけ。