RISC-Vは、その命令セットアーキテクチャ(ISA)が広範なカスタマイズを可能にし、理解しやすいことに加え、オープンソースでライセンスフリーという利点から、コンピューティングの世界で最もホットな話題の一つとなっています。RISC-V ISAをベースに汎用GPUを設計したプロジェクトさえ存在し、現在ではNVIDIAのCUDAソフトウェアライブラリがVortex RISC-V GPGPUプラットフォームに移植されつつあります。
NVIDIAのCUDA(Compute Unified Device Architecture)は、NVIDIAのグラフィックカードラインナップで動作する独自のコンピューティングプラットフォームとアプリケーションプログラミングインターフェース(API)です。アプリケーションがCUDA対応としてコーディングされている場合、システムがCUDAベースのGPUを認識するたびに、コードに対して大幅なGPUアクセラレーションが行われます。
研究者らは次のように説明しています。「…このプロジェクトでは、エンドツーエンドのCUDA移行をサポートするパイプラインを提案・構築します。このパイプラインは、CUDAソースコードを入力として受け取り、拡張RISC-V GPUアーキテクチャ上で実行します。パイプラインは、CUDAソースコードをNVVM IRに変換し、NVVM IRをSPIR-V IRに変換し、SPIR-V IRをPOCLに転送してRISC-Vバイナリファイルを取得し、最後に拡張RISC-V GPUアーキテクチャ上でバイナリファイルを実行するという複数のステップで構成されています。」
このプロセスは上のグラフに視覚化されており、動作させるまでのすべてのステップを示しています。簡単に言うと、CUDAのソースコードは、オープンソースのLLVM IRをベースにしたNVVM IRと呼ばれる中間表現形式で表現されます。その後、これはStandard Portable Intermediate Representation (SPIR-V) IRに変換され、さらにOpenCL標準の移植可能なオープンソース実装であるPOCLに転送されます。VortexはOpenCLをサポートしているため、サポートされているコードを入力すると問題なく実行されます。
この複雑なプロセスの詳細については、こちらの論文をご覧ください。そして重要な点として、CUDAをRISC-V GPGPU上で実行できるようにした研究者たちの努力には感謝しなければなりません。これは今のところ小さな一歩に過ぎませんが、RISC-Vがアクセラレーションコンピューティングアプリケーションに利用される時代の幕開けとなる可能性を秘めています。これは、Nvidiaが現在GPUラインナップで行っていることと非常によく似ています。
Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。