模拟周期性可视化的计算解决方案是什么?

计算科学 表现 可视化
2021-12-25 00:20:04

我喜欢将我的科学模拟程序设置为在一定次数的迭代后生成图片,这样我就可以跟踪正在发生的事情,并可能在最初计划的迭代之前取消模拟。图片的周期性必须使它们不会对性能产生太大影响。有时,我什至创建窗口来输入模拟的参数。

我已经合并了

  • Fortran with C with OpenGL(Fortran 程序生成 C/OpenGL 代码并执行它)
  • 带有 Java 2D 的 Java 或带有使用 Swing (NetBeans) 创建的 GUI 的 Java 3D

Java 具有可移植性的优势,但我不知道它比 Fortran 和 C 慢多少,因为我用它们各自编写了不同的程序。

您是否使用另一种解决方案在 N [最好是高性能] 迭代之间进行实时图像打印或可视化?

1个回答

我的典型方法是生成包含所需间隔数据的输出数据文件,并在闲暇时使用单独的工具(Paraview、VisIt、Tecplot、MATLAB 等)以批处理方式将它们可视化。借助快速的文件系统和良好的并行 I/O 包(HDF5、MPI I/O、ADIOS 等),这通常可以在不过多干扰解决方案过程的性能的情况下完成。

您是否有证据表明在您的程序中生成图片目前是一个瓶颈?即,您是否有显示这一点的时间或分析数据?产生输出是一个瓶颈并不常见,但如果你过于频繁地产生它,它可能会成为瓶颈。