新興企業が Nvidia を強化: AMD カード上で CUDA をエミュレートし、オリジナルのプログラムをコンパイルして直接実行できる

WBOY
リリース: 2024-07-19 05:36:39
オリジナル
1028 人が閲覧しました

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

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

このツールがリリースされるとすぐに、ネチズンの間で広範な白熱した議論を引き起こし、HackerNews のホットリストのトップになりました。

初创公司硬刚英伟达:在 AMD 卡上模拟 CUDA,原版程序直接编译运行

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

初创公司硬刚英伟达:在 AMD 卡上模拟 CUDA,原版程序直接编译运行

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

他の実装方法とは異なり、SCALE は CUDA ツールキットのインストールを直接シミュレートし、ソースからのコンパイルを完了するために他の言語に変換する必要はありません。

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

変換する必要はなく、AMD で CUDA を実行させます

公式 Web サイトの紹介では、SCALE には 3 つの主要コンポーネント (互換性のある nvcc コンパイラー、CUDA ランタイムとドライバー API の AMD 実装、ROCm ライブラリ) があることが示されています。

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

ROCmライブラリは、SCALEがcuBLASやcuSOLVERなどのライブラリを扱う際に使用する「CUDA-X」APIを提供するために使用されます。

初创公司硬刚英伟达:在 AMD 卡上模拟 CUDA,原版程序直接编译运行

SCALE の主な革新は、CUDA プログラムを別の言語に移植することなくそのまま受け入れることであり、nvcc や Clang などの複数のコンパイル方法と互換性がある一方で、既存のビルド ツールやスクリプト (cmake など) ) 正常に動作します。

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

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

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

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

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

現在、SCALE は次の AMD GPU シリーズをサポートしています:

すでにサポートされている: gfx1030 (RX6000 シリーズ) および gfx1100 (RX7000 シリーズ)

「動作するようです」: gfx1010 (RX5000 シリーズ) および gfx1101

に適応しています: FX900 ( RX Vega シリーズ)

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

初创公司硬刚英伟达:在 AMD 卡上模拟 CUDA,原版程序直接编译运行

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

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

初创公司硬刚英伟达:在 AMD 卡上模拟 CUDA,原版程序直接编译运行

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

初创公司硬刚英伟达:在 AMD 卡上模拟 CUDA,原版程序直接编译运行

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

初创公司硬刚英伟达:在 AMD 卡上模拟 CUDA,原版程序直接编译运行

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

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

初创公司硬刚英伟达:在 AMD 卡上模拟 CUDA,原版程序直接编译运行

不过,现在下定论未免为时过早,毕竟 SCALE 官方也承认目前和原版 CUDA 相比还存在一些缺陷。

而且开发者也明确表示有一些 CUDA API 和功能并不被支持,但也没有给出具体的列表。

初创公司硬刚英伟达:在 AMD 卡上模拟 CUDA,原版程序直接编译运行

关于“AMD 方案”的更多不足,一名自称和 SCALE 团队交流过的网友表示,目前的 SCALE 还无法操作 TensorCore,也就意味着 AMD 上跑不了 FlashAttention 加速框架。

另外由于 N 卡上有强大的矩阵乘法单元,所以即使能编译运行,AMD 卡上的性能可能也不及 N 卡。

初创公司硬刚英伟达:在 AMD 卡上模拟 CUDA,原版程序直接编译运行

更有网友认为,英伟达一家独大的原因是 AMD 不愿意投资让其 GPU 拥有更高的机器学习性能(而不只是拥有 CUDA 这一个优势)。

初创公司硬刚英伟达:在 AMD 卡上模拟 CUDA,原版程序直接编译运行

即便能够高效运行,AMD 卡是否真的经济实惠且容易获得,同样是一个问题。

初创公司硬刚英伟达:在 AMD 卡上模拟 CUDA,原版程序直接编译运行

还有一波网友的观点是,最大的问题不是技术上能不能运行,而是背后的法律问题。

这个问题同样引发了广泛的讨论,不过目前也暂未有定论。

有人认为 SCALE 像 ZLUDA(另一种在 AMD 上运行 CUDA 程序的方式)一样存在法律疑点,有可能招致英伟达的诉讼。

初创公司硬刚英伟达:在 AMD 卡上模拟 CUDA,原版程序直接编译运行

具体来说,根据英伟达的 EULA 条款,CUDA SDK 只允许开发在 N 卡上运行的应用程序,这可能禁止了类似 SCALE 这样的兼容实现。

初创公司硬刚英伟达:在 AMD 卡上模拟 CUDA,原版程序直接编译运行

但立马就又有网友说,SCALE 并没有用到英伟达的“SDK”,何谈 SDK 使用协议呢?

初创公司硬刚英伟达:在 AMD 卡上模拟 CUDA,原版程序直接编译运行

总之,无论是技术不足还是法律问题,对于这个新工具的讨论都还在持续进行。

至于到底好不好用,这就要由开发者用脚投票了。

参考链接:

[1]https://docs.scale-lang.com/

[2]https://news.ycombinator.com/item?id=40970560

本文来自微信公众号:量子位(ID:QbitAI),作者:克雷西

以上が新興企業が Nvidia を強化: AMD カード上で CUDA をエミュレートし、オリジナルのプログラムをコンパイルして直接実行できるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:ithome.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!