OpenMP 和 C++11 多线程

2024-01-14

我目前正在从事一个混合高性能计算 (HPC) 和交互性的项目。
因此,HPC 部分依赖于 OpenMP(主要是具有大量相同计算的 for 循环),但它包含在具有 GUI 和多线程的更大框架中,目前通过 c++11 线程实现(std::thread and std::async).

我读过了 and 为什么使用嵌套 OpenMP 编译指示时,c++11 线程变得不可连接? https://stackoverflow.com/questions/13197510/why-do-c11-threads-become-unjoinable-when-using-nested-openmp-pragmas混合 OpenMP 和 C++11 线程并不是一个好主意,但到目前为止它一直对我有用。
由于不同的原因,我想对此进行改进,但我不确定采取哪种策略。

At OpenMP 与 C++11 线程 https://stackoverflow.com/questions/23258037/openmp-vs-c11-threads,我读到将 OpenMP 替换为std::thread由于线程的创建和销毁,对性能有相当大的影响,但我找不到任何关于通过基于任务的并行性替换 OpenMP 加速的信息std::async。在我看来,这应该比std::thread因为线程管理是由操作系统完成的,但我还不相信这是适用的。我还没有尝试过,因为它会涉及大量的重构,我想先听听其他的意见。

您有协调 HPC 和交互性的经验吗?在你眼里,应该std::async与 OpenMP 相当快吗?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenMP 和 C++11 多线程 的相关文章

  • C++ 是否可以在 MacOS 上与 OpenMP 和 boost 兼容?

    我现在已经尝试了很多事情并得出了一些结论 也许 我监督了一些事情 但似乎我无法完成我想要的事情 问题是 是否有可能使用 OpenMP 和 boost 在 MacOS High Sierra 上编译 C 一些发现 如果我错了请纠正我 Open
  • JNI 将 Char* 2D 数组传递给 JAVA 代码

    我想从 C 代码通过 JNI 层传递以下指针数组 char result MAXTEST MAXRESPONSE 12 12 8 3 29 70 5 2 42 42 在java代码中我写了以下声明 public static native
  • 查看 NuGet 包依赖关系层次结构

    有没有一种方法 文本或图形 来查看 NuGet 包之间的依赖关系层次结构 如果您使用的是新的 csproj 您可以在此处获取所有依赖项 在项目构建后 项目目录 obj project assets json
  • unordered_map 中字符串的 C++ 哈希函数

    看起来 C 标准库中没有字符串的哈希函数 这是真的 在任何 c 编译器上使用字符串作为 unordered map 中的键的工作示例是什么 C STL提供模板专业化 http en cppreference com w cpp string
  • 类型约束

    我有以下类层次结构 class Header IEnumerable
  • 使用valgrind进行GDB远程调试

    如果我使用远程调试gdb我连接到gdbserver using target remote host 2345 如果我使用 valgrind 和 gdb 调试内存错误 以中断无效内存访问 我会使用 target remote vgdb 启动
  • 在视口中查找 WPF 控件

    Updated 这可能是一个简单或复杂的问题 但在 wpf 中 我有一个列表框 我用一个填充数据模板从列表中 有没有办法找出特定的数据模板项位于视口中 即我已滚动到其位置并且可以查看 目前我连接到了 listbox ScrollChange
  • 在 NaN 情况下 to_string() 可以返回什么

    我使用 VS 2012 遇到了非常令人恼火的行为 有时我的浮点数是 NaN auto dbgHelp std to string myFloat dbgHelp最终包含5008角色 你不能发明这个东西 其中大部分为0 最终结果是 0 INF
  • 为什么这个二维指针表示法有效,而另一个则无效[重复]

    这个问题在这里已经有答案了 这里我编写了一段代码来打印 3x3 矩阵的对角线值之和 这里我必须将矩阵传递给函数 矩阵被传递给指针数组 代码可以工作 但问题是我必须编写参数的方式如下 int mat 3 以下导致程序崩溃 int mat 3
  • 保护 APK 中的字符串

    我正在使用 Xamarin 的 Mono for Android 开发一个 Android 应用程序 我目前正在努力使用 Google Play API 添加应用内购买功能 为此 我需要从我的应用程序内向 Google 发送公共许可证密钥
  • WPF DataGridTemplateColumn 组合框更新所有行

    我有这个 XAML 它从 ItemSource 是枚举的组合框中选择一个值 我使用的教程是 http www c sharpcorner com uploadfile dpatra combobox in datagrid in wpf h
  • 使 Guid 属性成为线程安全的

    我的一个类有一个 Guid 类型的属性 该属性可以由多个线程同时读写 我的印象是对 Guid 的读取和写入不是原子的 因此我应该锁定它们 我选择这样做 public Guid TestKey get lock testKeyLock ret
  • 打印大型 WPF 用户控件

    我有一个巨大的数据 我想使用 WPF 打印 我发现WPF提供了一个PrintDialog PrintVisual用于打印派生的任何 WPF 控件的方法Visual class PrintVisual只会打印一页 因此我需要缩放控件以适合页面
  • WebBrowser.Print() 等待完成。 。网

    我在 VB NET 中使用 WebBrowser 控件并调用 Print 方法 我正在使用 PDF 打印机进行打印 当调用 Print 时 它不会立即启动 它会等到完成整个子或块的运行代码 我需要确保我正在打印的文件也完整并继续处理该文件
  • 实体框架中的“it”是什么

    如果以前有人问过这个问题 请原谅我 但我的任何搜索中都没有出现 它 我有两个数据库表 Person 和 Employee 对每个类型的表进行建模 例如 Employee is a Person 在我的 edmx 设计器中 我定义了一个实体
  • 在 Windows Phone silverlight 8.1 上接收 WNS 推送通知

    我有 Windows Phone 8 1 silverlight 应用程序 我想使用新框架 WNS 接收通知 我在 package appxmanifest 中有
  • 这个可变参数模板示例有什么问题?

    基类是 include
  • 如何在richtextbox中使用多颜色[重复]

    这个问题在这里已经有答案了 我使用 C windows 窗体 并且有 richtextbox 我想将一些文本设置为红色 一些设置为绿色 一些设置为黑色 怎么办呢 附图片 System Windows Forms RichTextBox有一个
  • 灵气序列解析问题

    我在使用 Spirit Qi 2 4 编写解析器时遇到一些问题 我有一系列键值对以以下格式解析
  • 不区分大小写的字符串比较 C++ [重复]

    这个问题在这里已经有答案了 我知道有一些方法可以进行忽略大小写的比较 其中涉及遍历字符串或一个good one https stackoverflow com questions 11635 case insensitive string

随机推荐

  • groovy 中的 get 与 getProperty

    令我惊讶的是 根据groovy的文档 groovy可以使用 getProperty 方法来获取对象的属性 因此 当我想更改获取特殊对象属性的行为时 我使用类别类来重写 getProperty 方法 然而 它不起作用 最后 我发现groovy
  • Python SSL:证书验证失败

    我在连接时遇到错误www mydomain com在使用 Windows 8 1 的相当新的机器上使用 Python 2 7 12 错误是SSL CERTIFICATE VERIFY FAILED on the ssl sock conne
  • 分割数据框

    打印 df A B 0 10 1 30 2 50 3 20 4 10 5 30 A B 0 10 1 30 A B 2 50 A B 3 20 4 10 5 30 你可以使用pd cut https pandas pydata org pa
  • 如何使用 C# 使用 DomainName 获取 AD 中的 OU 名称列表?

    我想从 Active Directory 获取 OU 列表 我只有域名 我如何使用 C 实现这一目标 尝试这样的事情 connect to RootDSE to find default naming context DirectoryEn
  • javascript 对 HTML 元素进行就地排序 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 继续为javascript 对 HT
  • MULTIPART_FORM_DATA:找不到 public javax.ws.rs.core.Response 类型的参数的注入源

    我正在使用基于 Jersey 的 Restful 服务实现策略来构建一个用于上传文件的服务 我的服务类名称是 UploadFileService java 参见下面的代码 package com jerser service import
  • 如何以及何时使用“async”和“await”

    据我了解 主要的事情之一是async and await https learn microsoft com en us dotnet csharp async这样做的目的是使代码易于编写和阅读 但使用它们是否等于生成后台线程来执行长时间的
  • 使用 OpenCV 打开 USB 摄像头

    我想在 Linux Mint 18 3 上使用 C 语言的 OpenCV 打开 USB 摄像头 相机已插入并可与 Common Vision Blocks 的 SoftwareSuite 配合使用 来自命令lsusb我得到以下输出 Bus
  • 为什么要同时使用 os.path.abspath 和 os.path.realpath?

    在多个开源项目中 我见过人们这样做os path abspath os path realpath file 获取当前文件的绝对路径 然而 我发现os path abspath file and os path realpath file
  • 为什么表达式上的 static_cast 具有分布式作用?

    我需要取 2 个无符号 8 位值并减去它们 然后将该值添加到 32 位累加器 8 位减法可能会下溢 但没关系 unsigned int 下溢是已定义的行为 因此没有问题 我希望static cast
  • 为什么我的 CSS 代码不适用于我的 Html 页眉和页脚? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 需要一些帮助 陷入了非常关键的时刻 我必须在明天之前完成这项工作 但我的 CSS 代码不适用于页眉和页脚 而同一文件适用于其他内容 如字体系
  • jOOQ - 与嵌套子查询连接

    假设我想知道是谁写的CLRS在书中数据库 表BOOK AUTHOR带连接表BOOK AUTHOR SelectConditionStep
  • 如何在R语言中展开用户和环境变量?

    有什么方法可以扩展 R 中的波浪号和环境变量吗 例如 在Python中 您可以通过写出以下一组代码来获取它 import os os path expanduser r workspace return Users yourname r w
  • 条件编译的注意事项[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 什么时候进行条件编译是个好主意 什么
  • Vagrant ssh 连接到主机 127.0.0.1:2222 端口 22: 文件号错误

    每当我尝试连接到本地 Vagrant 时 运行时都会收到此错误ssh email protected cdn cgi l email protection 2222来自 Windows git bash ssh connect to hos
  • HTML 5 文件加载图像作为背景图像

    是否可以通过 HTML 5 文件 API 加载图像并使用 javascript jquery 将其设为 css 背景图像 如果可能的话 是如何做到的 dronus 在评论部分发布了这个链接 给了我一个很好的答案 sveinbjorn org
  • 如何为 jsoncpp 编写 cmake 模块?

    我想用jsoncpp用于编写 C 代码来解析 JSON 文件 让我解释一下我做了什么 我创建了一个CMakeLists txt我做了一个FindJsoncpp cmake以及一个简单的 c 文件来测试jsoncpp 当我在不使用 cmake
  • 如何使用返回可变引用的迭代器创建自己的数据结构?

    我已经在 Rust 中创建了一个数据结构 我想为其创建迭代器 不可变迭代器很简单 我目前有这个 并且运行良好 This is a mock of the real EdgeIndexes class as the one in my rea
  • 背景图像CSS不工作

    我正在使用 bootstrap 构建一个简单的网站 但我似乎无法让背景图像 css 样式正常工作 我想把它放在我的 jumbotron div 上 这是我网站的第一部分 除了导航栏 有些人将其称为英雄部分 这是我的代码 我哪里出错了 mai
  • OpenMP 和 C++11 多线程

    我目前正在从事一个混合高性能计算 HPC 和交互性的项目 因此 HPC 部分依赖于 OpenMP 主要是具有大量相同计算的 for 循环 但它包含在具有 GUI 和多线程的更大框架中 目前通过 c 11 线程实现 std thread an