2016-12-19 19 views
0

私は最近、opencvとcudaで画像処理を学び始めました。 私はアプリケーションを配備したいときはいつでも、sdkからほぼすべてのcuda dllを追加する必要があることに気付きました。問題は、これらのdllが500 MB以上のサイズであることです。CUDAが多すぎます

だから、それは正常ですか、それとも間違っていますか?

+0

問題があるのは唯一のものではありません。https://www.freelancer.com/projects/C-Programming/opencv-reduce-size-for-CUDA/ – Micka

答えて

1

特定のGPUでターゲットを設定する場合は、nvpruneを参照して、未使用のバイナリコードを削除してください。 http://docs.nvidia.com/cuda/cuda-binary-utilities/#nvprune

特定のターゲットをお持ちでない場合、解決策はありません。

+0

プリコンパイルされたcudaコードのサイズ結果はありますか?あなたはあらかじめコンパイルしておくことができますか?これが理由ですか? – Micka

+1

複数のターゲットを持つときにコードが複数回コンパイルされるため、ライブラリーにバイナリー・コードが含まれているため、cudaアーキテクチャー/コンピューティング機能のサポートを追加すると増加します。私はCUDAがコードを生成する際にptxアセンブリをnppi/nppcなどのライブラリに組み込んでいることを知らないので、コードが未知のターゲットで(jitコンパイルを使用して)実行できるかどうかわかりません。 – X3liF

0

CUDAがどのように構造化されているかによって、自分のコードの依存関係や直接必要とするDLLの依存関係をカバーするファイルが必要なので、全体を含める必要があります。

関連する問題