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

multi-core · parallel computing · Software

Free lunch

For several decades, software developers (of high performance computing applications) could trust on Moore’s law. The number of transistors that can be placed inexpensively on an integrated circuit has doubled approximately every two years. This exponential growth allowed an ever-increasing computing power of modern CPUs. Thus, high performance computing applications became faster by just trusting… Continue reading Free lunch