MPI · parallel computing · Uncategorized

MPI debugging

MPI programs are more difficult to debug than other programs because of their parallel nature. The MPI programming model follows the single program multiple data paradigm or the multiple program multiple data paradigm. Debugging MPI programs is complicated by the following characteristics: Several processes run in parallel in a coordinated way. These processes may all… Continue reading MPI debugging

C++ · MPI · parallel computing

MPL – A message passing library

The Message Passing Interface (MPI) Standard defines a message passing library, which serves as the basis for many high-performance computing applications today. It provides portable scalable functions for data exchange in parallel computations for various parallel computing architectures. Originally application programing interfaces had been defined for C and Fortran as well as for C++. In… Continue reading MPL – A message passing library

GPU computing · MPI · parallel computing · Performance

CUDA-aware MPI

CUDA and MPI provide two different APIs for parallel programming that target very different parallel architectures. While CUDA allows to utilize parallel graphics hardware for general purpose computing, MPI is usually employed to write parallel programs that run on large SMP systems or on cluster computers. In order to improve a cluster’s overall computational capabilities… Continue reading CUDA-aware MPI

GPU computing

Accelerating the Fourier split operator method

In past postings I wrote on fast Fourier transform (FFT) performance and on GPU computing. In a new project both topics meet. We evaluated the FFT performance on GPUs. We found performance gains of more than one order of magnitude as compared to traditional (non-parallel) CPU codes. The FFT is a core algorithm that finds… Continue reading Accelerating the Fourier split operator method

multi-core · parallel computing · Software

Intel Threading Challenge 2010

Would you like to test your parallel programming skills? Then you might participate in the Intel Threading Challenge 2010 and demonstrate your skills in one of two levels of participation. Apprentice level gives programmers new to multithreading and parallelism. Master level targets developers with multithreading experience. Problem 1 of the 1st phase in Apprentice level… Continue reading Intel Threading Challenge 2010