Nvidia
Intel、ザイリンクス、ルネサス、イマジネーションテクノロジーズ、SYCL(「シックル」と発音)などの大手企業からのサポートを得た後、NVIDIAGPUを使用する開発者も同様のメリットを得ることができます。 SYCLコミュニティに着実に積極的に貢献してきた組織であるCodeplayは、複数のハードウェアプラットフォーム間でコードをリサイクルおよび再利用する機能を備えたDPC ++(Data Parallel C ++)の高度な開発の頂点に達しました。結果はComputeCppです。 Codeplay独自のSYCLの実装 。
ComputeCppの最新版は、OpenCLとNVIDIAのPTXを使用したNVIDIAGPUの実験的サポートを提供します
昨年、IntelはSYCLを推進するための決定的な一歩を踏み出し、oneAPIStandardの開発も開始しました。 oneAPIには、IntelのCPU、GPU、およびFPGA用のDPC ++(拡張機能を備えたSYCLの実装)が含まれています。ザイリンクス、ルネサス、イマジネーションテクノロジーズからSYCLのサポートが提供された後、この動きはすぐに大きくなり、勢いを増しました。簡単に言えば、ソフトウェア開発者はSYCLを使用して幅広いデバイスをターゲットにできるようになりました。
私たちは、オープンソースのDPC ++プロジェクトに統合されたSYCL開発者にNVIDIAGPUの完全なサポートを提供するために取り組んでいます。今日それを試す方法を見つけてください。 https://t.co/RJoruLg8ae #sycl pic.twitter.com/4o07O9iNQW
—コードプレイソフトウェア(@codeplaysoft) 2020年2月3日
ComputeCppは、OpenCLとNVIDIAのPTXを使用したNVIDIAGPUの実験的なサポートを提供します。ただし、DPC ++(IntelのSYCL実装)は、OpenCLを経由せずに、LLVMコンパイラに統合されたNVIDIAGPUの完全なサポートを追加する機会を提供します。 Codeplayは、SYCL開発者がNVIDIA GPUをターゲットにできるようにする、実装の初期の実験段階をオープンソース化すると発表しました。この実装のコードベースは 別のフォーク メインのLLVMコンパイラプロジェクトとDPC ++ブランチの両方から。組織は、Intelと協力してNVIDIAGPUサポートをアップストリームのIntel / LLVMコンパイラに追加する予定であると付け加えました。
開発者はNVIDIAGPUのSYCLサポートからどのように利益を得ることができますか?
このプロジェクトにより、開発者は、システムのOpenCLレイヤーを経由せずに、SYCLコードを使用してNVIDIAGPUをターゲットにすることができます。つまり、NVIDIA GPUだけで、開発者はシステム上でDPC ++を実行して、SYCLアプリケーションをコンパイルできます。さらに、既存のCUDAアプリケーションは、CUDAサポートを使用してSYCLに段階的に移植し、CUDAがないプラットフォームで実行できます。これにより、多くの時間と繰り返しの労力が明らかに節約されます。
Codeplay SYCL 1.2.1ソリューションは、CUDAのオープンな代替手段を提供します https://t.co/hFqhaglfZQ #HPC pic.twitter.com/myDbUAeQwW
— insideHPC.com(@insideHPC) 2019年10月20日
Codeplayは、DPC ++用のNVIDIAバックエンドの使用方法を説明するプロジェクトREADMEファイルに関する指示を提供しています。開発者は、コンパイル時にいくつかのフラグを使用し、ランタイムがターゲットとするデバイスを確実に認識できるようにデバイスセレクターを設定するためのコードを使用する必要があります。特に、「 NVIDIACUDAをサポートするSYCLツールチェーンを構築する 」とClangコンパイラオプションには 具体的な手順 。
Codeplayは、Titan RTX GPU(計算機能7.5)でCUDA10.1を使用してUbuntu18.04でプロジェクトを正常に実行したことを確認しました。チームは、SM5.0以降と互換性のあるNVIDIAGPUを備えた他のLinuxバージョンでも動作することを保証します。ただし、コンパイルされたSYCLアプリケーションは、CUDAまたはOpenCLのいずれかをターゲットにすることしかできず、両方を同時にターゲットにすることはできません。
=>
'SYCL開発者にNVIDIAGPUサポートを提供