いため、OpenCVのCUDAカーネル内をデバッグできない。 ◦ opencv/cmake/OpenCVDetectCUDA.cmake[5] を以下のように書き換えてデバック情報を付与 するようにしてOpenCVをビルドするのが簡単。 58 [5] https://github.com/opencv/opencv/blob/4.6.0/cmake/OpenCVDetectCUDA.cmake#L296 # NVCC flags to be set set(NVCC_FLAGS_EXTRA "") # NVCC flags to be set set(NVCC_FLAGS_EXTRA "-G -g")
◦ GpuMatの画像バッファのメモリは、ハードウェアに依存してアラインメントされるため、多 くのケースではisContinuous()==falseとなることに気を付ける ▪ 例外として行数が1のGpuMatクラスのインスタンスはisContinuous()==trueとなる 67 In contrast with Mat, in most cases GpuMat::isContinuous() == false . This means that rows are aligned to a size depending on the hardware. Single-row GpuMat is always a continuous matrix.
GpuMatクラスのインスタンスをstatic、グローバル変数として確保することは非推奨となっ ている 74 You are not recommended to leave static or global GpuMat variables allocated, that is, to rely on its destructor. The destruction order of such variables and CUDA context is undefined. GPU memory release function returns error if the CUDA context has been destroyed before.