Accelerate Time-to-Solution with Star-P for MATLAB®
Productivity Breakthrough for MATLAB®, Python, R, and others. . .
Programming that took months, can be done in days; and simulation runs that took days can be done in minutes.
The Star-P open software platform delivers revolutionary results to scientists, engineers and analysts by enabling them to transparently use high performance computing resources, using familiar desktop tools such as MATLAB®, Python, R and many others.
|
|
10-100X Faster Computations
By transparently leveraging the parallel computing capability, Star-P enables simulations developed in desktop tools to be processed in parallel, dramatically accelerating computation time
10-100X Larger Data Sets
Using Star-P, desktop application users can work with large, distributed datasets - gigabytes and even terabytes in size - distributed across servers, clusters, and grids.
No Need for C/Fortran/MPI Re-Programming
With Star-P, there is no need to use low-level languages and constructs of C, Fortran, and MPI, to take advantage of high performance computing resources. Using the Star-P Connect library API, users can leverage library functions from open source community and commercial vendors written in C or Fortran.
Simple and Efficient Parallel Computing for Science and Technology
The programmer interacts with standard MATLAB desktop
environment, enhanced with few simple Star-P commands
-
Tedious parallel programming is eliminated (No MPI, C, Fortran)
- Conversion from serial to parallel is easy and mostly automated
| |
Star-P with MATLAB environment supports
- Serial computing (plain MATLAB)
- Data-Parallel computing (*p tag)
- Task-Parallel computing (ppeval command)
- Additional functions for data- and task-parallel computing through
- Star-P Connect Library API link
|
Functions Available with Star-P for Parallel Computing
- 400+ MATLAB functions and operators
- 80+ MATLAB toolbox functions (statistics, signal processing, optimization, ...)
- 600+ library functions
- Unlimited user or community functions via Star-P Connect
- Star-P specific functions: ~20 programming or environment control and support functions
Scale and Performance
Star-P has been tested in a variety of environments, and has shown a clear performance scaling with the number of processors involved in parallel
computation. Additionally, Star-P uses all memory in a multi-core server or cluster for data processing, enabling interactive simulations with very
large, real-life data sets.
The scale and performance of Star-P computing depends on the properties of the hardware platform and cluster interconnects. Best performance
is achieved when the choice of computing mode is best matched to all segments of the algorithm being tested or simulated. Star-P has been
tested and scaled to manipulate 3 Terabyte-sized matrices, on machines reaching 512 processors. Star-P runs on servers with x86-64 multi-core
microprocessors such as Intel's Xeon 5100 and AMD's Opteron, and Intel's multi-core Itanium. Supported operating systems include SUSE and
Redhat Linux.
Data Parallel and Task Parallel Computing
Leveraging both data- and task-parallel computing is necessary in many scientific and technical simulations. Star-P enables users to work in both
modes and to seamlessly interoperate between the two.
Star-P's data-parallel mode enables algorithms requiring large-scale memory access and inter-processor communication, oft en called "global
array computing", such as those found in matrix manipulation and signal processing applications.
Star-P's task-parallel mode is ideally suited
for parallelization of algorithms often called "embarrassingly parallel," where computations can be naturally broken up into largely independent
processes such as Monte Carlo simulation, or parallelization of For loops.

With Star-P, task-parallel computing is triggered by using the "ppeval"
function call, analogous to MATLAB’s feval (or 'function evaluate')
command. In this example, the use of "ppeval" replaces the For loop
used in the serial version of the code, to carry out in parallel FFT
operations on a brain image at 10 different rotations.

Simple MATLAB script for finding the eigenvector of a random matrix.
Adding the *p construct makes variables parallel. Through propagation,
related variables also become parallel. Functions on parallel variables
are transparently "overloaded" and processed on a multi-core server
or cluster.
Task-Parallel Profiler
The Star-P Task-Parallel profiler provides an estimate of how Star-P might speed up a section of code that lends itself to task-parallel computing, based on the characteristics and code structure. Download the profiler here.
|