On May 8, just as the 2017 NVIDIA GPU Technology Conference (GTC) was kicking off, a notice popped up in the NVIDIA DesignWorks forum.
“We are pleased to announce the first release 1.0 of NVIDIA GVDB Voxels went live,” it ran.
VDB, short for voxel database, is a familiar term for many in the modeling and visualization space, especially film makers and game developers. The technology is well-documented in the OpenVDB initiative, which maintains a library and a suite of tools for the technology framework. Credit for VDB goes to Ken Museth at DreamWorks Animation, who first developed it.
GVDB is not a derivative of VDB but the GPU-optimized counterpart to VDB that originated inside NVIDIA R&D, according to Andrew Page, NVIDIA’s product manager.
“VDB isn’t structured in a way that can easily be ported to the GPU,” explained Page. “The toolkit in our version, GVDB, takes full advantage of the GPU. The OpenVDB community is aware of our efforts and is very supportive of us.”
From Smokes and Fire to FEA
The current version of GVDB is written in NVIDIA’s CUDA GPU programming framework, so it requires CUDA-embedded hardware to run on. However, GVDB is available as open source technology, so other developers may deliver programs and variations that work on a wider range of hardware.
Though VDB is largely used for creating volumetric smokes, fire, and water effects in films and games, Page and his colleagues at NVIDIA think GVDB can go into new territories, like finite element analysis (FEA), topology optimization, and additive manufacturing (AM) simulation.
Optimization for 3D Printing
Typically, when you work with topology optimization software, you supply the program with loads, stresses, and material characterization, then let the software identify the best shape or geometry that meets your design objectives. But there’s a different kind of optimization that AM pioneers — especially those experimenting with large-scale, industrial AM — have been looking for: Given the anticipated stress and loads on a certain shape, what is the best internal structure to use to counteract them while maintain the general outer shell?
In that regard, the demonstration of GVDB at GTC offers some tantalizing possibilities. With GVDB-based simulation, the demo showed you could build a program to automatically populate the interior of a 3D model with lattice or honeycomb structures, with varying densities in different regions to account for the anticipated stress loads.
HP Labs and NVIDIA
“The demo at GTC was built with the current release of GVDB,” explained Page. “Loading the tessellated model into GVDB is part of the code. That part is GPU-accelerated. The ray-traced visualization of the loaded volume is a sample application of GVDB, based on our Optix ray-tracing engine. The voxel-based simulation [or optimization] is done with the technology from HP Labs. The part that displays the structural infills based on simulation is currently not yet released, but it demonstrates it can be done with GVDB.”
In his presentation at GTC, Jun Zeng, principal scientist for HP Labs told the audience that his team “had started using GPUs to more quickly process 3D printing voxels,” NVIDIA reported.
Currently, CAD users prepare the geometry in CAD software, then export the model as STL or another 3D printing file format for printing. “If software vendors begin adopting it, you’d probably start to see GVDB as part of the data flow between STL to the print-preparation tools,” Page said. “In longer view, what we’d like to see is CAD applications sending voxels directly to the printer [without going through an intermediary file format] and printing the job based off voxel information.”
For more on the demo, check out the dedicated page here.
In most FEA operations, the traditional meshing methods will still remain the best option. However, “There are certain types of FEA problems that are easier to solve with voxels,” Page pointed out. “There are areas where traditional mesh types may create problem when scaling. Maybe solving these problems with regular voxels is simpler.”
Using GVDB in compute-intensive operations can be advantageous because “it only stores the voxel information where it’s needed,” Page explained. “But managing the data structure and getting it into a sparse data format is a difficult problem to solve. We’ve already solved that with GVDB for you.”
To make that happen, NVIDIA would have to convince partner FEA and optimization software developers to devote some time and energy on making their solvers voxel-friendly.
“Voxels and FEA are complementary technologies,” Page pointed out.
For more on GVDB, watch the video clip below: