【发布时间】:2020-10-08 07:56:01
【问题描述】:
我是 HPC 学生,我使用 OpenCV 函数和 C++ 进行项目编码。我必须并行代码以获得高性能,所以我决定使用 CUDA 加速。我对以下内容感到困惑……
- 为了获得高性能,仅使用 CUDA 就足够了吗?
- 我可以将 OpenCV::GPU 或 OpenCV::CUDA 与 Cuda GPU 一起使用吗?
- OpenCV::GPU 和 OpenCV::CUDA 有什么不同?
【问题讨论】:
我是 HPC 学生,我使用 OpenCV 函数和 C++ 进行项目编码。我必须并行代码以获得高性能,所以我决定使用 CUDA 加速。我对以下内容感到困惑……
【问题讨论】:
只有拥有 NVIDIA 卡才能使用 CUDA 编程。仅当您进行并行处理时,才会使用通用 GPU 硬件的功能。
例如,如果您正在处理图像,则图像的每个像素都有单独的操作。然后 GPU 编程有助于节省计算时间。
在您的应用程序中,第二个像素输入取决于第一个像素输入。然后它更好地在 CPU 本身中运行您的应用程序。同样,从 CPU 到 GPU 和 GPU 到 CPU 的数据传输也会影响性能。编码时需要小心。
2 & 3. OpenCV2 版本语法为 cv::gpu,而 OpenCV3 版本语法为 cv::cuda。这取决于您使用的 opencv 版本。
【讨论】: