How do you know if an airplane will fly, a nuclear boom will explode, or what Jupiter is made of? You take a bazillion tons of data (that’s how we measure data in today’s zettascale of data creation) and create a simulation with it, which generates a visualization of it.
Weather and climate change forecasting, subatomic structure actions and reactions, genomics and protein folding, geophysics and oil reserve investigation, emerging artificial intelligence applications, and other significant esoteric and complicated grand problems need visualizations.
We must see it to understand it. See its dynamic actions and reactions to predict future behavior. And creating such visualizations is difficult, time-consuming, and expensive. No single organization, no company, university, or government can do it all alone. Therefore, the development efforts by researchers, data scientists, programmers, and mathematicians need a mechanism to coordinate their efforts and leverage one another’s work.
The barriers to such collaboration and communication have been secrecy, proprietary and competitive developments, and a lack of a common communications platform.
That’s all behind us now as the major forces in visualization hardware and software have come to a common understanding. Khronos, the industry’s broker and trustee for collaboration between competitors, has announced the release of the ANARI 1.0 provisional open-standard API for scalable 3D data visualization. (Analytic Rendering Interface — the name comes from the primary initial use case being data visualization.)
This is a really big deal, a major breakthrough.
The ANARI Stack
Khronos’ ANARI will allow users to quickly and easily build a scene description and generate an image from it. Under the covers, the scene description gets converted into USD, providing a pathway to metaverses like Nvidia’s Omniverse.
ANARI will enable users to quickly and easily build a scene description and create an image from it. ANARI doesn’t specify the rendering details; the rendering gets left to the backend engine. It will provide a simplified way to develop a vis application with cross-vendor portability. And it will allow the use of diverse rendering engines, including those employing ray tracing.
Big 3D visualizations run on supercomputers that are solving super big problems. 3D visualizations help scientific and engineering researchers, economists, and sociologists understand the relations of complex situations and gain insights from large quantities of complex data.
ANARI will offer a high-level API to build scene descriptions. No rendering details are required because it is not a scene graph. No application-specific structures, traversals, and metadata are needed. Unidirectional data flows from the app to ANARI. And the same scene description can be used to drive any backend rendering code portability.
Low-level explicit control of GPU rendering and compute can be complex to program. ANARI will get used to implementing backend rendering engines. In fact, it can accelerate a wide diversity of rendering techniques.
Before ANARI, visualization engines, libraries, and applications used proprietary APIs to access rendering engines from multiple vendors. ANARI will save significant development time and costs by providing a new level of cross-vendor API. It will enable users to get right to work on the description of a scene and not have to burn valuable time specifying rendering details. That provides visualization application portability. It allows the use of a wide range of backend rendering engines. Those rendering engines, built by various organizations, public and private, can continue to innovate their rendering technologies independently.
The scientific visualization ecosystem has been around since the late 1970s and is diverse and worldwide. It includes visualization application vendors such as VMD, VTK/ParaView, and VisIt, and they have participated in ANARI’s design. There are also early ANARI implementations in development by AMD, Intel, and Nvidia, to provide access to their Radeon ProRender, OSPRay, and VisRTX rendering engines, respectively.
As is the mandate of Khronos, ANARI is platform-independent. It is based on C99/C++ and designed for rendering at any scale of available hardware. Direct coupling with applications enables asynchronous overlap of compute and rendering. And it allows large memory-resident volume and geometry datasets processed in situ. Run-time querying enables matchmaking of applications to suitable renderers.
ANARI 1.0 has been released as a provisional specification to incorporate industry feedback before the specification gets finalized. Khronos welcomes comments and feedback from the data visualization community at the specification GitHub repository (https://github.com/KhronosGroup/ANARI-Docs
) to ensure that ANARI integrates effectively with existing workflows.
In addition to the specification, the ANARI Working Group has released a collection of open-source software under the Apache 2.0 license to help developers and implementors become familiar with the API. Implementations will be able to become officially conformant when the final specification and conformance tests are released in 2022.
The software includes a simple ANARI implementation with CPU-based ray tracing and no external engine dependencies. There is also a library of small examples of ANARI applications, an early validation layer for debugging and tracing API calls. And there is a beta release of the ANARI conformance test suite.
What do we think?
The National Science Foundation report, Visualization in Scientific Computing, is generally credited with launching the field of scientific visualization in 1987.
And 27 years ago, in 1994, Larry Rosenblum edited a special issue of IEEE Computer Graphics and Applications on
Research Issues in Scientific Visualization, focusing on then-recent advances and emerging topics in visualization. In 1999, Bill Hibbard created his list of top 10 visualization problems. Several disciplines, like transportation, have their own publications on visualization.
There are dozens of applications because so many people have been working on scientific visualization for so long. But most of them, if not all, are little silos onto themselves and have little awareness or compatibility with the outside world.
~1 billion atom protocell membrane with ~1400 proteins (VMD), created with ANARI
There’s a faint line between scientific visualization and other visualizations like architectural and infrastructure interactive renderings. All CAD and PLM systems have extensive visualization capabilities, including global illumination ray tracing. One of the most successful tools for visualization has been Blender. Scientific visualization is generally associated with gigantic databases. It can only be run on a supercomputer, and that may be the differentiation between simulations and the more common visualizations run on workstations.
Tom DeFanti, one of the authors of the NSF paper cited above, told me, “With Scientific Visualization, you don’t know what you’re going to see in advance, and what you do see doesn’t usually looks like reality. With architectural, engineering CAD, and infrastructure interactive renderings, you are not expecting surprises — although errors are instructive….”
Nevertheless, it will be interesting to see if ANARI will add value beyond its initial focus on scientific visualization for any developer looking for a simpler, high-level API to render sophisticated imagery.
Dr. Jon Peddie (firstname.lastname@example.org) is a recognized author and pioneer in the graphics industry; president of Jon Peddie Research, a Tiburon-CA-based consultancy specializing in graphics and multimedia that also publishes JPR’s “TechWatch”; and named one of the most influential analysts in the world.