Azure HPC OnDemand Platform: Visualizing Data with ParaView
Published Feb 22 2023 04:55 PM 3,851 Views
Microsoft
Azure HPC OnDemand Platform is a solution accelerator to deploy a complete HPC cluster solution in Azure. Simply put, there are lots of resources that need to deployed and properly configured to create a working HPC cluster in Azure. If the resources are not configured correctly, it's easy to encounter performance issues or security concerns. AzHOP helps in making sure that the resources are properly configured and ready to use. AzHOP uses Open OnDemand to provide a web-based interface to access the HPC cluster including submitting jobs, monitoring jobs, access files etc. It also makes it possible to deploy interactive applications on the HPC cluster that the users can access directly from the web browser.

 

AzHOP comes with a set of pre-configured applications that can be deployed on the HPC cluster such as CodeServer, JupyterLab, Ansys Workbench, and VMD. We recently added support for another widely used open source data analysis and visualization application, ParaView. In this post, we will look at how to use AzHOP to deploy a ParaView application on the HPC cluster and use it to visualize data.
 

Enabling ParaView in AzHOP

 

By default, AzHOP configuration is not setup to deploy ParaView. To enable ParaView, we need to update the config.yml file used for the deployment as follows:

 

 

 

 

... # other configuration

applications:
    ... # other applications
    bc_paraview:
        enabled: true

 

 

 

 

 

If we deploy a new cluster using the updated configuration, the cluster initialization script will download and setup ParaView executables on the shared file system accessible to the cluster nodes. Note, if you modify the configuration file after the cluster is deployed, you will need to run the cluster initialization script again to update the cluster configuration. Typically, [az-hop dir]: ./install.sh ood-custom will do the trick. Currently, the ansible scripts are setup to download the official binaries for 5.11.0 from the ParaView website.

 

On successful deployment, the ParaView application will be available in the Open OnDemand web interface and is ready to use.
 

Using ParaView in AzHOP

 

On the AzHOP On-Demand web interface, you will see a new application called ParaView under the Interactive Apps menu. Clicking on the ParaView icon will take you to the launch page for the application.

 

paraview_launch_form.png

 

There are several configuration options available for the user to choose. Maximum duration is the job time limit for the application in hours. Node type lets you choose the node SKU to run the job one. Currently, you choose between two node SKUs with GPU and one without. In a default deployment, With GPU corresponds to Standard_NV12_v3Large With GPU corresponds to Standard_NV48s_v3, and Without GPU corresponds to Standard_D8s_v5. These are of course configurable and subject to change as new SKUs are introduced in Azure. For the most part, that's all you really need to select when launching the job. The ParaView version selection is currently limited to 5.11. The ParaView Home Directory is meant only for customizing the location of the ParaView installation. The default value should work for most cases.

 

Once you click on the Launch button, a job will be queued and started on the cluster. Once the job is started, you can click on the Launch ParaView button to connect to a VNC session running ParaView.
 
paraview_session_ready.png

 

This will open a new tab in your browser with ParaView open. Your session will always be running even if you close the tab. Closing the ParaView window, however, will terminate the session.

 

paraview_session.png

 

Details about the ParaView deployment

 

For advanced users of ParaView, here are some of the details about the current deployment in AzHOP.
 
As mentioned earlier, the deployment script downloads the official binaries for 5.11.0 from the ParaView website. Thus they include all the plugins and other dependencies that are distributed with the official binaries, including ray tracing plugins for OSPray and Optix, IndeX volume rendering, and more.

 

The application launch page lets you choose how much of the node to allocate for the job. If you allocated more than 1 core for the job, then ParaView is launched in client-server mode with a parallel pvserver running in the background on the same node. The pvserver has exactly as many ranks as the number of cores allocated for the job. Currently, multi-node jobs are not supported, although we do plan to add support for that in the future.

 

Based on whether the selected node type has GPU or not, the deployment script will setup the ParaView environment to use either the CPU or GPU for default rendering. This is achieved by dynamically choosing between OSMesa and EGL binaries for the pvserver executables.
Version history
Last update:
‎Feb 22 2023 08:55 AM
Updated by: