As with BG/P, the machine is split into two parts. Eureka is on the Intrepid filesystem, and Gadzooksis on the Surveyor filesystem, so you can process your files without moving them.
More information on Eureka and Gadzooks can be found in their system guide.
The recommended way of running ParaView on Eureka is in client/server mode. This consists of running the ParaView client on your local resource, and the ParaView server (pvserver) on the Eureka visualization nodes. The latest version currently installed on Eureka is ParaView 3.14. This should first be installed on your local resource. Binary and source packages for Linux, MacOS, and Windows are available from the ParaView Download Page.
To put ParaView in your environment on Eureka, add the following line to your ~/.softenvrc file (Note: This must go before the @default entry. Also note that this macro conflicts with the @visit macro used for enabling VisIt, so only one of these lines should be active at a time. The other should be removed from your .softenvrc file, or commented out using the '#' character at the beginning of the line.):
@paraview-3.14.1
Then run the command "resoft".
In order for ParaView to take advantage of the accelerated graphics on Eureka, the DISPLAY environment variable needs to be set to the local X server. This can be done by adding a few lines to the configuration file that sets up your default shell on Intrepid/Eureka.
Bash users should add the following to your ~/.bashrc file on Intrepid/Eureka:
(Note: Be careful to ensure that the characters around the word hostname are backticks, and not single quotes, especially if cutting and pasting the text.)
if ( echo `hostname` | grep -sq 'vs' ); then export DISPLAY=:0.0 fi
Csh/Tcsh users should add the following to your ~/.cshrc file on Intrepid/Eureka:
(Note: Be careful to ensure that the characters around the word hostname are backticks, and not single quotes, especially if cutting and pasting the text.)
if( `hostname` =~ '*vs*' ) then setenv DISPLAY :0.0 endif
This will tell any process that runs on a visualization node to use display :0.0 (without changing any settings you may have set on the login node). This means that there can only be one pvserver process per node, even though each node has 2 graphics cards.
In order to connect the ParaView client to a running pvserver, you need to know the host (and port) where the server is listening. This will be the head node of the job. There are several ways to do this, but probably the easiest is to submit an interactive job, starting from a shell on a eureka login node:
login1.eureka:~> qsubi -n 4 -t 60 -A project_id
The -A project_id is required only if you have multiple projects. When the job starts, you will automatically be logged into the head node of your job. Be sure to take note of the hostname of the host that you end up on, as you will need it in order to connect your ParaView client to the pvserver.
We manually run the mpiexec command to start pvserver:
vs37:~> mpiexec -machinefile $COBALT_NODEFILE -np 4 pvserver Waiting for client.. Connection URL: CS://vs37:11111 Accepting connection(s): vs37:11111
Because of the current display settings, you should run 1 process on each node. So the -n value passed to qsubi and the -np value passed to mpiexec above should be the same. Otherwise, multiple processes on the same host will step on each other while trying to access the same graphics card.
Once the pvserver is running, and is "Accepting connection(s)" as shown above, you can connect to it from the ParaView client on your local resource. To do this we will need to set up a server configuration in your local ParaView client. (We will only need to do this once, details below.) We will also need to set up an ssh tunnel from your local resource through the Eureka login node, to the visualization node where your pvserver is listening. This will be the host where you ran mpiexec above. (This will need to be done each time you submit a new qsubi, since you will likely end up on a different host each time.)
From a shell on your local resource, run the following command, substituting vs37 with the node where your pvserver is listening (where you ran mpiexec above). If your local username is different from your login on Eureka, you should include it in the commandline below (Note: You will be prompted for your CRYPTOcard one time password. After you authenticate, the ssh tunnel will be established, but you won't receive any output or be returned to a command prompt. This is normal. When you are done with your session, use Ctrl^C to close the tunnel.):
ssh -NL 11111:vs37:11111 username@eureka.alcf.anl.gov
Download PuTTY from: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Right-click on putty.exe, save link as: C:\putty.exe
Then start PuTTY using the following command, substituting vs37 with the node where your pvserver is listening (where you ran mpiexec above). If your local username is different from your login on Eureka, you should include it in the commandline below (Note: You will be prompted for your CRYPTOcard one time password. After you authenticate, the ssh tunnel will be established, but you won't receive any output or be returned to a command prompt. This is normal.):
c:\putty -ssh -NL 11111:vs37:11111 username@eureka.alcf.anl.gov
You should now launch the ParaView client on your local resource. In order to connect to our running pvserver, we will need to configure some server settings in the client. This should only need to be done once, and can be reused each time you run ParaView on Eureka.
Now when you select File->Open from the main menu, you will be browsing the filesystem on Eureka.
On your local machine:
On the Eureka login host:
Visit user manual: https://wci.llnl.gov/codes/visit/manuals.html
Visit wiki: http://www.visitusers.org/index.php?title=Main_Page