【发布时间】:2017-03-04 05:25:01
【问题描述】:
我正在做一个 C++ 项目,通过一些已知的力场来跟踪粒子。该代码以粒子的位置和动量的形式生成大量数据。我已经在粒子跟踪例程中使用了openmp指令。但是,整体性能最终取决于编写输出文件所花费的时间。我知道不建议使用线程将数据写入输出文件(我已经尝试过)。我很好奇是否有任何方法可以使用多个线程将数据写入多个文件(比如我有 4 个线程,每个线程同时写入 4 个文件)。你能建议我如何进行吗?关于如何有效地将数据流式传输到文件的任何提示? 提前致谢
【问题讨论】:
-
您可以访问并行文件系统吗?如果没有,那么就不要费心尝试并行化您的 IO...
-
@Gilles 我不会再为此烦恼了:D
标签: c++ multithreading openmp