9

CUDA C++ を使用して、画像を水平または垂直にミラーリングする単純な関数を開発しました。

そんな時、NVIDIA Performance Primitives Library にもイメージミラーリングの機能があることを知りました。

比較のために、私は自分の関数を NPP に対して計時しました。驚いたことに、私の機能は優れていました (わずかな差ではありますが、それでも...)。

CUDA タイマーだけでなく、Windows タイマーを使用して結果を数回確認しました。

私の質問は、NPP 関数は NVIDIA GPU 用に完全に最適化されていないのでしょうか?

開発には CUDA 5.0、GeForce GTX460M (Compute 2.1)、および Windows 8 を使用しています。

4

1 に答える 1

11

この回答を投稿することで、投票が得られないリスクがあります。:)

NVIDIA は、すべての CUDA ライブラリを改善するために継続的に取り組んでいます。NPP は特に大規模なライブラリであり、4000 以上の機能を維持する必要があります。私たちは、すべての GPU とサポートされている OS でテストされ、積極的に改善および維持されている、同等の CPU よりも高速なライブラリを提供するという現実的な目標を持っています。問題の関数 (Mirror) は既知のパフォーマンスの問題であり、今後のリリースで改善される予定です。特定の機能を最適化する必要がある場合、優先順位を付ける最善の方法は、 NVIDIA CUDA 登録開発者が利用できるバグ送信フォームを使用して、RFE バグ (拡張要求) を提出することです。

余談ですが、「完全に最適化」できるライブラリはないと思います。大規模で成長を続けるハードウェア ベースでサポートする大規模なライブラリでは、それを最適化するための作業は決して完了しません。:)

NVIDIA のライブラリは全体的に最先端の技術を進歩させ、コンピューティング エコシステムに利益をもたらすため、引き続き NVIDIA ライブラリに挑戦し、それを凌駕することをお勧めします。

于 2012-09-17T22:40:09.110 に答える