macos - 为什么我应该通过 OpenMP 使用 Grand Central Dispatch?

标签 macos parallel-processing openmp grand-central-dispatch

Apple 在 Snow Leopard 中引入了 Grand Central Dispatch(一个线程池),但还没有解释为什么应该在 OpenMP 上使用它,OpenMP 是跨平台的,也适用于 Leopard。它们都非常易于使用且功能相似。那么,有什么想法吗?

最佳答案

GCD 在运行时评估适当级别的资源以解决问题时要好得多 - OpenMP 根据环境变量等信息决定为一组并行任务调用多少线程。 GCD 查看当前系统负载和可用内核数量,并允许运行适当数量的线程 - 随着资源使用情况的实时变化而扩展和回缩。这意味着 GCD 程序应该在一般情况下获得更好的结果。当然,如果您已经购买了一组专用的机器来运行您的代码,那么这是没有实际意义的,因为您的代码几乎没有其他冲突。

关于macos - 为什么我应该通过 OpenMP 使用 Grand Central Dispatch?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1368875/

相关文章:

python - 如何在 OSX 上通过 Python Tkinter 安装和使用 TkDnD?

macos - 从 Mac OSX 移除 Saltstack

c++ - VS10下openmp语法错误

r - Slurm:使用来自多个节点的核心进行 R 并行化

linux - 我可以检查我安装的是哪个版本的 OpenMP 吗?

c++ - OpenMP 库规范

xcode - 减小 cocoa 应用程序中图像的大小

cocoa - StatusBar 项目的弹出窗口

parallel-processing - 多核系统的并行线性代数

parallel-processing - 如何在第一个函数运行时调用第二个函数,反之亦然?