Interactive SuperComputing


 
 

Application Note Library

 
 

The Application Note Library illustrates a variety of algorithms parallelized with Star-P. The algorithms and codes span a broad set of applications – including interstellar dynamics, life sciences, quantitative finance, and others. We will expand this library over time, and if you are interested in algorithms not yet presented here, please contact us as – we are always interested to hear from you!


Solving Stochastic Differential Equations

An international academic institution focused on mathematical sciences was working on a simulation problem that involved solving large systems of stochastic differential equations. The research team developing the algorithm ran into the limitations of MATLAB® on a desktop and could not achieve results of their model on the required scale.

      Click for access >
_________________________________________________________________________________________________________
Linear Programming with Star-P

A financial institution's research depended on a MATLAB® code that modeled investor’s risk, under varying constraints, analyzed using linear programming techniques. The algorithm depended on very large numbers of iterations. As a result, the computation time was unacceptably long. However, the iterations in the algorithm were mutually independent thus making the problem very suitable for task parallel computing.

      Click for access >
_________________________________________________________________________________________________________
Parallel I/O

A government contractor's research relied on a complicated algorithm implemented in MATLAB® code that involved reading and processing of data from a collection of data files, where the required access to data in these files depended unpredictably on intermediate computation results. Effectively, data I/O operations were repeated frequently and this heavy dependence on I/O led to unacceptably long computing times. The nature of the problem lent itself well to task parallel computing and this enabled the research team to take advantage of parallel I/O with Star-P on a cluster of x86/64 computers. With parallel I/O, each processor is able to read and write data independently, enabling dramatic speed-up of I/O bound applications.

      Click for access >
_________________________________________________________________________________________________________
Large Array Processing

A government contractor s project depended on the analysis of very large data arrays with the help of an algorithm implemented in MATLAB® code. The analysis involved creating intermediate data that far exceeded the originally large input data. The processing of these intermediate arrays included frequent computation steps that by themselves relied heavily on matrix multiplication. Originally trying to perform the required analysis on the desktop, the research team soon found out that the large data sizes either resulted in exceedingly long application runtimes or precluded completion of the algorithm altogether due to the desktop memory limits.

      Click for access >
_________________________________________________________________________________________________________
Task-parallel generation of the Mandelbrot set

This application note examines how to parallelize a Mandelbrot set generator using Star-P, and explores some techniques which you can use to achieve best performance from your parallel code using Star-P.

      Click for access >
_________________________________________________________________________________________________________
Parallelized SPICE circuit simulation using Python and Star-P

This application note illustrates the analysis of circuit behavior in the face of process variations using Monte Carlo simulation, in which each circuit element's parameters are randomly varied over a range corresponding to the process variations expected when the chip is manufactured. Running the simulation over many trials, the designer can gather a statistical view of the robustness of his design.

      Click for access >
_________________________________________________________________________________________________________
Principal Component Analysis with Star-P and MATLAB®

Principal component analysis is an important tool for finding statistical dependencies in multidimensional data. It has a wide range of applications, for example in environmental sciences, medical imaging and financial analysis. However, principal component analysis is computer intensive and quickly becomes too time-consuming for serial desktops as data sizes become larger. In this example, Star-P is used to perform the analysis of several data sets in parallel.

      Click for access >
_________________________________________________________________________________________________________
2007 HPC Challenge with Python and Star-P

Modern open source high-level languages such as Python and R are increasingly playing an important role in increasing programmer productivity when programming high performance computers. This application note describes our implementation of four of the HPC Challenge Class II benchmarks using the Python interface to Star-P, and demonstrates their performance on clusters of multi-core machines. (This entry was a winner in the 2007 HPC Challenge at the SC07 conference in Reno, NV.)

      Click for access >
_________________________________________________________________________________________________________
Genomic Correlation at National Cancer Institute

The medical/genetics research team at NCI was using a serial MATLAB® program on a desktop to compute cross correlation of measured samples in large data sets. This application note outlines the algorithm, the modifications to the code required to parallelize it, and the performance gains.

      Click for access >
_________________________________________________________________________________________________________
Simulating Galactic Dynamics using Star-P

This application note explores an algorithm from the field of astrophysics - the simulation of galactic dynamics, and illustrates the modifications required to parallelize it with Star-P, along with the associated performance gains.

      Click for access >
_________________________________________________________________________________________________________
Porting Serial Codes to Data Parallel Star-P:
An Example from Computational Photonics


This application note explores an algorithm from the field of computation photonics, and illustrates the modifications required to parallelize it with Star-P.

      Click for access >
_________________________________________________________________________________________________________
Finite Element Modeling with MATLAB® and Star-P

In this application note focused on finite element modeling, we illustrate the steps required to parallelize a structural FEA problem, and associated performance gains. It is interesting to note that FEM problems call for a combination of task-parallel and data-parallel treatment: The task-parallel computing helps speed up the building of the large sparse stiffness matrix and the data-parallel helps us solve the large linear system more efficiently.

      Click for access >
_________________________________________________________________________________________________________
Fracture Mechanics FEM at TU Eindhoven

The research team at TU Eindhoven was using a serial MATLAB® program to perform finite element analysis that involved solving a system of linear equations represented by sparse matrices. This application note illustrates the modifications required to parallelize it with Star-P, and resulting gains in performance and ability to work with larger matrices.

      Click for access >
_________________________________________________________________________________________________________
Financial Modeling – Monte Carlo Analysis

This case study illustrates how Star-P can be applied to a Monte Carlo simulation for Discrete Asian Option pricing.

      Click for access >
_________________________________________________________________________________________________________
Extending Star-P Computing with Numerical Algorithms Group's C Library

With Star-P, a MATLAB® or Python user can easily access numerical libraries from Numerical Algorithms Group, in order to carry out faster and larger parallel computations. This note illustrates the 4-step process.

      Click for access >
_________________________________________________________________________________________________________
Needle in Haystack (Video/PDF/PPT)

This application note explores an image processing algorithm used in pattern matching, and illustrates the modifications required to parallelize it with Star-P, along with the associated performance gains

      Click for access >
_________________________________________________________________________________________________________
Star-P Power Tools for Parallelism

This document walks through the steps involved in parallelizing MATLAB® code under Star-P, provides the user with a "bag of tips" for using Star-P's tools to achieve the best performance from your code; and presents several examples of domain-specific code, including Monte Carlo simulation, image processing, interacting bodies and swarms, Mandelbrot set generation.

      Click for access >
_________________________________________________________________________________________________________
Data Parallel Computing with Python and Star-P

The Python language provides comprehensive programming tools and the benefits of interactive programming environment. Star-P's Python client enables users to access high-performance parallel computing resources while preserving the interactive workflow, and leverage much of their existing Python code.

      Click for access >
_________________________________________________________________________________________________________
Getting Started with Star-P and Python: Google Page Rank algorithm and Monte Carlo simulation

This guide to Star-P's Python client is intended as a self-guided "test drive." The document introduces the Python user to a handful of parallel programming constructs, and shows several Python algorithms parallelized with Star-P, including Google Page Rank algorithm and Monte Carlo simulation.

      Click for access >
_________________________________________________________________________________________________________
Image Processing with Python and Star-P

One of the powerful aspects of Python is its open source nature, and availability of a wide array of Python modules for technical computing. These modules can be readily parallelized using the Star-P's task-parallel engine. This application note shows how the open source Python Imaging Library can be run in parallel with Star-P.

      Click for access >
_________________________________________________________________________________________________________
High Productivity in Parallel Programming and Computing with Python

There are several parallel computing modules available for Python users. This application note presents a comparison of Star-P/Python code with an equivalent code based on an open-source parallel Python programming environment.

      Click for access >
_________________________________________________________________________________________________________
Using Star-P with Python in Batch Environments

ISC Star-P software enables parallel computing in Python, on SMP machines or distributed x86/64 clusters, under work load managers such as PBS Pro. This note provides an illustration of the simple steps needed to make this possible.

      Click for access >
_________________________________________________________________________________________________________