如何通过并行化来缩短计算时间

发布于 2024-12-12 08:37:45 字数 159 浏览 0 评论 0原文

我编写了一个 C++ 代码(使用 STL),由于计算量很大,大约需要一小时才能输出。我检查了 GPU 和 CPU 上的并行化。我有一个 ATI 显卡和一个酷睿 i7 处理器。我应该在哪一个上并行以获得更好的结果。 另外,您能否建议阅读有关如何设置编译器以在任何这些平台上进行并行化以及如何开始并行化的材料

I have written a c++ code (using STL) and due to large computations it takes about one hour for the output to come. I checked on parallelizing on GPU and CPU. I have a ATI graphics card and a core i7 processor. On which one should i parallelize for better results.
Also can you please suggest reading material on how to set up my compiler for parallelizing on any of these platforms and how do i start parallelizing

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

哆啦不做梦 2024-12-19 08:37:45

对于有关多核/GPU 编程的通用库:

  • Thrust 用于 GPU/CPU 类似 STL 的接口编程
  • OpenMP用于多线程并行代码
  • TBB 用于并行编程的大量原始数据结构

英特尔线程构建模块,通常 ,这个领域绝对是广阔的,没有答案可以公正地描述这个主题。实现并行化的方法有很多,首先分析逻辑并查找可以有效并行计算的部分,然后围绕这些结果设计(或重新设计)算法。

For general libraries regarding multi-core/GPU programming:

  • Thrust for GPU/CPU STL-like interface programming
  • OpenMP for multi-threaded parallel code
  • TBB Intel Threading Building Blocks, lots of primitive data structures for parallel programming

in general, this area is absolutely vast, and no answer can make justice of the topic. There are many ways to approach parallelization, and that begins with analysing your logic and looking in parts that can be efficiently computed in parallel, and design (or redesign) your algorithms around those results.

情释 2024-12-19 08:37:45

您还可以考虑使用 OpenCL (及其图形卡的 ATI Stream 实现)重新编码您的数字内核。

You could also consider recoding your numerical kernels using OpenCL (and its ATI Stream implementation for your graphical card).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文