Remote Visualization

After a short break, Hank decided to get especially brave and attempt a live demonstration of Remote visualization & analysis with VisIt, over the conference WiFi, to a NERSC-controlled SGI Altix named DaVinci.  Much to everyone’s surprise, it worked flawlessly first time.  He was able to remotely load a dataset, and perform a simple 4-processor parallel visualization in mere seconds from scratch.  They covered the basic use of the hosts specification, and mentioned a bit about their support for batch queuing systems like bsub and qsub.

While neither Hank nor Sean were experts at it, they did state that they have built special modules for VisIt, which come in the standard distribution, so that you can run VisIt in client-server mode in a classic HPC environment where you have separate login nodes & compute nodes (login nodes have external access, backend compute nodes do not but run all of the ‘mpirun’-style jobs).  The effective result is that data is tunneled through a simple relay process on the login node to the user, avoiding many of the problems that exist with solutions like EnSight & ParaView.  This is a huge benefit for people working in HPC environments doing massive visualization, and one that I intend to investigate further.

Alternative Visualizations

The next portion of the talk focused on some of the “alternative visualization” technologies they’ve added into VisIt.  Visualization methods such as scatterplot, parallel axes, and more were demonstrated with surprising ease.  The parallel axes visualization was particularly impressive, as they demonstrated their implementation of a density histograph algorithm to clear up the display and use of interactive sliders to threshold data by multiple criteria simultaneously, and then connect that to a traditional 3D display, in effect turning the data visualization tool into a new input widget.

An Example of VisIt's Parallel coordinate visualization

An Example of VisIt's Parallel coordinate visualization

They also spoke about their support for “Cross Mesh Field Evaluations” (CMFE), which is a way of taking two individual meshes and analyzing them in a similar coordinate space by overlaying the data.  The usage is pretty straightforward, allowing you to load two datasets from two simulations and then perform analysis using both of them, such as differencing them at various points to check for differences between them.