SARA logo Home about SARA Contact News System Status Jobs Sitemap Search
projects > parallelization projects
Virtual Reality project 2
image
Nederlands

Products

Expertise

Projects
Life Science Grid
VL-e
Gigaport
Grid
NetherLight
HPC-Europa
CiO
Almere Fiber Pilot
Visualization & Virtual Reality
Parallelization projects
archives


User Information


HPC Parallelization projects

The world of supercomputers and large clusters is characterized by the rapid developments in available hardware and software. The speed of the supercomputers is doubling every three years (Moore's Law), the amount of memory and disk space also seems to grow exponentionally. At first sight, one could think that users of supercomputers are able to tackle larger and larger projects every year.

Alas, this is not always the case. The growth of supercomputer power is to a large extent possible by architectural changes in the hardware which necessitate special programming paradigms. At SARA we experienced a number of supercomputer architectures and we learned how to program them efficiently by assisting users with optimizing their programs.

Adapting a computer program to a parallel supercomputer

At this moment, parallel computer architectures are common in the world of supercomputers. It appears that adapting or building computer programs for these parallel architectures requires special skills. Normally, users don't have the time to acquire these skills and cannot benefit from the developments in supercomputer technology. Therefore, SARA decided to acquire the necessary skills for parallel programming. At this moment, a number of parallelization projects are successfully ended.

Parallelization of a computer program
In general, the following steps are taken when SARA parallelizes a computer program:

  • Talk with the owner/writer of the program. The purpose of this is to get an understanding how the program is structured, so that opportunities for parallelization can be analyzed.
  • Decide upon the parallelization method. The choice is dependent on the program at hand and on the computer architecture, not necessarily one of SARA's supercomputers
  • When appropriate: apply for a grant. For academic users, it is often possible to apply for a grant from NCF. (In fact, most of the projects done at SARA were funded by NCF)
  • Optimize the serial version of the program. The techniques used for optimizing serial programs are well-known and quite general usable. In practice, we see improvements in this fase ranging from 20 % to a factor of 20
  • Parallelize the program
  • Run benchmarks and perform scaling experiments
  • Produce report
Finished projects
The following projects on parallelizing existing user programs were done:

Parallelization of a atmospheric simulation code using MPI.
Parallelization of a 3-D MHD code, using MPI.
Parallelization of a six-dimensional quantum scattering program
Parallelization of Kira using MPI
Using MPI or OpenMP for a quantum field simulation
Using MPI for a genetic algorithm
Using MPI for a artificial neural network
Using SWIG for speeding up a Perl program
Using Scalapack for singular value decomposition
Parallelisation of program for mechanical calculations on bone structures.
Using MPI-I/O to boost the performance of a parallel program
Elimination of the I/O for an I/O intensive program
Parallelizing HYPAN
Parallelizing a heart simulation code using OpenMP
Optimization and parallelizing a fishermen simulation code using OpenMP
Converting specialized SHMEM code to generally applicable MPI code
The Parallelization of a Code for Complex Buoyancy/Magnetically-Driven Convection
Parallelizing Time_3d code using OpenMP
Parallelizing the diagonalization part of ADF
A PVM front-end for TiMBL
Parallelizing Cholesky algorithm using Scalapack
Parallelizing GW code using OpenMP
The Parallelization of a DNS Code
Parallelizing PICAr
Parallelisation of a LSW code
Parallelizing Direct Numerical Simulation of a Turbulent Pipe Flow
Exploiting Parallelism for Radiosity-like Lighting Calculations
Exploiting Parallelism without parallel methods


 





image
The Dutch national supercomputer Huygens, an IBM POWER6 system.

projects > parallelization projects