“OpenCL is a fairly new programming model that is designed to help programmers get the most out of a variety of processing elements in heterogeneous environments. Many benchmarks that are available have demonstrated that excellent performance can be obtained over a wide variety of devices. Rather than lock an application into one specific accelerator, by using OpenCL, applications can be run over on a number of different architectures with each showing excellent speedups over a native (host cpu) implementation.”
“Applications can be tuned to use both the Intel Xeon and the Intel Xeon Phi simultaneously, without modifying the code to just run on the coprocessor. Using a number of software tools from Intel, performance of a coupled cluster method can be demonstrated to gain a tremendous performance with excellent scaling.”
Simulation of physical processes such as the waves in an ocean or the wake behind a boat, although similar in a number of ways, require different approaches. With current systems designed with many parallel computational units, it is important to take advantage of the range of architectural features. Using HYDRO2D, the performance of the code can be examined and improved by taking advantage of a range of system features.
For about 40 years, developers and users could count on an increase in CPU performance that would make applications run faster. However, with the slowdown in constant clock rate increases being replaced by additional core counts and even more new instructions, rethinking algorithms, their use of the latest APIs, and using the latest compilers has become critical for the next generation of application performance enhancements.
In this video from the 2014 Argonne Training Program on Extreme-Scale Computing, James Reinders presents: Computer Architecture and Structured Parallel Programming. “At ATPESC 2014, we captured 67 hours of lectures in 86 videos of presentations by pioneers and elites in the HPC community on topics ranging from programming techniques and numerical algorithms best suited for leading-edge HPC systems to trends in HPC architectures and software most likely to provide performance portability through the next decade and beyond.”