Compiling ParaView3 for Cray supercomputers: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
(New page: ==Objectives and Overview== Our goal is to run pvbatch on Cray massively parallel processor systems. Pvbatch is ParaView's http://en.wikipedia.org/wiki/Message_Passing_Interface MPI-...)
 
No edit summary
Line 1: Line 1:
This wiki page is currently a work in progress.
==Objectives and Overview==
==Objectives and Overview==



Revision as of 18:08, 17 December 2007

This wiki page is currently a work in progress.

Objectives and Overview

Our goal is to run pvbatch on Cray massively parallel processor systems. Pvbatch is ParaView's [MPI]-enabled batch application. It reads batch scripts written in python and distributes the work across many processors. Pvbatch will be built when you compile ParaView 3. Before you can compile ParaView 3 you must compile three support packages- CMake, OSMesa, Python. The entire process will take about three hours to complete and you should have at least one gigabyte of workspace.

These instructions are intended for Cray MPP systems running the Catamount operating system. Specifically, these instructions have been tested on the Bigben XT3 supercomputer at Pittsburgh Supercomputing Center.

Terminology

These terms are probably self explanatory, but just to clarify...

  • front end node - the computer/shell you log into and work on.
  • native operating system - the operating system running on the front end node
  • native build - software that executes on the front end nodes
  • compute node - the computers/processors running scientific computation
  • catamount - the operating system running on the compute nodes
  • catamount build - software that has been cross compiled to execute on the compute node

Build steps

You will log into a shell on a front end node, at PSC the front end nodes run SuSE linux. You will cross compile ParaView 3 binaries for execution on the compute nodes. Before you compile ParaView 3 you must compile CMake, OSMesa, and Python. Some of these packages must be compiled twice: one native version and one cross compiled version. The steps required are:

  1. Compile a CMake native build.
  2. Compile an OSMesa native build.
  3. Compile an OSMesa catamount build.
  4. Compile a Python native build.
  5. Compile a ParaView 3 native build.
  6. Compile a ParaView 3 catamount build.

Step 2 is optional if your front end system already has OSMesa installed. Step 4 is optional if your front end system already has Python installed.

Why are the native builds required?

When ParaView builds, it compiles and executes helper binaries to generate source code to be used in future build targets. When you cross compile, these helper binaries cannot execute, since they are non-native to the front end node you are working on. The solution is to build a native version first, then use the native helper binaries while cross compiling.

Compilers

The front end nodes have more than one compiler installed. We will use the PGI and GNU compilers. At Bigben, the PGI compiler is the default compiler when you log in. To switch compilers, use the command:

...

For more information see this page.

Directory structure

Setup your directories however you'd like. The example commands given in these instructions are specific to my directory structure, however, so here is how I set up my directories:

~/
  install/
    bin/
    include/
    lib/

  install-catamount/
    bin/
    include/
    lib/

  projects/
    cmake/
      CMake/
      build-native/

    osmesa/
      OSMesa-native/
      OSMesa-catamount/

    python/
      python-for-cmake/
      build-native/
      build-catamount/

    paraview/
      ParaView3/
      build-native/
      build-catamount/