In this video from the recent Argonne Training Program on Extreme-Scale Computing, James Reinders from Intel presents: Vectorization (SIMD) and Scaling (TBB and OpenMP).
“We need to embrace explicit vectorization in our programming. But, generally use parallelism first (tasks, threads, MPI, etc.)”
The Argonne Training Program on Extreme-Scale Computing (ATPESC) provides intensive, two-week training on the key skills, approaches, and tools to design, implement, and execute computational science and engineering applications on current high-end computing systems and the leadership-class computing systems of the future. The core of the program will focus on programming methodologies that are effective across a variety of supercomputers and that are expected to be applicable to exascale systems. Additional topics to be covered include computer architectures, mathematical models and numerical algorithms, approaches to building community codes for HPC systems, and methodologies and tools relevant for Big Data applications.