在多线程程序中调用fftw

2024-07-04

我想在线程中使用 fftw3 。但代码粘贴在http://codepad.org/lIjdGF5z http://codepad.org/lIjdGF5z导致“双重释放或损坏”错误。如何在线程中正确调用 fftw3 例程。谢谢!您可以通过命令“g++ test.cpp -lfftw3_threads -lfftw3 -lboost_thread”来编译代码


我相信呼吁fftw_plan_dft_2d不可重入,这意味着它不能同时在多个线程中调用,即使您正在创建不同的计划。唯一线程安全的 fftw 函数是fftw_execute根据第 2 段的变体线程安全页面 http://www.fftw.org/fftw3_doc/Thread-safety.html#Thread-safety的文档。

此外,正如 Paul R. 在评论中提到的,您应该只在开始时创建一次计划,然后一遍又一遍地使用它们。会快很多。另外,根据线程安全文档页面的第 3 段,您可以在多个同时调用中使用相同的计划fftw_execute。因此,如果您的转换大小相同,则您只需要为所有线程制定一个计划。

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

在多线程程序中调用fftw 的相关文章

  • 在派生虚函数中强制执行正确的参数类型

    我发现很难非常简洁地描述这个问题 所以我附上了演示程序的代码 总的想法是 我们需要一组派生类 它们被迫从基类实现一些抽象 Foo 函数 每个派生的 Foo 调用都必须接受不同的参数作为输入 但所有参数也应该从 BaseInput 类派生 到
  • C#:秒到分钟到小时的转换?

    好吧 首先 我很确定我不会在这项作业中使用 TimeSpan 相反 当用户在文本框中输入秒数时 它会在消息框中显示秒 分钟和小时的公式系列 这就是我被困住的地方 我们应该用这个例子来检查我们的答案 7565 秒是 2 小时 6 分 5 秒
  • 函数 try 块什么时候有用?

    我想知道程序员何时使用函数 try 块 什么时候有用 void f int i try if i lt 0 throw less than zero std cout lt lt greater than zero lt lt std en
  • Java并发hashMap检索

    ConcurrentHashMap文档说 检索操作 包括 get 通常不会阻塞 因此可能与更新操作 包括 put 和 remove 重叠 检索反映了最近完成的更新操作在其开始时的结果 更正式地说 给定键的更新操作与报告更新值的该键的任何 非
  • 如何知道机器的堆栈在内存中是向上还是向下增长? (JAVA)

    我有一个 C 程序来检查机器堆栈在内存中是向上还是向下增长 事情是这样的 include
  • 如何连接 COM 事件调度程序?

    VBIDE API 揭示了令人惊奇的神秘之处 dispVBComponentsEvents接口 除其他外 其中看起来像我可以用它来捕获 VBE 中各种有趣的事件 因此 我在一个类中实现了该接口 该类旨在捕获事件并引发 正常 net 事件以供
  • 基本镜面着色

    我正在使用一个生成阴影球体的简单代码 我还没有完全理解数学 但我在玩代码时正在弄清楚它 我想知道如何根据这段代码实现镜面反射着色 有什么建议么 for y 0 y
  • pthread 线程状态

    是否有一种机制可以用来判断 pthread 线程当前是否正在运行或已退出 如果线程尚未退出 pthread join 是否有一种方法能够在特定时间段后超时 如果您仅针对 Linux 请使用http www kernel org doc ma
  • OpenCV 图像处理——C++、C、Python

    我正在考虑在一个项目中尝试 OpenCV 并注意到它有 C C 和 Python 我正在尝试确定是否应该使用 C C 还是 Python 并且希望使用具有最佳 OpenCV 支持的任何语言 仅从查看各种文档的索引页来看 C 绑定可能比其他绑
  • 如何(自动)生成 MVC + Entity 的 Web api 控制器或基因查询所有类型

    作为 MVC4 Entity WebAPI 的新手 我对仅仅拥有 GET POST 控制器处理程序和到数据模型的自定义映射感到沮丧 我想我要问的是有一个生成工具 例如从数据类创建控制器类 这样我就可以直接从数据执行简单的 GET 命令 制作
  • SQL 和 Dapper 性能隐式转换

    我们如何防止 Dapper 中的 SQL 隐式转换 我们意识到 我们正在进行 SQL 隐式转换 导致索引扫描和死锁 Dapper 参数是 nvarchar 而 SQL 表列是 varchar 这导致我们所有的 sql 列都转换为 nvarc
  • 安全地抛出在另一个线程上创建的异常 C#

    我想在线程A中捕获异常 然后将异常对象传递给线程B 并从线程B中抛出它 这样安全吗 Thread A try Code that throws exceptions catch Exception e sendToOtherThread e
  • 如何使信号客户端避免表单身份验证?

    我的 MVC 网站在 web config 中有表单授权 现在所有的页面都需要通过授权才能被查看 但是现在我有一个控制台程序 C 控制台程序 这个程序需要发送一些消息到 SignalR 集线器 但是我的 signalR Hub 在我的 MV
  • 如何通过参数包传递引用?

    我有以下代码 include
  • 基于路由参数的子容器注册

    我们有一个多租户 ASP NET MVC 应用程序 为多个客户端托管预订引擎 这些客户端中的每一个都有多个可以影响 Unity 容器配置的包 我们为每个请求创建一个子容器 并根据通过路由传递的客户端和包参数注册不同的接口实现 目前 我们正在
  • ncurses 和curses - 编译器未定义的引用

    好吧 我最初一直在尝试使用一些据称仅适用于 Windows 的标头 我的错 但我已经使用curses h 重现了我需要的内容 但是我仍然收到完全相同的错误 usr bin gmake f nbproject Makefile Debug m
  • 将字符串中的每个字符转换为 ASCII

    谁能告诉我如何轻松地将字符串中的每个字符转换为 ASCII 值 以便我可以对这些值求和 我需要对哈希函数的值求和 字符串中的每个字符都已经是 ascii include
  • 我是否需要显式关闭并处置 SQLConnection?

    SqlDataReader rdr null con new SqlConnection objUtilityDAL ConnectionString using SqlCommand cmd con CreateCommand try i
  • 在头文件 (.h) 中声明构造函数然后在类文件 (.cpp) 中定义 C++ 的语法 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果有人可以解决这个问题 我将不胜感
  • Windows 窗体应用程序中异常处理的最佳实践?

    我目前正在编写我的第一个 Windows 窗体应用程序 我现在已经阅读了几本 C 书籍 因此对 C 必须处理异常的语言特性有了相对较好的了解 然而 它们都非常理论化 因此我还没有了解如何将基本概念转化为应用程序中良好的异常处理模型 有人愿意

随机推荐