HP SVA V2.0 Parallel Compositing Reference Guide

To run hello-depth and hello-alpha samples, decide on the nodes where you want run
the sample. You need at least one display node.
Assume your SVA cluster has nodes n[1-10] and you decide to use nodes n[10,8,5,6] where
n10 is a display node. Run the sample using the corresponding script. For example, to run the
hello-depth sample, use a command such as the following:
$ ./launch-depth.sh -w n[10,8,5,6]
Note that the GUI of the program will be on the first node, n10 in this case. Make sure that a
display is attached to that node, or that you can switch to that display using a KVM.
1.6.2 Intermediate Set of Samples
The /opt/paracomp/samples/intermediate directory contains programs which help
demonstrate more features of the Library. It contains source files, a makefile to build all samples,
and scripts to run the programs on an SVA cluster.
1.6.2.1 interactive Sample
The hello-depth sample illustrates depth compositing of a set of cubes one drawn by each
host. User interaction with the sample is limited to stopping the program and re-sizing the display
window. In the interactive sample, more user interaction is available to support rotating,
panning, and zooming the image using the left mouse button.
This adds some complexity to the application. It is now necessary that all hosts rotate, pan, and
zoom in a coordinated way. This information is gathered by the master and communicated to
the slaves using network sockets.
Here is how to control the program:
How ToAction
Hold MB1 and drag.Rotate the model.
Press the SHIFT key and drag with MB1.Pan.
Press the CTRL key and drag with MB1.Zoom.
Press the ESC key.Exit.
The sample (like all samples in this directory) is written in C++. The
/opt/paracomp/samples/intermediate/support directory supplies classes for socket
communication and nVidia classes to interact with the mouse.
1.6.2.2 boundingbox Sample
In the interactive sample, all framelets and outputs are the same dimensions as the frame.
If this window were 1000 x 1000 pixels, the Library would transfer 1,000,000 pixels per frame
among the hosts. This is despite the fact that much of the 1000 x 1000 framelet is blank.
In the boundingbox sample, each host determines the area on the frame where it actually has
drawn pixels. It calculates the rectangular region where it has drawn (known as a bounding box)
and uses this rectangle as the framelet. This dramatically reduces the amount of information
transferred among the hosts and by so doing, greatly improves performance.
The sample introduces several new features. This is the first time framelet size is not dictated by
the frame size. The HP implementation supports framelets being different dimensions (a feature
not supported in the sample implementation).
The sample also uses the pcFrameWaitOutputHP function, which is part of the
HP_frame_output extension. Using this function for collecting output, an application gets
output when the Library has some output ready. It also means the program does not need to
1.6 Sample Programs Available on Kit 19