background preloader

ParallelComputing

Facebook Twitter

Translating Multicore Power into Application Performance. Contributing to Innovations in Computing. Mere Mortals: Compile Fortran, C, C++ like a Ninja. Highly optimized computing routines are often associated with low-level programming.

Mere Mortals: Compile Fortran, C, C++ like a Ninja

Assembly code, intrinsic functions, OS-level multithreading interfaces and other sharp weapons used by ”ninja programmers” are believed necessary for penetrating deep into hardware and snatching every FLOP — especially when optimization is performed for a computing accelerator. In this case, the ”common man” with only high-level language skills need not apply. Traditional HPC languages, Fortran, C and C++, have little native control over hardware capabilities, such as SIMD operations, multi-core availability and pre-fetch instructions. The burden of optimization is therefore laid upon the expert programmer.