Scientific visualization plays a large role in exploring the scientific simulations that run on supercomputers; new discoveries are often made by studying renderings generated through visualization of simulation results. The standard technique for rendering geometry is rasterization and the most commonly used library for performing this is OpenGL. Many visualization programs (VisIt, Ensight, VAPOR, ParaView, VTK) use OpenGL for rendering. However, recent architectural changes on supercomputers create significant opportunities for alternate rendering techniques. The computational power available on emerging many-core architectures, such as the Intel Xeon Phi processors on TACC's Stampede machine, enable ray-tracing, a higher quality technique. Further, as the amount of geometry per node rises, ray-tracing becomes increasingly cost effective, since its computational costs are proportional to the screen size, not the geometry size. Finally, the software implementation for OpenGL can not be easily mapped to non-GPU multi-core and many-core systems, creating a significant gap; if not closed, visualization will not be possible directly on large supercomputers. This confluence of new, more capable architectures, the increase in geometry per node, and concerns about the durability of the established rendering path all motivate this work.
To address these trends, we pursue a two-pronged approach. First, GraviT will replace the OpenGL pathways that are commonly used for visualization with a high-performance, open-source ray tracing engine that can interactively render on both a CPU and on accelerator architectures. This new library will support the OpenGL API and will be usable immediately by any OpenGL-based visualization package without additional code modification. Second, GraviT will provide a direct interface to a high-performance distributed ray tracing engine so that applications can take advantage of ray tracing capabilities not easily exposed through the standard OpenGL interface, such as participating media and global illumination simulation. These features will enable the open science community to easily create photo-realistic imagery with natural lighting cues to aid in analysis and discovery. It will further expand the capacity of existing cyberinfrastructure to provide interactive visualization on standard HPC resources.
This work has the potential to revolutionize in situ visualizaiton capabilities by unifying the (potentially hybrid) architecture that efficiently run both simulation and visualization. Communicating with underrepresented groups will be a major component of outreach efforts through the PCARP, MITE and Women in Engineering programs. In addition, the project team will disseminate this work to the general public through NSF XD program, the VisIt visualization toolkit and by exhibiting at forums such as IEEE Visualization, IEEE High Performance Graphics and ACM Supercomputing.
Manager, Scalable Vis Technologies Group
Paul A. Navrátil, Hank Childs, Donald S. Fussell and Calvin Lin. Comparing Dynamic and Static Scheduling for Large-Scale Distributed-Memory Ray Tracing. Transactions on Visualization and Computer Graphics, June 2014. (ACI-1339863)
Aaron Knoll, Ingo Wald, Paul Navrátil, Anne Bowen, Khairi Reda, Michael E Papka, and Kelly P Gaither. Fast RBF Volume Rendering on CPU and MIC. Proceedings of EuroVis 2014. (ACI-1339863)
Liang Zhou and Charles Hansen. GuideME: Slice-guided Semiautomatic Multivariate Exploration of Volumes. Proceedings of EuroVis 2014. (ACI-1339881)
Aaron Knoll, Ingo Wald, Paul A. Navrátil, Michael E. Papka and Kelly P. Gaither. Ray Tracing and Volume Rendering Large Molecular Data on Multi-Core and Many-Core Architectures. Proceedings of UltraVis 2013. (ACI-1339863)
Collaborative Research: SI2-SSI: A Comprehensive Ray Tracing Framework for Visualization in Distributed-Memory Parallel Environments.
TACC and ParaTools - ACI-1339863
Oregon - ACI-1339840
Utah - ACI-1339881