In this paper, we present design and implementation of a fast runtime visualizer for a GPU-based 3D-FDTD electromagnetic simulation. We focus on improving the productivity of simulator development without compromising simulation performance. In order to keep the portability, we implemented a visualizer with the MVC model, where simulation kernels and visualization process were completely separated. For high-speed visualization, an interoperability mechanism between OpenGL and CUDA was used in addition to efficient utilization of programmable shaders. We also propose an asynchronous multi-threaded execution with a triple-buffering technique so that developers can concentrate on developing their simulation kernels. As a result of empirical visualization experiments of electromagnetic simulations for practical antenna design, it was revealed that our implementation achieved a rendering throughput of 90 FPS for a view port of 512 x 512 pixels, which corresponds to a 12.9 times speedup compared to when the OpenGL-CUDA interoperability mechanism was not utilized. When a standard visualization throughput of 60 FPS was selected, the performance overhead imposed by the visualization process was 15.8%, which was reasonably low compared to a speedup of the simulation kernel gained by the GPU acceleration.
展开▼
机译:在本文中,我们介绍了用于基于GPU的3D-FDTD电磁仿真的快速运行时可视化器的设计和实现。我们专注于在不影响仿真性能的情况下提高仿真器开发的生产率。为了保持可移植性,我们使用MVC模型实现了可视化程序,其中仿真内核和可视化过程完全分开。对于高速可视化,除了有效利用可编程着色器之外,还使用了OpenGL和CUDA之间的互操作性机制。我们还提出了一种具有三重缓冲技术的异步多线程执行,以便开发人员可以专注于开发其仿真内核。通过对实际天线设计进行电磁仿真的经验可视化实验的结果,我们的实现揭示了我们的实现为512 x 512像素的视口实现了90 FPS的渲染吞吐量,这与OpenGL时的速度相比提高了12.9倍-未使用CUDA互操作性机制。选择60 FPS的标准可视化吞吐量时,可视化过程带来的性能开销为15.8%,与GPU加速所获得的仿真内核加速相比,这是相当低的。
展开▼