0

私は CUDA (悪くはない) を知っていますが、 PTXを知らないので、私の質問は次のとおりです。

  • ptx コードを学習すると、gpu (CUDA) コードのパフォーマンスが向上しますか?
  • はいの場合、パフォーマンスを向上させるために CUDA コードと組み合わせることができる ptx コードを作成する方法はありますか?
4

1 に答える 1

4

私の個人的な経験から、PTX は重要な問題のデバッグ/検査に役立ちます。ただし、これを行ったのは一度だけです。また、PTX はコンパイラによって生成された即時コードにすぎず GPU で実行される実際のアセンブリ言語ではないことに注意してください。

PTX の後にアセンブルされるマシン コードを本当に見たい場合は、NVIDA が提供しますcuobjdump。PTX には役立つ情報や優れたドキュメントがたくさんあると思います。ただし、CUDA の一般的な最適化戦略には次のものがあります。

  • メモリ トランザクション、特にデバイス/ホスト間のデータ転送を最小限に抑える
  • Coalesce グローバル メモリ アクセス
  • カーネル構成によるデバイス使用率の向上
  • ワープ発散を避ける

2 番目の質問については、インライン PTXを介して PTX を CUDA に記述できます。私はこれをやったことがありません。

于 2016-03-29T21:02:19.673 に答える