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 at – 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
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 (PDF/Video)
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