As we see
Moore's Law still continuing, it now allows to implement a wider
range of processors and computing platforms targeted towards its
respective usage models and environments. Based on advanced Nano-Scale
technologies it spans from tiny embedded System-on-a-Chip (SOC)
to high-end Peta-Scale performance systems, enjoying a common
core architecture with targeted and optimized value add-ons, as
well as its comprehensive and well established software
development eco-system. In addition, more and more features and
parallelism are being introduced to all computing platforms on
all levels of integration and programming. Especially in the
area of High-Performance and High-Throughput Computing, users
can entertain a combination of different hardware and software
parallel architectures and programming environments. Those
technologies range from single-core SIMD computation (vectorization)
over multi-core shared memory multi-threading (e.g. OpenMP) to
distributed memory message passing (e.g. MPI) on cluster
systems. But it also puts more and more demand on application
software and its development tools for parallel computing in
respect to the various challenges and opportunities. This talk
will cover major computer hardware architecture trends and its
associated parallel software tools. We will touch on some of the
respective software tools for the main phases of parallel
software development: implementation, correctness, analysis and
performance. For all tools, scalability and ease-of-use is very
important to enable higher productivity for its users.