Coelacanth's Dream

GPUOpen はオープンであり続けるか?

AMD が取り組む、PCゲーマーにゲームのグラフィック向上と快適動作を提供するためのオープンソースプロジェクト、GPUOpen
その成果を発信する公式サイトが公開から4年近く経ち、2020/05/11 にリニューアルされた。
しかし、それから新たにリリースされた CPU + GPU 環境のための光の交差計算用ライブラリ、RadeonRaysのバージョン 4.0 は、従来行なってきたオープンソースでの提供ではなく、コンパイル済みのバイナリのみというクローズドソースでの提供するというものだった。
そのことが一部ユーザー間で話題となり、“炎上"のような状態となった。

GPUOpen

GPUOpen は 2016年、Polarisアーキテクチャ 採用GPUの発表と同時期に開始され、これまでに、

等を提供してきた実績がある。

オープンソース……?

しかし GPUOpen と言っても、上記すべてがオープンソースという訳ではなく、Radeon™ GPU Profiler、それとつい最近リリースされたRadeon™ Memory Visualizerはバイナリのみのクローズドソースで提供されている。
Plans to make source available ? · Issue #1 · GPUOpen-Tools/radeon_gpu_profiler

これは理由として、ライブラリやSDKよりもオープンソースで提供する意義が薄く、AMD も企業として活動する以上、隠しておきたい情報が含まれるといったことが考えられる。
それでも GPUOpen は GPUOpen であり続けてきた。

再度オープンソースに

RadeonRays 4.0 がクローズドソースになることがユーザー間で話題となり、“炎上"が巻き起こった後にAMD は動いた。

RadeonRays 4.0 のリリースから2日後に、開発者の yozhijk(Dmitry Kozlov)氏は、社内で話し合った結果として、再度オープンソースにするとコメントした。

Hi guys, Thanks for still being with us and for the feedback you have provided so far. It has been decided yesterday to open-source most of RadeonRays4 and put AMD specific IP in closed-source modules (source will be available upon request under SLA).

-Dmitry

引用元: https://github.com/GPUOpen-LibrariesAndSDKs/RadeonRays_SDK/issues/206

これでめでたしめでたしとは思わない。

AMD はユーザーからの反応に良くも悪くも敏感な所がある。
2018年年初、最新ドライバーを導入すると DirectX 9 を用いるゲームが動作しなくなる問題がコミュニティで上げられ、話題となった。
最初、AMD のエンジニアはこの問題に対し、「そのような古い(10年近く前)ゲームにエンジニアリングリソースを割くことはない」、と発言した。
それが炎上を呼び、後にドライバー担当責任者はバグを修正することを明言し、実際に修正されたバージョンがリリースされた。
参考: 古いDX9タイトルが動作しない問題にひとまずの対処を行った「Radeon Software Adrenalin Edition 18.1.1 Alpha」が登場 - 4Gamer.net

この件は、ゲーマーという立場で直面した問題であり、DirectX 9 ゲームを AMD GPU環境でプレイしたいユーザーにとってはクリティカルな問題であった。
問題の解決は歓迎すべきことだろう。
それと同時に、古いゲームのサポートの代わりに新しいゲームへの最適化が進むとなれば、それもまたユーザーにとって悪い話ではないはずだ。

ただ、ユーザーからの反応を見て、どうするのが得か AMDは考え、行動に移した。
今回もそうだろうか? いやユーザー、ゲーマーへの直接的な影響は限りなく小さかったはずだ。

かつて、Linux Kernel の開発者であり優しい終身の独裁者を務める Linus Torvalds氏は NVIDIA に対し中指を立てた。
これは Linuxユーザーからの「NVIDIA はオープンソースドライバー出してくれず、ドキュメントも整備されていないが、あなたはどう思う?」という質問に対し、開発者として回答したものだ。
Linus Toravalds氏のパフォーマンスとも呼べる行動は話題となり、それから NVIDIA は態度を改め(?)、サポートを強化する旨の声明を出し1、2019年にはドライバーの開発に必要な GPU の BIOS情報、電力管理機能やディスプレイ周りの情報を公開する、NVIDIA open-gpu-doc repositoryを立ち上げている。

これは Linuxユーザーの、そして開発者にとっての問題だったと判断できる。

しかし、今回の件はどういった立場のユーザーにとっての問題だろう。そしてどういったユーザーに得となるのだろう。
RadeonRays を利用したソフトウェアを開発している開発者だろうか?
それに対しては、AMD のあるスタッフが関連した Reddit のスレッドにて、問題なく開発者は利用し続けられるとコメントしている。そして旧バージョンは引き続き MITライセンスの元、オープンソースで公開されるとも。
https://www.reddit.com/r/Amd/comments/gkbsoy/it_appears_that_amd_is_going_to_open_source_most/fqqm78b?utm_source=share&utm_medium=web2x それに Githubレポジトリでリリースされるため、開発者への質問は直接、オープンで行なえる。
変わらず、GPUOpen であると言えるはずだ。(これは冗談のつもりです)

自分なりの結論としては、オープンソースであることに対する AMD とユーザーの評価のギャップだったと考えている。

GPUOpen 内の Radeon Rays のページで、バージョン 2.0 と 4.0 の比較で、Open Souceの項目に 2.0 では良い印象を与える黄緑色のチェックマークを、4.0 には悪い印象を与える赤色のバツマークを付けている。
このことから、AMD はオープンソースであることがアピール点になると考えていることがわかる。
ただ、どれだけのアピールとなるか、なっていたかの評価が、ユーザーに比べると小さかったのだ。
もしかしたらユーザーは具体的にどういった恩恵を享受できるかに拘らず、オープンソースであること自体を評価していたかもしれない。
そして、ユーザーは評価していたオープンソース・ソフトウェアがクローズドソースになるという報を聞き、
今後同様に他のソフトウェアがクローズドソースになることを危惧した。
それが反感へと繋がり、“炎上"が起きることとなった。

これからも GPUOpen は"変わらず"オープンであり続けることだろう。
しかし、一度オープンソースにしたことで企業としての理屈に則る一貫した行動を取りにくくなることは、AMD にちょっとした後悔と方針の変化を与えることとなるかもしれない。

参考リンク