5145
2014
eng
incollection
Morgan Kaufman, Elsevier
0
--
--
--
Concurrent Kernel Offloading
High Performance Parallelism Pearls
978-0128021187
http://store.elsevier.com/High-Performance-Parallelism-Pearls/James-Reinders/isbn-9780128021187/
Target publication date: Nov, 2014
yes
in press
Florian Wende
James Reinders
Regine Kossick
Thomas Steinke
Jim Jeffers
Michael Klemm
Alexander Reinefeld
Distributed Algorithms and Supercomputing
Reinefeld, Alexander
Steinke, Thomas
2013-Many-Core-HPC
6514
2017
eng
389
403
10524
bookpart
Springer International Publishing
0
2017-10-20
--
--
KART - A Runtime Compilation Library for Improving HPC Application Performance
The effectiveness of ahead-of-time compiler optimization heavily depends on the amount of available information at compile time. Input-specific information that is only available at runtime cannot be used, although it often determines loop counts, branching predicates and paths, as well as memory-access patterns. It can also be crucial for generating efficient SIMD-vectorized code. This is especially relevant for the many-core architectures paving the way to exascale computing, which are more sensitive to code-optimization. We explore the design-space for using input-specific information at compile-time and present KART, a C++ library solution that allows developers tocompile, link, and execute code (e.g., C, C++ , Fortran) at application runtime. Besides mere runtime compilation of performance-critical code, KART can be used to instantiate the same code multiple times using different inputs, compilers, and options. Other techniques like auto-tuning and code-generation can be integrated into a KART-enabled application instead of being scripted around it. We evaluate runtimes and compilation costs for different synthetic kernels, and show the effectiveness for two real-world applications, HEOM and a WSM6 proxy.
High Performance Computing: ISC High Performance 2017 International Workshops, DRBSD, ExaComm, HCPM, HPC-IODC, IWOPH, IXPUG, P^3MA, VHPC, Visualization at Scale, WOPSSS, Frankfurt, Germany, June 18-22, 2017, Revised Selected Papers
10.1007/978-3-319-67630-2_29
Best Paper Award
LNCS
yes
urn:nbn:de:0297-zib-60730
Matthias Noack
Florian Wende
Florian Wende
Georg Zitzlsberger
Michael Klemm
Thomas Steinke
Distributed Algorithms and Supercomputing
Noack, Matthias
Steinke, Thomas
2013-Many-Core-HPC
6073
eng
reportzib
0
--
2016-10-31
--
KART – A Runtime Compilation Library for Improving HPC Application Performance
The effectiveness of ahead-of-time compiler optimization heavily depends on the amount of available information at compile time. Input-specific information that is only available at runtime cannot be used, although it often determines loop counts, branching predicates and paths, as well as memory-access patterns. It can also be crucial for generating efficient SIMD-vectorized code. This is especially relevant for the many-core architectures paving the way to exascale computing, which are more sensitive to code-optimization. We explore the design-space for using input-specific information at compile-time and present KART, a C++ library solution that allows developers to compile, link, and execute code (e.g., C, C++ , Fortran) at application runtime. Besides mere runtime compilation of performance-critical code, KART can be used to instantiate the same code multiple times using different inputs, compilers, and options. Other techniques like auto-tuning and code-generation can be integrated into a KART-enabled application instead of being scripted around it. We evaluate runtimes and compilation costs for different synthetic kernels, and show the effectiveness for two real-world applications, HEOM and a WSM6 proxy.
1438-0064
urn:nbn:de:0297-zib-60730
10.1007/978-3-319-67630-2_29
Appeared in: ISC High Performance Workshops 2017: IXPUG Workshop "Experiences on Intel Knights Landing at the One Year Mark" LNCS 10524, 2017
Matthias Noack
Matthias Noack
Florian Wende
Georg Zitzlsberger
Michael Klemm
Thomas Steinke
ZIB-Report
16-48
Distributed Algorithms and Supercomputing
Noack, Matthias
Steinke, Thomas
2013-Many-Core-HPC
https://opus4.kobv.de/opus4-zib/files/6073/kart_zr.pdf
6054
2016
eng
Euro-Par 2016: Parallel Processing: 22nd International Conference on Parallel and Distributed Computing
conferenceobject
Springer International Publishing
0
--
--
--
Portable SIMD Performance with OpenMP* 4.x Compiler Directives
Effective vectorization is becoming increasingly important for high performance and energy efficiency on processors with wide SIMD units. Compilers often require programmers to identify opportunities for vectorization, using directives to disprove data dependences. The OpenMP 4.x SIMD directives strive to provide portability. We investigate the ability of current compilers (GNU, Clang, and Intel) to generate SIMD code for microbenchmarks that cover common patterns in scientific codes and for two kernels from the VASP and the MOM5/ERGOM application. We explore coding strategies for improving SIMD performance across different compilers and platforms (Intel® Xeon® processor and Intel® Xeon Phi™ (co)processor). We compare OpenMP* 4.x SIMD vectorization with and without vector data types against SIMD intrinsics and C++ SIMD types. Our experiments show that in many cases portable performance can be achieved. All microbenchmarks are available as open source as a reference for programmers and compiler experts to enhance SIMD code generation.
978-3-319-43659-3
10.1007/978-3-319-43659-3_20
LNCS
yes
Pierre-Francois Dutot
Florian Wende
Florian Wende
Denis Trystram
Matthias Noack
Thomas Steinke
Michael Klemm
Georg Zitzlsberger
Chris J. Newburn
Distributed Algorithms and Supercomputing
Noack, Matthias
Steinke, Thomas
2013-Many-Core-HPC
2013-SECOS