ROCm/HIPIFY

HIPIFY: Convert CUDA to Portable C++ Code

HIPIFYとは?

HIPIFYは、CUDA C++ソースコードをHIP (Heterogeneous‑Compute Interface for Portability) C++に自動的に変換するツールのコレクションです。CUDAコードをHIPに翻訳することで、開発者はNVIDIA GPUだけでなく、AMD GPU上でもGPU加速アプリケーションをより簡単に実行できるようになります。

主な機能

  • CUDAからHIPへの翻訳 – メインツールであるhipify-clangは、CUDAソースファイルを解析し、同等のHIPコードを出力します。
  • ドキュメント生成hipify-clangは、HIPがサポートしているCUDA APIのMarkdownまたはCSVドキュメントを、異なる出力形式(full, strict, compact)で生成することも可能です。
  • コマンドラインオプション--helpまたは--help-hiddenを使用してすべてのフラグをリスト表示できます。一般的なフラグには、Markdown出力用の--mdや、生成されるドキュメントのスタイルを制御する--doc-format/--doc-rocが含まれます。

ドキュメントをローカルでビルドする方法

cd docs
pip3 install -r .sphinx/requirements.txt
python3 -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html

これにより、HIPIFYドキュメントのブラウザで閲覧可能なHTML版が生成されます。

CUDAからHIPへのAPIリファレンスを生成する

# Full documentation (single combined file)
hipify-clang --md --doc-format=full --doc-roc=joint

# Or separate files per API group
hipify-clang --md --doc-format=full --doc-roc=separate

CSV出力を取得するには--md--csvに置き換えてください。また、--doc-formatstrictまたはcompactに切り換えることで、より簡潔なリストを取得できます。

詳細情報の入手先

  • 公式オンラインドキュメント: https://rocm.docs.amd.com/projects/HIPIFY/en/latest/index.html
  • ドキュメントのソースコードは、リポジトリのHIPIFY/docsディレクトリにあります。
  • ROCmドキュメントへの貢献ガイドラインは、オンラインドキュメントからリンクされています。

結論: HIPIFYは、開発者がCUDAベースのGPUコードを移植性の高いHIPフレームワークに移植するのを支援し、AI、ML、およびその他のハイパフォーマンスコンピューティングワークロードにおけるベンダーを跨いだGPUサポートを容易にします。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト