ニュース

スタートアップ企業が NVIDIA を強化: AMD カード上で CUDA をシミュレートし、オリジナルのプログラムを直接コンパイルして実行

2024-07-16

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

  • クレシーはアオフェイ寺院から来ています
    パブリックアカウント QbitAI

変更や変換を行わなくても、AMD グラフィックス カードでオリジナルの CUDA プログラムを実行できます。

英国の新興企業が、商用利用が無料のAMD向けCUDAプログラムコンパイルツールを発売した。

このツールがリリースされると、ネチズンの間で広範な激しい議論を引き起こし、HackerNews ホットリストのトップに到達



このツールは SCALE と呼ばれ、開発者はこれを GPGPU (汎用 GPU) プログラミング ツールキットとして位置づけています。



現在、大型モデルフレームワーク llama-cpp を含む 9 つのプログラムがテストに合格し、正常に動作しています。

他の実装とは異なり、SCALECUDA ツールキットのインストールを直接シミュレートします、他の言語に変換せずにソースからコンパイルを完了できます。

したがって、SCALE はインライン PTX などの NVIDIA 固有の中間言語のサポートも提供できます。

変換する必要はありません。AMD に CUDA を実行させます

公式 Web サイトの紹介によると、SCALE には主に 3 つのコンポーネント互換の nvcc コンパイラー、AMD 実装の CUDA ランタイムおよびドライバー API、ROCm ライブラリーが含まれています。

コンパイラーは、nvcc、インライン PTX などの CUDA 固有の言語で書かれたプログラムを、AMD GPU で実行できるバイナリ コードに直接コンパイルできます。

ROCm ライブラリは、「CUDA-X」API を提供するために使用されます。SCALE は、cuBLAS や cuSOLVER などのライブラリを扱うときにこのメソッドを使用します。



SCALE の主なイノベーションは次のとおりです。CUDA プログラムをそのまま受け入れます別の言語に移植する必要がなく、nvccおよびclangと互換性ありおよびその他のコンパイル方法を使用しても、既存のビルド ツールやスクリプト (cmake など) は正常に動作します。

公式声明によると、SCALE は CUDA と完全に互換性があり、開発者は、GPU プラットフォームごとに個別のコードを記述する必要はありません。

これは、AMD が発売した HIP とは大きく異なります。HIP は CUDA コードを特定の方法で書き換えるため、複雑なマクロを正しく理解できない可能性があり、インライン PTX などの独自言語をサポートしていないためです。

SCALE の作者ですら、HIP では CUDA 互換性の問題を解決できないと考えています。

さらに、SCALE の言語は CUDA のスーパーセットであり、いくつかの機能を提供します。オプションの言語拡張機能これにより、nvcc を廃止したい開発者が GPU コードをより簡単かつ効率的に作成できるようになります。

著者は、将来的には開発者が一度コードを作成すれば、それをさまざまなハードウェア プラットフォームで実行できるようになるという希望を表明し、人気のある CUDA プログラミング言語と他のハードウェア ベンダーとの間の互換性のギャップを埋めることに取り組んでいます。

現在、SCALE によるさまざまな AMD GPU シリーズのサポートは次のとおりです。

  • すでにサポートされている: gfx1030 (RX6000 シリーズ) および gfx1100 (RX7000 シリーズ)
  • 「動作するようです」: gfx1010 (RX5000 シリーズ) および gfx1101
  • 適応:gfx900(RX Vegaシリーズ)

さらに、著者はいくつかの CUDA オープン ソース プロジェクトをテストし、SCALE を使用して 9 つの CUDA アプリケーションを正常に実行しました。



ただし、SCALE は何といっても新しいプロジェクトなので、インストールからコンパイルまでの一連のチュートリアルも用意されており、さまざまな種類のサンプル プログラムが提供されています。

チュートリアルの主要な手順には関連するコードが付属しており、独自の GPU のモデルを決定する方法も含まれており、非常に詳細であると言えます。



使用中に問題が発生した場合、作者は一般的なトラブルシューティング方法も紹介し、開発チームと直接コミュニケーションできるように Discord フォーラムも開設しています。



SCALEを作成したスタートアップは次のように呼ばれますスペクトルコンピューティングは、2018 年に英国で設立され、CPU と GPU のアーキテクチャを深く理解していると主張しており、その目標は、開発者がコンピューティング リソースを効率的に利用できるように支援することです。



ネチズン: Nvidia の堀に挑戦しますか?

一部のネチズンは、SCALE が(宣伝どおりに)本当に効果を発揮できるのであれば、NVIDIA の堀に挑戦し、AMD が直接競合できるようになるだろうと信じています。



しかし、今結論を出すのは時期尚早です。結局のところ、SCALE 関係者も、オリジナルの CUDA と比較してまだいくつかの欠陥があることを認めています。

また、開発者は一部の CUDA API と関数がサポートされていないことも明らかにしましたが、具体的なリストは示しませんでした。



「AMDソリューション」のさらなる欠点について、SCALEチームと連絡をとったと主張するネチズンは、現在のSCALEではTensorCoreを動作させることができない、つまりFlashAttendanceアクセラレーションフレームワークをAMD上で実行できないと述べた。

また、N カードは強力な行列乗算ユニットを備えているため、コンパイルして実行できたとしても、AMD カードのパフォーマンスは N カードほど良くない可能性があります。



一部のネチズンは、Nvidia が優勢である理由は、AMD が GPU の機械学習パフォーマンスを高めるための投資に消極的であるためだと考えています (CUDA の利点だけではありません)。



たとえ効率的に動作するとしても、AMD カードが本当に手頃な価格で入手しやすいかどうかという疑問もあります。



また別のネチズンは、最大の問題は技術的に実行できるかどうかではなく、その背後にある法的問題であると考えている。

この問題も広範な議論を引き起こしましたが、まだ結論は出ていません。

SCALE は ZLUDA (AMD 上で CUDA プログラムを実行する別の方法) と同様に法的に問題があり、NVIDIA からの訴訟につながる可能性があると考える人もいます。



具体的には、NVIDIA の EULA 条件によれば、CUDA SDK は N カード上で実行されるアプリケーションの開発のみを許可しており、SCALE のような互換性のある実装が禁止される可能性があります。



しかし、すぐに一部のネチズンは、SCALE は NVIDIA の「SDK」を使用していないと言いました。それでは、SDK の使用契約についてどのように話したらよいでしょうか?



つまり、技術的な欠陥であれ、法的問題であれ、この新しいツールに関する議論はまだ進行中です。

役に立つかどうかについては、開発者が自らの足で投票することになります。

参考リンク:
[1]https://docs.scale-lang.com/
[2]https://news.ycombinator.com/item?id=40970560