Title: CrossGrid Performance Prediction Tutorial
1CrossGrid Performance Prediction Tutorial
CrossGrid Tutorial Exercise PPC
Tomás F. Pena, José C. Cabaleiro, and Francisco
F. Rivera University of Santiago de Compostela,
Spain www.ac.usc.es/CrossGrid
2Launching PPC GUI
- Open the PPC Viewer directly from Migrating
Desktop - Tools menu or PPC icon in main bar
- User data for the kernel to be predicted must be
in the Virtual Directory in MD
3PPC GUI main menu
- Submenus
- Grid get/set the Grid parameters
- Kernel select the kernel to be predicted
- Display show prediction results
- Help
4First step Grid menu
- Getting/setting grid related information
- Three sources
- Data from actual grid monitoring (WP 3.3)
- Forecasted data (WP 3.3)
- Custom grid
- User can specify grid parameters such as number
of nodes, latency and BW of links,
5Get grid information from monitoring
- Get the information provided by JIMS
- Number of available nodes
- CPU models and IP addresses
- CPU loads
6Show grid information
- Show the grid information
- Number of available nodes
- Bandwidth and latency between each pair of nodes
data - Information for each specific node
- CPU model and IP address
- CPU load
7Step two Kernel menu
- Select the kernel to be predicted
- Kernels form WP 1, and other common ones
- Collective communications in MPICH-G2
- Iterative solvers for sparse matrices
- Matrix-vector multiplication
- In this exercise, iterative solvers is selected
8Sparse matrix file
- For iterative solvers a square sparse matrix must
be first loaded from a file - The file must reside in the Virtual Directory in
MD - The matrix must be stored in Column Compressed
Storage Format - Other formats will be supported in future
versions of PPC
9Sparse matrix format
- The file must be in ASCII format with the next
structure - Number of columns (N) and number of non-zero
entries (NNZ) (integers) - A N1 elements vector with the position of the
elements which start each column (integers) - A NNZ elements vector with the row indexes of the
non-zero entries (integers) - Values of the non-zero entries, in a column wise
fashion (optional)
10Kernel menu Iterative Solvers
- Eight different iterative solvers
- This includes most of the standard stationary and
non stationary iterative methods - Solvers come from the Paraiso (Parallel Iterative
Solvers) library (http//www.ac.usc.es/paraiso)
11Selection of Iterative Solver parameters
- For each iterative method different scaling and
preconditioner can be selected - Some precontitioners need additional parameters,
which can be introduced with the Parameters
button
12Step three Processors mesh selection
- Some kernels (iterative solvers, matrix-vector
multiplication) are designed for a processors
mesh - The number of rows and columns of the processors
mesh can be introduced with this menu
13Step four Displaying results
- Different results of prediction can be displayed
- Number of computations for process (floating
point operations) - Number of communications for process (number of
sends and receives) - Predicted execution time
- Load balance
- Other kernel-specific displays
14Floating Point operations
- The number of FLOPs per process
- The specific processor can be selected
- FLOPs for different parts of the kernel can be
showed - Iterative method itself
- Scaling of the matrix
- Computation of the preconditioner
- Application of the preconditioner
- Total FLOPs for the whole kernel
15Predicted load balance
- Load balance is showed using a Kiviat diagram
- Load balance is expressed in function of
- FLOPs
- Necessary memory
- Computing time
- Three different Kiviat diagrams are displayed
16For More Information
- Additional information in
- http//www.ac.usc.es/crossgrid/
- PPC is available from
- http//www.eu-crossgrid.org/