Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Michael Klemm

dblp:04/5220 · DBLP profile ↗
← Back
11ranked-venue papers
4as first author
0since 2021 · last 2018
0000-0002-8634-4634ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 8 · 4 first-authorApplied, interdisciplinary, general and emerging computing · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
2 papers
Parallel and multicore computing · 65% High-performance computing · 24% GPUs and heterogeneous computing · 12%
Software engineering, system software, and programming languages
1 paper
Program analysis · 100%

Topics — the 7 heaviest of 8, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Parallel and multicore computing › parallel programming models › directive-based programming
OpenMP
0.312018
The Ongoing Evolution of OpenMP · Proc. IEEE 2018
Parallel and multicore computing
parallel programming models
0.312018
The Ongoing Evolution of OpenMP · Proc. IEEE 2018
Parallel and multicore computing › parallel programming models
shared-memory parallelization
0.312018
The Ongoing Evolution of OpenMP · Proc. IEEE 2018
High-performance computing › scientific computing systems
computational chemistry
0.212014
Efficient Implementation of Many-Body Quantum Chemical Methods on the Intel® Xeon Phi Coprocessor · SC 2014
High-performance computing › quantum chemistry
coupled-cluster method
0.212014
Efficient Implementation of Many-Body Quantum Chemical Methods on the Intel® Xeon Phi Coprocessor · SC 2014
GPUs and heterogeneous computing
heterogeneous architecture
0.212014
Efficient Implementation of Many-Body Quantum Chemical Methods on the Intel® Xeon Phi Coprocessor · SC 2014
Program analysis
performance analysis tools
0.112018
The Ongoing Evolution of OpenMP · Proc. IEEE 2018

Methods — techniques the papers use, named apart from their topics

host-coprocessor data transfer optimization · 0.2compute kernel optimization · 0.2
YearPublicationVenuePosition
2018 The Ongoing Evolution of OpenMP
abstract
This paper presents an overview of the past, present and future of the OpenMP application programming interface (API). While the API originally specified a small set of directives that guided shared memory fork-join parallelization of loops and program sections, OpenMP now provides a richer set of directives that capture a wide range of parallelization strategies that are not strictly limited to shared memory. As we look toward the future of OpenMP, we immediately see further evolution of the support for that range of parallelization strategies and the addition of direct support for debugging and performance analysis tools. Looking beyond the next major release of the specification of the OpenMP API, we expect the specification eventually to include support for more parallelization strategies and to embrace closer integration into its Fortran, C and, in particular, C++ base languages, which will likely require the API to adopt additional programming abstractions.
Bronis R. de Supinski, Thomas Scogland, Alejandro Duran, Michael Klemm, Sergi Mateo, Stephen Olivier, Christian Terboven, Timothy G. Mattson
Proc. IEEE4
2016 Portable SIMD Performance with OpenMP* 4.x Compiler Directives
Florian Wende, Matthias Noack, Thomas Steinke 0001, Michael Klemm, Chris J. Newburn, Georg Zitzlsberger
Euro-Par4
2015 Performance Evaluation of OpenFOAM* with MPI-3 RMA Routines on Intel® Xeon® Processors and Intel® Xeon Phi™ Coprocessors
abstract
OpenFOAM is a software package for solving partial differential equations and is very popular for computational fluid dynamics in the automotive segment. In this work, we describe our evaluation of the performance of OpenFOAM with MPI-3 Remote Memory Access (RMA) one-sided communication on the Intel® Xeon Phi" coprocessor. Currently, OpenFOAM computes on a mesh that is decomposed among different MPI ranks, and it requires a high amount of communication between the neighboring ranks. MPI-3 offers RMA through a new API that decouples communication and synchronization. The aim is to achieve better performance with MPI-3 RMA routines as compared to the current two-sided asynchronous communication routines in OpenFOAM. We also showcase the challenges overcome in order to facilitate the different MPI-3 RMA routines in OpenFOAM. This discussion aims at analyzing the potential of MPI-3 RMA in OpenFOAM and benchmarking the performance on both the processor and the coprocessor. Our work also demonstrates that MPI-3 RMA in OpenFOAM can run in symmetric mode consisting of the Intel® Xeon® E5-2697v3 processor and the Intel® Xeon Phi™ 7120P coprocessor.
Nishant Agrawal, Paul Edwards, Ambuj Pandey, Michael Klemm, Ravi Ojha, Rihab Abdul Razak
EuroMPI4
2014 Efficient Implementation of Many-Body Quantum Chemical Methods on the Intel® Xeon Phi Coprocessor
abstract
This paper presents the implementation and performance of the highly accurate CCSD(T) quantum chemistry method on the Intel®Xeon Phi coprocessor within the context of the NWChem computational chemistry package. The widespread use of highly correlated methods in electronic structure calculations is contingent upon the interplay between advances in theory and the possibility of utilizing the ever-growing computer power of emerging heterogeneous architectures. We discuss the design decisions of our implementation as well as the optimizations applied to the compute kernels and data transfers between host and coprocessor. We show the feasibility of adopting the Intel®Many Integrated Core Architecture and the Intel Xeon Phi coprocessor for developing efficient computational chemistry modeling tools. Remarkable scalability is demonstrated by benchmarks. Our solution scales up to a total of 62560 cores with the concurrent utilization of Intel®Xeon®processors and Intel Xeon Phi coprocessors.
Edoardo Aprà, Michael Klemm, Karol Kowalski
SC2
2012 Performance of a Structure-Detecting SpMV Using the CSR Matrix Representation
abstract
Sparse matrix-vector multiplication (SpMV) is an important building block for many scientific applications. Various formats exist to store and represent sparse matrices in the computer's memory. The compressed row storage format (CRS or CSR) is typically a baseline to report a new hybrid or an improved representation of sparse matrices. In this paper, we describe the implementation and performance benefit of a structure-detecting SpMV algorithm using the CSR format. Our implementation detects contiguous rows in the sparse matrix representation to improve the performance of the computation by making better use of the available memory bandwidth. Applications with mixed or a-priori unknown matrix structures can take advantage of the runtime structure detection. We show that the additional control flow needed does not degrade performance, but may deliver up to twice the performance of the traditional SpMV algorithm.
Hans Pabst, Beverly Bachmayer, Michael Klemm
ISPDC3
2009 A meta-predictor framework for prefetching in object-based DSMs
abstract
Abstract Dynamic optimizers modify the binary code of programs at runtime by profiling and optimizing certain aspects of the execution. We present a completely software‐based framework that dynamically optimizes programs for object‐based distributed shared memory (DSM) systems on clusters. In DSM systems, reducing the number of messages between cluster nodes is crucial. Prefetching transfers data in advance from the storage node to the local node so that communication is minimized. Our framework uses a profiler and a dynamic binary rewriter that monitor the access behavior of the application and place prefetches where they are beneficial to speed up the application. In addition, we use two distinct predictors to handle different types of access patterns. A meta‐predictor analyzes the memory access behavior and dynamically enables one of the predictors. Our system also adapts the number of prefetches per request to best fit the application's behavior. The evaluation shows that the performance of our system is better than the manual prefetching. The number of messages sent decreases by up to 90%. Performance gains of up to 80% can be observed on benchmarks. Copyright © 2009 John Wiley & Sons, Ltd.
Jean Christophe Beyler, Michael Klemm, Philippe Clauss, Michael Philippsen
Concurr. Comput. Pract. Exp.2
2009 Reparallelization techniques for migrating OpenMP codes in computational grids
abstract
Abstract Typical computational grid users target only a single cluster and have to estimate the runtime of their jobs. Job schedulers prefer short‐running jobs to maintain a high system utilization. If the user underestimates the runtime, premature termination causes computation loss; overestimation is penalized by long queue times. As a solution, we present an automatic reparallelization and migration of OpenMP applications. A reparallelization is dynamically computed for an OpenMP work distribution when the number of CPUs changes. The application can be migrated between clusters when an allocated time slice is exceeded. Migration is based on a coordinated, heterogeneous checkpointing algorithm. Both reparallelization and migration enable the user to freely use computing time at more than a single point of the grid. Our demo applications successfully adapt to the changed CPU setting and smoothly migrate between, for example, clusters in Erlangen, Germany, and Amsterdam, the Netherlands, that use different kinds and numbers of processors. Benchmarks show that reparallelization and migration impose average overheads of about 4 and 2%, respectively. Copyright © 2008 John Wiley & Sons, Ltd.
Michael Klemm, Matthias Bezold, Stefan Gabriel, Ronald Veldema, Michael Philippsen
Concurr. Comput. Pract. Exp.1
2008 Automatic Prefetching with Binary Code Rewriting in Object-Based DSMs
Jean Christophe Beyler, Michael Klemm, Michael Philippsen, Philippe Clauss
Euro-Par2
2007 Reparallelization and Migration of OpenMP Programs
abstract
Typical computational grid users target only a single cluster and have to estimate the runtime of their jobs. Job schedulers prefer short-running jobs to maintain a high system utilization. If the user underestimates the runtime, premature termination causes computation loss; overestimation is penalized by long queue times. As a solution, we present an automatic reparallelization and migration of OpenMP applications. A reparallelization is dynamically computed for an OpenMP work distribution when the number of CPUs changes. The application can be migrated between clusters when an allocated time slice is exceeded. Migration is based on a coordinated, heterogeneous checkpointing algorithm. Both reparallelization and migration enable the user to freely use computing time at more than a single point of the grid. Our demo applications successfully adapt to the changed CPU setting and smoothly migrate between, for example, clusters in Erlangen, Germany, and Amsterdam, the Netherlands, that use different processors. Benchmarks show that reparallelization and migration impose average overheads of about 4% and 2%.
Michael Klemm, Matthias Bezold, Stefan Gabriel, Ronald Veldema, Michael Philippsen
CCGRID1
2007 Esodyp+: Prefetching in the Jackal Software DSM
Michael Klemm, Jean Christophe Beyler, Ronny T. Lampert, Michael Philippsen, Philippe Clauss
Euro-Par1
2007 JaMP: an implementation of OpenMP for a Java DSM
abstract
Abstract Although OpenMP is a widely agreed‐upon standard for the C/C++ and Fortran programming languages for the semi‐automatic parallelization of programs for shared memory machines, not much has been done on the binding of OpenMP to Java that targets clusters with distributed memory. This paper presents three major contributions: (1) JaMP is an adaptation of the OpenMP standard to Java that implements a large subset of the OpenMP specification with an expressiveness comparable to that of OpenMP; (2) we suggest a set of extensions that allow a better integration of OpenMP into the Java language; (3) we present our prototype implementation of JaMP in the research compiler Jackal, a software‐based distributed shared memory implementation for Java. We evaluate the performance of JaMP with a set of micro‐benchmarks and with OpenMP versions of the parallel Java Grande Forum (JGF) benchmarks. The micro‐benchmarks show that OpenMP for Java can be implemented without much overhead. The JGF benchmarks achieve a good speed‐up of 5–8 on eight nodes. Copyright © 2007 John Wiley & Sons, Ltd.
Michael Klemm, Matthias Bezold, Ronald Veldema, Michael Philippsen
Concurr. Comput. Pract. Exp.1