私が cudaMalloc (100) を使用すると、100 B 以上が予約されます (一部のユーザーによると、これは粒度の問題とハウスキーピング情報によるものです。
予約する必要があるバイト数に基づいて、このスペースの大きさを判断することはできますか?
どうもありがとう。
編集:なぜ私が知る必要があるのか を説明します。
GPU 上の巨大な画像に畳み込みアルゴリズムを適用したいと考えています。そのためには、GPU にそれを保持するのに十分なメモリがないため、画像を行のバッチに分割し、カーネルを数回呼び出す必要があります。
実際、OnlyRead マトリックスと Results マトリックスの 2 つの画像を送信する必要があります。
空きメモリの量に応じて、デバイスに送信できる最大行数をアプリオリに計算したいと思います。
最初の cudaMalloc は正常に実行されますが、2 番目の CudaMalloc を実行しようとすると問題が発生します。これは、最初の予約が予想よりも多くのバイトを使用したためです。
私が今していることは、空きメモリ量が実際よりも 10% 少ないと考えていることです...しかし、それはどこからともなく得られた魔法の数字です..