ZLUDA 6 リリース: 非NVIDIA GPU上で修正なしのCUDAアプリケーションを実行する

ZLUDA 6 リリース: 非NVIDIA GPU上で修正なしのCUDAアプリケーションを実行する

ZLUDA 6は、CUDAコールを他のAPIに変換することで、修正なしのCUDAアプリケーションを非NVIDIA GPU上で実行することを可能にします。今回のリリースは、互換性の面で大きな進展を示しており、特にレガシーなゲーム物理エンジンやプロフェッショナルな3Dレンダリングソフトウェアへのサポートを拡大しています。

PhysX プレアルファ・サポート

ZLUDAは現在、32ビットPhysXのプレアルファ・サポート(PR #651経由)を含んでおり、AMD GPUユーザーがNVIDIA独自の物理エンジンに依存する古いゲームを実行することを可能にします。これにより、以前はNVIDIAハードウェア専用であった破片や炎などの視覚効果の有効化や、より高いフレームレートの実現が可能になります。

この機能はプレアルファ段階であるため、以下の制限が適用されます:

  • 流体シミュレーションが不安定になる場合があります。
  • SteamゲームにZLUDAをロードする方法が、現在は最適ではありません。
  • プレビュービルドへの完全な統合は、PRの統合待ちです。

Blender とテクスチャ・サポート

ZLUDAは基本的なテクスチャ・サポートを実装しました(PR #625)。現在の実装はいくつかのユースケースに限定されていますが、BlenderをZLUDA上で動作させるには十分なものです。この拡張により、BlenderとPhysXの両方が、非NVIDIAハードウェア上で動作するために必要なテクスチャ関連のCUDAコールを活用できるようになります。

Windows 互換性の向上

Windowsサポートがよりユーザーフレンドリーになるようアップグレードされ、LinuxとWindowsのインストールにおける歴史的な格差が解消されました。主な改善点は、ZLUDAがパフォーマンス・ライブラリ(cuBLAScuDNN など)をどのように扱うかという点です。

主な更新内容は以下の通りです:

  • 自動ライブラリ・ローディング: zluda.exe ローダーがパフォーマンス・ライブラリを自動的に処理するようになり、ユーザーが手動でフラグを渡す必要がなくなりました。
  • 改善されたエラー報告: ZLUDAは、必要なライブラリが不足している場合にユーザーに明示的に通知し、そのインストール方法に関する指示を提供します(PR #612)。

機械学習 (ML) の強化

ZLUDAは、PyTorchの互換性と一般的なMLパフォーマンスを向上させるために、継続的なアップデートを受けています。これらのアップデートは、ユーザーから提出されたトレースに基づいています。これには以下が含まれます:

  • 新しい命令: PRs #599, #605, #607, #609, #642, #644, および #629 を通じて追加されました。
  • コンパイラ・バグ修正: PRs #583, #588, #585, #596, #610, #601, および #603 で解決されました。
  • パフォーマンス・ライブラリの最適化: PRs #587, #615, #619, #620, #621, および #624 で改善されました。

プロジェクトのステータスと開発の方向性

ZLUDAはもはや商業的な資金提供を受けておらず、個人のサイドプロジェクトに戻りました。その結果、開発ロードマップは商業的な実現可能性から、リード開発者が面白いと感じる機能へとシフトしています。これが、最近のPhysX、テクスチャ、およびWindowsの使いやすさへの注力に理由があります。アップデートは、四半期に一度よりも頻度が低くなる可能性がありますが、開発は継続されます。

Sources