omp_set_num_threads(1) 比没有 openmp 慢的原因

2023-12-01

相信大家都同意这篇文章的标题。有人能指出我的原因吗?有没有参考书之类的?我试图找到但没有运气。

我相信原因是 openmp 有同步开销,没有 openmp 项目没有。

希望有人能进一步扩展原因吗?

Thanks


虽然即使只有一个线程,使用 OpenMP 在运行时也会产生一些开销,但更重要的问题可能是编译器必须执行的代码转换来生成 OpenMP 代码(特别是将并行区域代码概述为单独的函数)由 gcc 和 icc 完成;PGI 做一些不同的事情...])将影响其他代码优化(例如矢量化)。 当在概述的函数中执行部分代码时,编译器在单个函数中拥有的允许优化的信息可能会丢失,因此生成的代码可能会更糟。

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

omp_set_num_threads(1) 比没有 openmp 慢的原因 的相关文章

  • R 数据结构的运算效率

    我想知道是否有任何关于操作效率的文档R 特别是那些与数据操作相关的 例如 我认为向数据框添加列是有效的 因为我猜您只是向链接列表添加一个元素 我想添加行会更慢 因为向量保存在数组中C level你必须分配一个新的长度数组n 1并将所有元素复
  • 进程何时获得 SIGABRT(信号 6)?

    C 中进程获得 SIGABRT 的场景有哪些 该信号是否始终来自进程内部 或者该信号可以从一个进程发送到另一个进程吗 有没有办法识别哪个进程正在发送该信号 abort 向调用进程发送SIGABRT信号 就是这样abort 基本上有效 abo
  • OpenCv读/写视频色差

    我试图简单地使用 openCV 打开视频 处理帧并将处理后的帧写入新的视频文件 我的问题是 即使我根本不处理帧 只是打开视频 使用 VideoCapture 读取帧并使用 VideoWriter 将它们写入新文件 输出文件看起来比输入更 绿
  • 迭代变量并查找特定类型实例的技术

    我想迭代进程中内存中的变量 通过插件动态加载 并查找特定类型的实例 以前我可以找到特定类型 或内存中的所有类型 我可以创建类型的实例 我可以获取作为不同类型的字段包含的实例 但我无论如何都不知道只是 搜索 特定类型的实例 一种方法是使用 W
  • 向 ExpandoObject 添加方法时,“关键字 'this' 在静态属性、静态方法或静态字段初始值设定项中无效”

    我尝试向 ExpandoObject 添加一个动态方法 该方法将返回属性 动态添加 给它 但它总是给我错误 我在这里做错了什么吗 using System using System Collections Generic using Sys
  • 为什么要序列化对象需要 Serialized 属性

    根据我的理解 SerializedAttribute 不提供编译时检查 因为它都是在运行时完成的 如果是这样 那么为什么需要将类标记为可序列化呢 难道序列化器不能尝试序列化一个对象然后失败吗 这不就是它现在所做的吗 当某些东西被标记时 它会
  • C++:重写已弃用的虚拟方法时出现弃用警告

    我有一个纯虚拟类 它有一个纯虚拟方法 应该是const 但不幸的是不是 该接口位于库中 并且该类由单独项目中的其他几个类继承 我正在尝试使用这个方法const不会破坏兼容性 至少在一段时间内 但我找不到在非常量方法重载时产生警告的方法 以下
  • POCO HTTPSClientSession 发送请求时遇到问题 - 证书验证失败

    我正在尝试使用 POCO 库编写一个向服务器发出 HTTPS 请求的程序 出于测试目的 我正在连接到具有自签名证书的服务器 并且我希望允许客户端进行连接 为了允许这种情况发生 我尝试安装InvalidCertificateHandler这是
  • 如何配置 WebService 返回 ArrayList 而不是 Array?

    我有一个在 jax ws 上实现的 java Web 服务 此 Web 服务返回用户的通用列表 它运行得很好 Stateless name AdminToolSessionEJB RemoteBinding jndiBinding Admi
  • 暂停下载线程

    我正在用 C 编写一个非常简单的批量下载程序 该程序读取要下载的 URL 的 txt 文件 我已经设置了一个全局线程和委托来更新 GUI 按下 开始 按钮即可创建并启动该线程 我想要做的是有一个 暂停 按钮 使我能够暂停下载 直到点击 恢复
  • 如何从 C# 控制器重定向到外部 url

    我使用 C 控制器作为网络服务 在其中我想将用户重定向到外部网址 我该怎么做 Tried System Web HttpContext Current Response Redirect 但没有成功 使用控制器的重定向 http msdn
  • 如何从网站下载 .EXE 文件?

    我正在编写一个应用程序 需要从网站下载 exe 文件 我正在使用 Visual Studio Express 2008 我正在使用以下代码 private void button1 Click object sender EventArgs
  • 在 2D 中将一个点旋转另一个点

    我想知道当一个点相对于另一个点旋转一定角度时如何计算出新的坐标 我有一个块箭头 想要将其相对于箭头底部中间的点旋转角度 theta 这是允许我在两个屏幕控件之间绘制多边形所必需的 我无法使用和旋转图像 从我到目前为止所考虑的情况来看 使问题
  • 在非活动联合成员上使用“std::addressof”是否定义明确[重复]

    这个问题在这里已经有答案了 下面的代码是尝试实现constexpr的版本offsetof在 C 11 中 它可以在 gcc 7 2 0 和 clang 5 0 0 中编译 这取决于申请std addressof工会非活跃成员的成员 这是明确
  • 当模板类不包含可用的成员函数时,如何在编译时验证模板参数?

    我有以下模板struct template
  • 将代码拆分为标头/源文件

    我从 Asio 的示例页面中获取了以下代码 class tcp connection public boost enable shared from this
  • 结构体指针的动态数组

    我必须使用以下代码块来完成学校作业 严格不进行任何修改 typedef struct char firstName char lastName int id float mark pStudentRecord pStudentRecord
  • 转到定义:“无法导航到插入符号下的符号。”

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我今天突然开始在我的项目中遇到一个问题 单击 转到定义 会出现一个奇怪的错误 无法导航到
  • 使用 C# 从 DateTime 获取日期

    愚蠢的问题 给定日期时间中的日期 我知道它是星期二 例如我如何知道它的 tue 2 和 mon 1 等 Thanks 您正在寻找星期几 http msdn microsoft com en us library system datetim
  • 使用 CSharpCodeProvider 类编译 C# 7.3 的 C# 编译器版本是什么?

    我想使用 Microsoft CSharp CSharpCodeProvider 类来编译 C 7 3 代码 编译器版本在 IDictionary 中指定 在创建新的 CSharpCodeProvider 时将其作为输入 例如 Compil

随机推荐

  • 将小计添加到 Pandas Groupby

    我正在寻找一种更干净的方法来将小计添加到 Pandas groupby 中 这是我的数据框 df pd DataFrame Category np random choice Group A Group B 50 Sub Category
  • 需要在 XNA 4.0 中使用实例的帮助

    我来询问有关 XNA 实例化的问题 我是一名初级 XNA 开发人员 最近才从 2D 游戏转向 3D 游戏 我正在尝试绘制大量仅由代码中的顶点组成的立方体 正如人们可能怀疑的那样 绘制大量这些立方体会给我的计算机带来相当大的压力 当我寻找一种
  • 在 where 子句中使用 php 变量时 MySQL 查询不起作用

    我是 PHP 和 MySQL 的新手 我正在尝试制作一个简单的搜索表单 我希望使用它根据表单中输入的输入文本显示数据库的结果 我的代码是这样的 Form php
  • Chrome 上字体大小渲染不一致的问题 [已关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 I am having an css issue on my site The font size is not consistent across all pages The di
  • 通过 postValidate 进行 JSF 跨字段验证,无需在支持 bean 中按名称查找组件

    我正在构建一个登录表单复合组件 使用它的页面将传递一个事件处理程序来验证用户名和密码 通常 不使用复合组件 当我们通过以下方式执行跨字段验证时postValidate 事件处理程序必须按名称查找字段的组件 验证器最好不要这样做 因为这些是应
  • 使用 Locust 每秒预定义请求数

    在查看负载测试工具时 我发现了 Locust 并立即发现它对于 Python 爱好者来说很有吸引力 但我不完全确定我是否可以用它实现以下场景 我的任务是使用真实流量对 REST API 进行负载测试 我从生产 Apache 日志中提取了 5
  • Html Agility Pack - 循环行和列

    如何循环遍历具有属性 id 或名称的表和行 以获取每个 td 单元格深处的内部文本 我从事 asp net c 和最新的 html 敏捷包方面的工作 请指导 谢谢 一个 html 文件有几个表 其中之一具有属性 id main part 在
  • Python 中的匹配模式

    我有一个 XML 文件 其中包含以下字符串
  • numberOfSectionsInTableView 不起作用

    import UIKit class exploreViewController UIViewController UITableViewDelegate UITableViewDataSource IBOutlet weak var se
  • 从 VBScript 中的函数返回引用

    我对 VBScript 已经抓狂了 我到底如何才能将引用作为函数的返回值传递 目前我的代码如下所示 Set objUser FindUser bendert REM Searches Directory for the User Funct
  • RequireJS 有时无法加载 jQuery

    我的项目结构如下 root lib js 在我的 js 文件夹中 我有一个 require config 文件 它引用 lib 目录中的 javascript 文件 就像这样 require config paths jquery lib
  • 使用 sed 移动文本文件中的匹配行

    我正在尝试关注该帖子 如何使用正则表达式匹配 bash 脚本 将文件中的特定行移动到另一个位置 到我的示例文件 asdasd0 SRC OUT DIR a b c d e f g h asdasd2 asdasd3 asdasd4 DEFA
  • ASP.NET 5 客户端依赖管理 - Bower

    我正在尝试使用 MVC 6 的新 ASP NET 5 并且使用 Bower 来管理所有客户端依赖项 一切正常 但我有一个问题 当我添加依赖项时 假设是 jQuery 它添加了 dist and src以及 Bower 配置文件 lib的文件
  • 如何获取模板中 Meteor.call 函数的结果

    我正在尝试制作一个在 Meteor 客户端中使用的分页功能 因此我需要知道服务器上的记录数 在服务器上 在 server bootstrap coffee 中 我有以下代码 Meteor methods ContactsCount gt C
  • 未使用 JavaScript 正确设置 Internet Explorer cookie

    我正在尝试保存 恢复回发上的滚动位置 我的代码适用于 Firefox 和除 Internet Explorer 之外的所有主要浏览器 function saveScrollPosition Save the cookie if the re
  • PHP通过html标签分解字符串

    假设字符串 a 成立 p Phasellus blandit enim eget odio euismod eu dictum quam scelerisque p p Sed ut diam nisi p p Ut vestibulum
  • ssis 中的参数绑定

    如何使用执行包任务动态地将值传递给子包变量 我需要同时从另一个包 父包 调用一个包 子包 在每次调用中 我都需要将不同的值传递给子包变量 I have tried using parameter bindings in Execute Pa
  • 如何让 Phoenix 监听 IPv6?

    我正在努力寻找有关让 Phoenix 以及 Cowboy 和 Ranch 同时监听 IPv4 和 IPv6 的信息 我在 Ubuntu 16 04 的 VPS 上运行 它同时具有 IPv4 和 IPv6 地址 跑步时netstat tulp
  • 在单独的线程中关闭相机设备

    我正在使用 Android Camera2 创建自定义相机 cameraDevice close 方法速度很慢 并且会使 UI 冻结 1 秒 我把它放在另一个线程中 看起来效果很好 我想知道这是否会导致一些严重的问题以及是否有其他方法可以实
  • omp_set_num_threads(1) 比没有 openmp 慢的原因

    相信大家都同意这篇文章的标题 有人能指出我的原因吗 有没有参考书之类的 我试图找到但没有运气 我相信原因是 openmp 有同步开销 没有 openmp 项目没有 希望有人能进一步扩展原因吗 Thanks 虽然即使只有一个线程 使用 Ope