Running VisIt in Batch Mode on Comet

The VisIt application relies on complex integration with job scheduler and several dependent libraries making these instructions not easily transferable to other XSEDE resources. This section provides a simple way to run VisIt in batch mode on Comet.

  1. Login to Comet
  2. Download the batch scripts archive and unzip it in your home directory:
    % cd ~/
    % wget http://www.sdsc.edu/us/visservices/downloads/software/visit/batch_visit.zip
    % unzip batch_visit.zip
    % cd batch_visit
  3. Render Script: Examine the render.py script. This python script will perform the following tasks:
    1. Start parallel compute engines on specified nodes and cores
    2. Open a multi_rect3d data file
    3. Create a volume-rendering plot for variable d using raycasting
    4. Save the rendered image to batch_visit directory
    5. Delete the plot, close the file, close the compute engine and then terminate
  4. Job Script: Examine the submit.sh script. This job submission shell script requests nodes and cores for rendering and then runs the render.py script. Note that the following parameters may need to be modified:
    1. The script currently requests 2 nodes with 16 cores for 5 minutes. This may need to be increased for more computationally intensive visualization tasks.
    2. Change your allocation account in the line #PBS -A gue998. If you are unsure of which accounts you are authorized to use, run the show_accounts command.
  5. Test Run: Submit the job script using qsub on Comet

    % qsub submit.sh

    Once the job completes, you should see myBatchRender0000.png and myBatch_render* log files in your batch_visit directory.


    Volume rendered image for variable d

Benchmark VisIt Rendering Performance on Comet for Identifying Best Configuration

Often it is necessary to identify best node to core ratio for visualizing large data. This section provides instruction to determine best performing configuration for rendering with VisIt on Comet.

  1. Login to Comet
  2. Download the benchmark scripts archive and unzip it in your home directory:
    % cd ~/
    % wget http://www.sdsc.edu/us/visservices/downloads/software/visit/bench_visit.zip
    % unzip bench_visit.zip
    % cd bench_visit
  3. Render Script: Examine the render_bench.py script. This python script will perform the following tasks:
    1. Start parallel compute engines on specified nodes and cores
    2. Open a multi_rect3d data file
    3. Create a volume-rendering plot for variable d using raycasting
    4. Save the rendered image to bench_visit directory
    5. Measure the total rendering time for a given node and core configuration
    6. Delete the plot, close the file, close the compute engine and then terminate
  4. Launch Script: Examine the launch_bench.sh script. This shell script will automatically create and submit several batch jobs requesting different numbers of nodes and cores for benchmark rendering. Note that the following parameters may need to be modified:
    1. Change your allocation account in line 13: myAccount=PROJECT. If you are unsure of which accounts you are authorized to use, run the show_accounts command.
    2. The number of nodes in line 7 may need to be increased for very large visualization problems.
  5. Test Run:
    1. Change permissions and execute the launch_bench.sh script.
      % chmod a+x launch_bench.sh
      % ./launch_bench.sh
    2. A script named myBench_setup will be created in bench_visit directory
    3. Finally, the myBench_setup script is automatically submitted for different configurations in a way such that only one job runs at a time to avoid data file read contention.
    4. Once the job completes you should see several images named myBenchRender*.png and myBench_nodes*cores* log files in the bench_visit directory.
    5. Examine the render time consumed by each configuration
      % tail -n 3 myBench_nodes*.o*
    6. While the test case chosen here is trivial, this method could be very useful with large data sets.