Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 0d063fd

Browse files
committed
cuda
1 parent e48a4d3 commit 0d063fd

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

‎my07-GPU-CUDA/cuda.md‎

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#CUDA
2+
https://opencv.org/platforms/cuda.html
3+
- 动机
4+
- 现代GPU加速器已经变得强大并且足够有能力执行通用计算(GPGPU)。这是一个非常快速增长的领域,引起了开发计算密集型应用的科学家,研究人员和工程师的广泛兴趣。尽管在GPU上重新实现算法有困难,但许多人正在检查它们的速度。为了支持这种努力,已经有许多高级语言和工具可用,例如CUDA,OpenCL,C ++ AMP,调试器,分析器等等。
5+
- 计算机视觉的重要组成部分是图像处理,图形加速器最初设计的领域。其他部分也假设大规模的并行计算,并且往往自然映射到GPU架构。所以,在图形处理器上实现所有这些优势并加速OpenCV是具有挑战性但非常有益的。
6+
7+
- 历史
8+
- OpenCV包含GPU模块,其中包含所有GPU加速的东西。在NVIDIA的支持下,该模块在2010年的第一个版本之前于2010年开始运行。它包括加速代码库的一部分,仍然在不断增长,正在适应新的计算技术和GPU架构。
9+
10+
- 目标
11+
- 在GPU上为开发人员提供方便的计算机视觉框架,保持与当前CPU功能的概念一致性。
12+
- 通过GPU实现最佳性能(针对现代体系结构优化的高效内核,优化的数据流如异步执行,复制重叠,零拷贝)
13+
- 完整性(实现尽可能多,即使加速并不是太棒了;这样可以完全在GPU上运行算法,节省应付开销)
14+
15+
- 性能
16+
- 特斯拉C2050与Core i5-760 2.8Ghz,SSE,TBB
17+
![](https://opencv.org/assets/pages/perf.png)
18+
- 条形图:不同算法的加速:原始图像处理 - 30倍,立体视觉 - 7倍,行人检测 - 8倍,人脸检测器 - 6倍,SURF关键点 - 12倍
19+
20+
- 设计注意事项
21+
- OpenCV GPU模块是使用CUDA编写的,因此它受益于CUDA生态系统。有一个大型的社区,会议,出版物,开发的许多工具和库,如NVIDIA NPP,CUFFT,Thrust。
22+
23+
- GPU模块被设计为主机API扩展。这种设计为用户提供了一个明确的控制,即在CPU和GPU内存之间如何移动数据。尽管用户必须编写一些额外的代码才能开始使用GPU,但这种方法既灵活又有效,可以进行更高效的计算。
24+
25+
- GPU模块包括cv :: gpu :: GpuMat类,它是保存在GPU内存中的数据的主要容器。它的接口与cv :: Mat非常相似,与CPU相对应。所有GPU函数接收GpuMat作为输入和输出参数。这允许调用几个GPU算法而不下载数据。在可能的情况下,GPU模块API接口也与CPU接口保持相似。因此熟悉CPU上Opencv的开发人员可以立即开始使用GPU。

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /