@misc{DresslerSteinke2012, author = {Dreßler, Sebastian and Steinke, Thomas}, title = {A Novel Hybrid Approach to Automatically Determine Kernel Interface Data Volumes}, issn = {1438-0064}, url = {http://nbn-resolving.de/urn:nbn:de:0297-zib-15569}, year = {2012}, abstract = {Scheduling algorithms for heterogeneous platforms make scheduling decisions based on several metrics. One of these metrics is the amount of data to be transferred from and to the accelerator. However, the automated determination of this metric is not a simple task. A few schedulers and runtime systems solve this problem by using regression models, which are imprecise though. Our novel approach for the determination of data volumes removes this limitation and thus provides a solution to obtain exact information.}, language = {en} } @misc{WendeSteinke2013, author = {Wende, Florian and Steinke, Thomas}, title = {Swendsen-Wang Multi-Cluster Algorithm for the 2D/3D Ising Model on Xeon Phi and GPU}, issn = {1438-0064}, doi = {10.1145/2503210.2503254}, url = {http://nbn-resolving.de/urn:nbn:de:0297-zib-42187}, year = {2013}, abstract = {Simulations of the critical Ising model by means of local update algorithms suffer from critical slowing down. One way to partially compensate for the influence of this phenomenon on the runtime of simulations is using increasingly faster and parallel computer hardware. Another approach is using algorithms that do not suffer from critical slowing down, such as cluster algorithms. This paper reports on the Swendsen-Wang multi-cluster algorithm on Intel Xeon Phi coprocessor 5110P, Nvidia Tesla M2090 GPU, and x86 multi-core CPU. We present shared memory versions of the said algorithm for the simulation of the two- and three-dimensional Ising model. We use a combination of local cluster search and global label reduction by means of atomic hardware primitives. Further, we describe an MPI version of the algorithm on Xeon Phi and CPU, respectively. Significant performance improvements over known im plementations of the Swendsen-Wang algorithm are demonstrated.}, language = {en} } @misc{DresslerSteinke2013, author = {Dreßler, Sebastian and Steinke, Thomas}, title = {An Automated Approach for Estimating the Memory Footprint of Non-Linear Data Objects}, issn = {1438-0064}, doi = {10.1007/978-3-642-54420-0_25}, url = {http://nbn-resolving.de/urn:nbn:de:0297-zib-42224}, year = {2013}, abstract = {Current programming models for heterogeneous devices with disjoint physical memory spaces require explicit allocation of device memory and explicit data transfers. While it is quite easy to manually implement these operations for linear data objects like arrays, this task becomes more difficult for non-linear objects, e.g. linked lists or multiple inherited classes. The difficulties arise due to dynamic memory requirements at run-time and the dependencies between data structures. In this paper we present a novel method to build a graph-based static data type description which is used to create code for injectable functions that automatically determine the memory footprint of data objects at run-time. Our approach is extensible to implement automatically generated optimized data transfers across physical memory spaces.}, language = {en} } @article{WendeMarsmanKimetal.2018, author = {Wende, Florian and Marsman, Martijn and Kim, Jeongnim and Vasilev, Fedor and Zhao, Zhengji and Steinke, Thomas}, title = {OpenMP in VASP: Threading and SIMD}, journal = {International Journal of Quantum Chemistry}, number = {Emerging Architectures in Computational Chemistry}, publisher = {Wiley Online Library}, doi = {10.1002/qua.25851}, pages = {e25851}, year = {2018}, abstract = {The Vienna Ab initio Simulation Package (VASP) is a widely used electronic structure code that originally exploits process-level parallelism through the Message Passing Interface (MPI) for work distribution within and across nodes. Architectural changes of modern parallel processors urge programmers to address thread- and data-level parallelism as well to benefit most from the available compute resources within a node. We describe for VASP how to approach for an MPI + OpenMP parallelization including data-level parallelism through OpenMP SIMD constructs together with a generic high-level vector coding scheme. We can demonstrate an improved scalability of VASP and more than 20\% gain over the MPI-only version, as well as a 2x increased performance of collective operations using the multiple-endpoint MPI feature. The high-level vector coding scheme applied to VASP's general gradient approximation routine gives up 9x performance gain on AVX512 platforms with the Intel compiler.}, language = {en} } @inproceedings{GesingGrunzkeBalaskoetal.2011, author = {Gesing, Sandra and Grunzke, Richard and Balasko, Akos and Birkenheuer, Georg and Blunk, Dirk and Breuers, Sebastian and Brinkmann, Andr{\´e} and Fels, Gregor and Herres-Pawlis, Sonja and Kacsuk, Peter and Kozlovszky, Miklos and Kr{\"u}ger, Jens and Packschies, Lars and Sch{\"a}fer, Patrick and Schuller, Bernd and Schuster, Johannes and Steinke, Thomas and Szikszay Fabri, Anna and Wewior, Martin and M{\"u}ller-Pfefferkorn, Ralph and Kohlbacher, Oliver}, title = {Granular Security for a Science Gateway in Structural Bioinformatics}, booktitle = {Proc. IWSG-Life 2011}, year = {2011}, language = {en} } @inproceedings{BirkenheuerBlunkBreuersetal.2011, author = {Birkenheuer, Georg and Blunk, Dirk and Breuers, Sebastian and Brinkmann, Andre and Fels, Gregor and Gesing, Sandra and Grunzke, Richard and Herres-Pawlis, Sonja and Kohlbacher, Oliver and Kr{\"u}ger, Jens and Lang, Ulrich and Packschies, Lars and M{\"u}ller-Pfefferkorn, Ralph and Sch{\"a}fer, Patrick and Schuster, Johannes and Steinke, Thomas and Warzecha, Klaus Dieter and Wewior, Martin}, title = {MoSGrid: Progress of Workflow driven Chemical Simulations}, volume = {826}, booktitle = {Proc. of Grid Workflow Workshop 2011, Cologne, Germany}, publisher = {CEUR Workshop Proceedings}, year = {2011}, language = {en} } @article{DickmannFalknerGuniaetal.2011, author = {Dickmann, Frank and Falkner, J{\"u}rgen and Gunia, Wilfried and Hampe, Jochen and Hausmann, Michael and Herrmann, Alexander and Kepper, Nick and Knoch, Tobias and Lauterbach, Svenja and Lippert, J{\"o}rg and Peter, Kathrin and Schmitt, Eberhard and Schwardmann, Ulrich and Solodenko, Juri and Sommerfeld, Dietmar and Steinke, Thomas and Weisbecker, Anette and Sax, Ulrich}, title = {Solutions for biomedical grid computing - Case studies from the D-Grid project Services@MediGRID}, volume = {-}, journal = {Journal of Computational Science}, number = {0}, doi = {10.1016/j.jocs.2011.06.006}, year = {2011}, language = {en} } @inproceedings{GesingHerresPawlisBirkenheueretal.2012, author = {Gesing, Sandra and Herres-Pawlis, Sonja and Birkenheuer, Georg and Brinkmann, Andre and Grunzke, Richard and Kacsuk, Peter and Kohlbacher, Oliver and Kozlovszky, Miklos and Kr{\"u}ger, Jens and M{\"u}ller-Pfefferkorn, Ralph and Sch{\"a}fer, Patrick and Steinke, Thomas}, title = {The MoSGrid Community - From National to International Scale}, booktitle = {EGI Community Forum 2012}, year = {2012}, language = {en} } @article{BirkenheuerBlunkBreuersetal.2011, author = {Birkenheuer, Georg and Blunk, Dirk and Breuers, Sebastian and Brinkmann, Andre and dos Santos Vieira, Ines and Fels, Gregor and Gesing, Sandra and Grunzke, Richard and Herres-Pawlis, Sonja and Kohlbacher, Oliver and Kr{\"u}ger, Jens and Lang, Ulrich and Packschies, Lars and M{\"u}ller-Pfefferkorn, Ralph and Sch{\"a}fer, Patrick and Schmalz, Hans-G{\"u}nther and Steinke, Thomas and Warzecha, Klaus Dieter and Wewior, Martin}, title = {A Molecular Simulation Grid as new tool for Computational Chemistry, Biology and Material Science}, volume = {3}, journal = {Journal of Cheminformatics 2011}, number = {Suppl 1}, doi = {10.1186/1758-2946-3-S1-P14}, year = {2011}, language = {en} } @inproceedings{GesingKacsukKozlovszkyetal.2011, author = {Gesing, Sandra and Kacsuk, Peter and Kozlovszky, Miklos and Birkenheuer, Georg and Blunk, Dirk and Breuers, Sebastian and Brinkmann, Andre and Fels, Gregor and Grunzke, Richard and Herres-Pawlis, Sonja and Kr{\"u}ger, Jens and Packschies, Lars and M{\"u}ller-Pfefferkorn, Ralph and Sch{\"a}fer, Patrick and Steinke, Thomas and Szikszay Fabri, Anna and Warzecha, Klaus Dieter and Wewior, Martin and Kohlbacher, Oliver}, title = {A Science Gateway for Molecular Simulations}, booktitle = {EGI (European Grid Infrastructure) User Forum 2011, Book of Abstracts}, pages = {94 -- 95}, year = {2011}, language = {en} } @inproceedings{WendeCordesSteinke2012, author = {Wende, Florian and Cordes, Frank and Steinke, Thomas}, title = {On Improving the Performance of Multi-threaded CUDA Applications with Concurrent Kernel Execution by Kernel Reordering}, booktitle = {Application Accelerators in High Performance Computing (SAAHPC), 2012 Symposium on}, doi = {10.1109/SAAHPC.2012.12}, pages = {74 -- 83}, year = {2012}, language = {en} } @article{GesingHerresPawlisBirkenheueretal.2012, author = {Gesing, Sandra and Herres-Pawlis, Sonja and Birkenheuer, Georg and Brinkmann, Andr{\´e} and Grunzke, Richard and Kacsuk, Peter and Kohlbacher, Oliver and Kozlovszky, Miklos and Kr{\"u}ger, Jens and M{\"u}ller-Pfefferkorn, Ralph and Sch{\"a}fer, Patrick and Steinke, Thomas}, title = {A Science Gateway Getting Ready for Serving the International Molecular Simulation Community}, volume = {PoS(EGICF12-EMITC2)050}, journal = {Proceedings of Science}, year = {2012}, language = {en} } @article{BirkenheuerBlunkBreuersetal.2012, author = {Birkenheuer, Georg and Blunk, Dirk and Breuers, Sebastian and Brinkmann, Andr{\´e} and dos Santos Vieira, Ines and Fels, Gregor and Gesing, Sandra and Grunzke, Richard and Herres-Pawlis, Sonja and Kohlbacher, Oliver and Kr{\"u}ger, Jens and Lang, Ulrich and Packschies, Lars and M{\"u}ller-Pfefferkorn, Ralph and Sch{\"a}fer, Patrick and Steinke, Thomas and Warzecha, Klaus Dieter and Wewior, Martin}, title = {MoSGrid: efficient data management and a standardized data exchange format for molecular simulations in a grid environment}, volume = {4}, journal = {Journal of Cheminformatics}, number = {Suppl 1}, doi = {10.1186/1758-2946-4-S1-P21}, pages = {21}, year = {2012}, language = {en} } @article{GesingGrunzkeKruegeretal.2012, author = {Gesing, Sandra and Grunzke, Richard and Kr{\"u}ger, Jens and Birkenheuer, Georg and Wewior, Martin and Sch{\"a}fer, Patrick and Schuller, Bernd and Schuster, Johannes and Herres-Pawlis, Sonja and Breuers, Sebastian and Balasko, Akos and Kozlovszky, Miklos and Szikszay Fabri, Anna and Packschies, Lars and Kacsuk, Peter and Blunk, Dirk and Steinke, Thomas and Brinkmann, Andr{\´e} and Fels, Gregor and M{\"u}ller-Pfefferkorn, Ralph and J{\"a}kel, Ren{\´e} and Kohlbacher, Oliver}, title = {A Single Sign-On Infrastructure for Science Gateways on a Use Case for Structural Bioinformatics}, journal = {Journal of Grid Computing}, year = {2012}, language = {en} } @inproceedings{GrunzkeBirkenheuerBlunketal.2012, author = {Grunzke, Richard and Birkenheuer, Georg and Blunk, Dirk and Breuers, Sebastian and Brinkmann, Andr{\´e} and Gesing, Sandra and Herres-Pawlis, Sonja and Kohlbacher, Oliver and Kr{\"u}ger, Jens and Kruse, Martin and M{\"u}ller-Pfefferkorn, Ralph and Sch{\"a}fer, Patrick and Schuller, Bernd and Steinke, Thomas and Zink, Andreas}, title = {A Data Driven Science Gateway for Computational Workflows}, booktitle = {Proceedings of the UNICORE Summit}, address = {Dresden, Germany}, year = {2012}, language = {en} } @article{DresslerSteinke2012, author = {Dreßler, Sebastian and Steinke, Thomas}, title = {Energy consumption of CUDA kernels with varying thread topology}, journal = {Computer Science - Research and Development}, publisher = {Springer Berlin / Heidelberg}, doi = {10.1007/s00450-012-0230-4}, pages = {1 -- 9}, year = {2012}, language = {en} } @misc{DresslerSteinke2013, author = {Dreßler, Sebastian and Steinke, Thomas}, title = {Automated Analysis of Complex Data Objects}, journal = {28th International Supercomputing Conference, ISC 2013, Leipzig, Germany, June 16-20, 2013}, year = {2013}, language = {en} } @misc{NoackWendeZitzlsbergeretal.2016, author = {Noack, Matthias and Wende, Florian and Zitzlsberger, Georg and Klemm, Michael and Steinke, Thomas}, title = {KART - A Runtime Compilation Library for Improving HPC Application Performance}, issn = {1438-0064}, doi = {10.1007/978-3-319-67630-2_29}, url = {http://nbn-resolving.de/urn:nbn:de:0297-zib-60730}, year = {2016}, abstract = {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.}, language = {en} } @inproceedings{WendeNoackSteinkeetal.2016, author = {Wende, Florian and Noack, Matthias and Steinke, Thomas and Klemm, Michael and Zitzlsberger, Georg and Newburn, Chris J.}, title = {Portable SIMD Performance with OpenMP* 4.x Compiler Directives}, volume = {Euro-Par 2016: Parallel Processing: 22nd International Conference on Parallel and Distributed Computing}, editor = {Dutot, Pierre-Francois and Trystram, Denis}, publisher = {Springer International Publishing}, isbn = {978-3-319-43659-3}, doi = {10.1007/978-3-319-43659-3_20}, year = {2016}, abstract = {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.}, language = {en} } @inproceedings{SchmidtkeLaubenderSteinke2016, author = {Schmidtke, Robert and Laubender, Guido and Steinke, Thomas}, title = {Big Data Analytics on Cray XC Series DataWarp using Hadoop, Spark and Flink}, booktitle = {CUG Proceedings}, year = {2016}, language = {en} } @inproceedings{WendeMarsmanSteinke2016, author = {Wende, Florian and Marsman, Martijn and Steinke, Thomas}, title = {On Enhancing 3D-FFT Performance in VASP}, booktitle = {CUG Proceedings}, year = {2016}, language = {en} } @inproceedings{NoackReinefeldKrameretal.2018, author = {Noack, Matthias and Reinefeld, Alexander and Kramer, Tobias and Steinke, Thomas}, title = {DM-HEOM: A Portable and Scalable Solver-Framework for the Hierarchical Equations of Motion}, booktitle = {2018 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW), 19th IEEE Int. Workshop on Parallel and Distributed Scientific and Engineering Computing (PDSEC 2018)}, isbn = {978-1-5386-5555-9}, doi = {10.1109/IPDPSW.2018.00149}, pages = {947 -- 956}, year = {2018}, abstract = {Computing the Hierarchical Equations of Motion (HEOM) is by itself a challenging problem, and so is writing portable production code that runs efficiently on a variety of architectures while scaling from PCs to supercomputers. We combined both challenges to push the boundaries of simulating quantum systems, and to evaluate and improve methodologies for scientific software engineering. Our contributions are threefold: We present the first distributed memory implementation of the HEOM method (DM-HEOM), we describe an interdisciplinary development workflow, and we provide guidelines and experiences for designing distributed, performance-portable HPC applications with MPI-3, OpenCL and other state-of-the-art programming models. We evaluated the resulting code on multi- and many-core CPUs as well as GPUs, and demonstrate scalability on a Cray XC40 supercomputer for the PS I molecular light harvesting complex.}, language = {en} } @inproceedings{KnaustMayerSteinke2019, author = {Knaust, Marius and Mayer, Florian and Steinke, Thomas}, title = {OpenMP to FPGA Offloading Prototype Using OpenCL SDK}, booktitle = {2019 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)}, doi = {10.1109/IPDPSW.2019.00072}, pages = {387 -- 390}, year = {2019}, abstract = {Field-programmable gate arrays (FPGAs) are of great interest for future high-performance computing and data analytics systems, since they are capable of efficient, highly-parallel data processing. Even though high-level synthesis became more popular in the last years, the effort of porting existing scientific software onto FPGAs is still considerable. We propose to use OpenMP target offloading as a solution, which we implement in a first prototype, making use of the preexisting OpenCL SDK of the FPGA vendor. Early results demonstrate the feasibility of this approach and also reveal that further optimizations will be necessary such that code can be written in an FPGA-agnostic way.}, language = {en} } @inproceedings{ChristgauSteinke2020, author = {Christgau, Steffen and Steinke, Thomas}, title = {Porting a Legacy CUDA Stencil Code to oneAPI}, booktitle = {2020 IEEE International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2020, New Orleans, LA, USA, May 18-22, 2020}, publisher = {IEEE}, address = {New Orleans}, isbn = {978-1-7281-7445-7}, doi = {10.1109/IPDPSW50202.2020.00070}, pages = {359 -- 367}, year = {2020}, abstract = {Recently, Intel released the oneAPI programming environment. With Data Parallel C++ (DPC++), oneAPI enables codes to target multiple hardware architectures like multi-core CPUs, GPUs, and even FPGAs or other hardware using a single source. For legacy codes that were written for Nvidia GPUs, a compatibility tool is provided which facilitates the transition to the SYCL-based DPC++ programming language. This paper presents early experiences when using both the compatibility tool and oneAPI as well the employed extension to the SYCL programming standard for the tsunami simulation code easyWave. A performance study compares the original code running on Xeon processors using OpenMP as well as CUDA with the performance of the DPC++ counter part on multicore CPUs as well as integrated GPUs.}, language = {en} } @article{AlhaddadFoerstnerGrothetal.2021, author = {Alhaddad, Samer and F{\"o}rstner, Jens and Groth, Stefan and Gr{\"u}newald, Daniel and Grynko, Yevgen and Hannig, Frank and Kenter, Tobias and Pfreundt, Franz-Josef and Plessl, Christian and Schotte, Merlind and Steinke, Thomas and Teich, J{\"u}rgen and Weiser, Martin and Wende, Florian}, title = {HighPerMeshes - A Domain-Specific Language for Numerical Algorithms on Unstructured Grids}, journal = {Euro-Par 2020: Parallel Processing Workshops.}, publisher = {Springer}, doi = {10.1007/978-3-030-71593-9_15}, pages = {185 -- 196}, year = {2021}, abstract = {Solving partial differential equations on unstructured grids is a cornerstone of engineering and scientific computing. Nowadays, heterogeneous parallel platforms with CPUs, GPUs, and FPGAs enable energy-efficient and computationally demanding simulations. We developed the HighPerMeshes C++-embedded Domain-Specific Language (DSL) for bridging the abstraction gap between the mathematical and algorithmic formulation of mesh-based algorithms for PDE problems on the one hand and an increasing number of heterogeneous platforms with their different parallel programming and runtime models on the other hand. Thus, the HighPerMeshes DSL aims at higher productivity in the code development process for multiple target platforms. We introduce the concepts as well as the basic structure of the HighPer-Meshes DSL, and demonstrate its usage with three examples, a Poisson and monodomain problem, respectively, solved by the continuous finite element method, and the discontinuous Galerkin method for Maxwell's equation. The mapping of the abstract algorithmic description onto parallel hardware, including distributed memory compute clusters is presented. Finally, the achievable performance and scalability are demonstrated for a typical example problem on a multi-core CPU cluster.}, language = {en} } @inproceedings{ChristgauSteinke2020, author = {Christgau, Steffen and Steinke, Thomas}, title = {Leveraging a Heterogeneous Memory System for a Legacy Fortran Code: The Interplay of Storage Class Memory, DRAM and OS}, booktitle = {2020 IEEE/ACM Workshop on Memory Centric High Performance Computing (MCHPC)}, publisher = {IEEE}, isbn = {978-0-7381-1067-7}, doi = {10.1109/MCHPC51950.2020.00008}, pages = {17 -- 24}, year = {2020}, abstract = {Large capacity Storage Class Memory (SCM) opens new possibilities for workloads requiring a large memory footprint. We examine optimization strategies for a legacy Fortran application on systems with an heterogeneous memory configuration comprising SCM and DRAM. We present a performance study for the multigrid solver component of the large-eddy simulation framework PALM for different memory configurations with large capacity SCM. An important optimization approach is the explicit assignment of storage locations depending on the data access characteristic to take advantage of the heterogeneous memory configuration. We are able to demonstrate that an explicit control over memory locations provides better performance compared to transparent hardware settings. As on aforementioned systems the page management by the OS appears as critical performance factor, we study the impact of different huge page settings.}, language = {en} } @article{KnoopGronemeierSuehringetal.2017, author = {Knoop, Helge and Gronemeier, Tobias and S{\"u}hring, Matthias and Steinbach, Peter and Noack, Matthias and Wende, Florian and Steinke, Thomas and Knigge, Christoph and Raasch, Siegfried and Ketelsen, Klaus}, title = {Porting the MPI-parallelized LES model PALM to multi-GPU systems and many integrated core processors: an experience report}, journal = {International Journal of Computational Science and Engineering. Special Issue on: Novel Strategies for Programming Accelerators}, edition = {Special Issue on: Novel Strategies for Programming Accelerators}, publisher = {Inderscience}, year = {2017}, abstract = {The computational power and availability of graphics processing units (GPUs), such as the Nvidia Tesla, and Many Integrated Core (MIC) processors, such as the Intel Xeon Phi, on high performance computing (HPC) systems is rapidly evolving. However, HPC applications need to be ported to take advantage of such hardware. This paper is a report on our experience of porting the MPI+OpenMP parallelised large-eddy simulation model (PALM) to multi-GPU as well as to MIC processor environments using the directive-based high level programming paradigm OpenACC and OpenMP, respectively. PALM is a Fortran-based computational fluid dynamics software package, used for the simulation of atmospheric and oceanic boundary layers to answer questions linked to fundamental atmospheric turbulence research, urban modelling, aircraft safety and cloud physics. Development of PALM started in 1997, the project currently entails 140 kLOC and is used on HPC farms of up to 43,200 cores. The main challenges we faced during the porting process are the size and complexity of the PALM code base, its inconsistent modularisation and the complete lack of a unit-test suite. We report the methods used to identify performance issues as well as our experiences with state-of-the-art profiling tools. Moreover, we outline the required porting steps in order to properly execute our code on GPUs and MIC processors, describe the problems and bottlenecks that we encountered during the porting process, and present separate performance tests for both architectures. These performance tests, however, do not provide any benchmark information that compares the performance of the ported code between the two architectures.}, language = {en} } @incollection{NoackWendeZitzlsbergeretal.2017, author = {Noack, Matthias and Wende, Florian and Zitzlsberger, Georg and Klemm, Michael and Steinke, Thomas}, title = {KART - A Runtime Compilation Library for Improving HPC Application Performance}, volume = {10524}, booktitle = {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}, publisher = {Springer International Publishing}, doi = {10.1007/978-3-319-67630-2_29}, pages = {389 -- 403}, year = {2017}, abstract = {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.}, language = {en} } @inproceedings{NoackFochtSteinke2019, author = {Noack, Matthias and Focht, Erich and Steinke, Thomas}, title = {Heterogeneous Active Messages for Offloading on the NEC SX-Aurora TSUBASA}, booktitle = {2019 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW), Heterogeneity in Computing Workshop (HCW 2019)}, year = {2019}, abstract = {The NEC SX-Aurora TSUBASA is a new generation of vector processing architectures that combines a standard Intel Xeon host with the newly developed NEC Vector Engine co-processor cards. One way to use these co-processors is offloading suitable parts of the program from the host to the Vector Engines. Currently, the only vendor-provided offloading solutions are the low-level Vector Engine Offloading (VEO) library, and a builtin reverse-offloading mechanism named VHcall. In this work, we extend the portable Heterogeneous Active Messages (HAM) based HAM-Offload framework with support for the NEC SX-Aurora TSUBASA. Therefore, we design, implement, and evaluate two messaging protocols aimed at minimising offloading cost. This sheds some light on how to achieve fast communication between host CPU and the Vector Engines of the NEC SX-Aurora TSUBASA. Compared with VEO, the DMA-based protocol reduces offloading overhead by a factor of 13×. The resulting framework enables users to write portable offload applications with low overhead, that do neither require a language extension like OpenMP, nor a special language like OpenCL. Existing HAM-Offload applications are now ready to run on the NEC SX-Aurora TSUBASA.}, language = {en} } @misc{StallingSteinke1996, author = {Stalling, Detlev and Steinke, Thomas}, title = {Visualization of Vector Fields in Quantum Chemistry}, url = {http://nbn-resolving.de/urn:nbn:de:0297-zib-2124}, number = {SC-96-01}, year = {1996}, abstract = {\small Many interesting phenomena in molecular systems like interactions between macro-molecules, protein-substrate docking, or channeling processes in membranes are gouverned to a high degree by classical Coulomb or van-der-Waals forces. The visualization of these force fields is important for verifying numerical simulations. Moreover, by inspecting the forces visually we can gain deeper insight into the molecular processes. Up to now the visualization of vector fields is quite unusual in computational chemistry. In fact many commercial software packages do not support this topic at all. The reason is not that vector fields are considered unimportant, but mainly because of the lack of adequate visualization methods. In this paper we survey a number of methods for vector field visualization, ranging from well-known concepts like arrow or streamline plots to more advanced techniques like line integral convolution, and show how these can be applied to computational chemistry. A combination of the most meaningful methods in an interactive 3D visualization environment can provide a powerful tool box for analysing simulations in molecular dynamics.}, language = {en} } @misc{BaumannBuschGottschewskietal.1997, author = {Baumann, Wolfgang and Busch, Hubert and Gottschewski, J{\"u}rgen and Steinke, Thomas and St{\"u}ben, Hinnerk}, title = {Berliner Landesh{\"o}chstleistungsrechner Parallelrechner Cray T3D/T3E: Betrieb, Nutzung, Projekte, Perspektiven f{\"u}r den Ausbau}, url = {http://nbn-resolving.de/urn:nbn:de:0297-zib-5504}, number = {TR-97-08}, year = {1997}, abstract = {Seit fast drei Jahren betreibt das Konrad-Zuse-Zentrum f{\"u}r Informationstechnik Berlin (ZIB) Parallelrechner der h{\"o}chsten Leistungsklasse im normalen Rechenzentrumsbetrieb. Bereits im Mai 1995 hat das ZIB {\"u}ber seine Erfahrungen mit dem damals leistungsst{\"a}rksten Parallelrechner Deutschlands berichtet. Das Gesamtkonzept des ZIB sieht weiterhin einen H{\"o}chstleistungsrechner als unabdingbaren Bestandteil des High Performance Scientific Computing (HPSC) im ZIB vor. Der vorliegende Bericht beschreibt die aktuelle Konfiguration, Betriebserfahrungen und die Rechnernutzung sowie typische Rechenleistungen, die f{\"u}r einzelne Anwendungsprogramme erzielt wurden. Beschreibungen der Forschungsgebiete mit den Forschungsgruppen, die den Rechner nutzen und die Anforderungen an den Rechnerausbau, die sich aus deren Arbeiten herleiten, beschließen den Bericht.}, language = {de} } @inproceedings{SteinkePeterBorchert2010, author = {Steinke, Thomas and Peter, Kathrin and Borchert, Sebastian}, title = {Efficiency Considerations of Cauchy Reed-Solomon Implementations on Accelerator and Multi-Core Platforms}, booktitle = {Symposium on Application Accelerators in High Performance Computing (SAAHPC)}, address = {Knoxville, USA}, year = {2010}, language = {en} } @misc{BirkenheuerBlunkBreuersetal.2010, author = {Birkenheuer, Georg and Blunk, Dirk and Breuers, Sebastian and Brinkmann, Andr{\´e} and d. Santos Vieira, I. and Fels, Gregor and Gesing, Sandra and Grunzke, Richard and Herres-Pawlis, Sonja and Kohlbacher, Oliver and Kruber, Nico and Kr{\"u}ger, Jens and Lang, U. and Packschies, Lars and M{\"u}ller-Pfefferkorn, Ralph and Sch{\"a}fer, Patrick and Schmalz, Hans-G{\"u}nther and Steinke, Thomas and Warzecha, Klaus Dieter and Wewior, Martin}, title = {MoSGrid - A Molecular Simulation Grid as a new tool in Computational Chemistry, Biology and Material Science}, journal = {6. German Conference on Chemoinformatics}, year = {2010}, language = {en} } @inproceedings{KruegerBirkenheuerBlunketal.2010, author = {Kr{\"u}ger, Jens and Birkenheuer, Georg and Blunk, Dirk and Breuers, Sebastian and Brinkmann, Andr{\´e} and Fels, Gregor and Gesing, Sandra and Grunzke, Richard and Herres-Pawlis, Sonja and Kohlbacher, Oliver and Kruber, Nico and Lang, U. and Packschies, Lars and M{\"u}ller-Pfefferkorn, Ralph and Sch{\"a}fer, Patrick and Schmalz, Hans-G{\"u}nther and Steinke, Thomas and Warzecha, Klaus Dieter and Wewior, Martin}, title = {Molecular Simulation Grid}, booktitle = {6. German Conference on Chemoinformatics}, publisher = {Gesellschaft Deutscher Chemiker (GDCh)}, year = {2010}, language = {en} } @article{MayKreuchwigSteinkeetal.2010, author = {May, Patrick and Kreuchwig, A. and Steinke, Thomas and Koch, Ina}, title = {PTGL: a database for secondary structure-based protein topologies}, volume = {38}, journal = {Nucleic Acids Res.}, pages = {D326 -- 330}, year = {2010}, language = {en} } @inproceedings{DickmannKasparLoehnhardtetal.2009, author = {Dickmann, Frank and Kaspar, Mathias and L{\"o}hnhardt, Benjamin and Kepper, Nick and Viezens, Fred and Hertel, Frank and Lesnussa, Michael and Mohammed, Yassene and Thiel, Andreas and Steinke, Thomas and Bernarding, Johannes and Krefting, Dagmar and Knoch, Tobias and Sax, Ulrich}, title = {Visualization in Health Grid Environments: A Novel Service and Business Approach}, volume = {5745}, booktitle = {GECON}, publisher = {Springer}, doi = {10.1007/978-3-642-03864-8_12}, pages = {150 -- 159}, year = {2009}, language = {en} } @article{BauerRotherMooretal.2009, author = {Bauer, Raphael and Rother, Kristian and Moor, Peter and Reinert, Knut and Steinke, Thomas and Bujnicki, Janusz and Preissner, Robert}, title = {Fast Structural Alignment of Biomolecules Using a Hash Table, N-Grams and String Descriptors}, volume = {2}, journal = {Algorithms}, number = {2}, doi = {10.3390/a2020692}, pages = {692 -- 709}, year = {2009}, language = {en} } @inproceedings{MayKlauBaueretal.2007, author = {May, Patrick and Klau, Gunnar and Bauer, Markus and Steinke, Thomas}, title = {Accelerated microRNA-Precursor Detection Using the Smith-Waterman Algorithm on FPGAs}, volume = {4360}, booktitle = {GCCB}, editor = {Dubitzky, W.}, publisher = {Springer}, pages = {19 -- 32}, year = {2007}, language = {en} } @article{MeyerSteinkeSuehnel2007, author = {Meyer, Michael and Steinke, Thomas and S{\"u}hnel, J{\"u}rgen}, title = {Density functional study of isoguanine tetrad and pentad sandwich complexes with alkali metal ions}, volume = {13}, journal = {Journal of Molecular Modeling}, number = {2}, publisher = {Springer Berlin / Heidelberg}, pages = {335 -- 345}, year = {2007}, language = {en} } @inproceedings{KotthaPeterSteinkeetal.2007, author = {Kottha, Samatha and Peter, Kathrin and Steinke, Thomas and Bart, Julian and Falkner, J{\"u}rgen and Weisbecker, Anette and Viezens, Fred and Mohammed, Yassene and Sax, Ulrich and Hoheisel, Andreas and Ernst, Thilo and Sommerfeld, Dietmar and Krefting, Dagmar and Vossberg, Michael}, title = {Medical Image Processing in MediGRID}, booktitle = {German E-Science Conference}, publisher = {Max Planck Digital Library}, address = {Baden-Baden}, year = {2007}, language = {en} } @inproceedings{StahlbergBabstPopigetal.2007, author = {Stahlberg, Eric and Babst, Michael and Popig, Daryl and Steinke, Thomas}, title = {Molecular Dynamics with FPGAs: A Portable API Molecular Simulations with Hardware Accelerators: A Portable Interface Definition for FPGA Supported Acceleration}, booktitle = {International Supercomputing Conference 2007 (ISC 2007)}, address = {Dresden}, year = {2007}, language = {en} } @inproceedings{StahlbergPopigRyleetal.2007, author = {Stahlberg, Eric and Popig, Daryl and Ryle, Debie and Babst, Michael and Anderson, Mohammed and Steinke, Thomas}, title = {Molecular Simulations with Hardware Accelerators}, booktitle = {Reconfigurable Systems Summer Institute 2007 (RSSI 2007)}, address = {National Center for Supercomputing Applications, Urbana/Illinois}, year = {2007}, language = {en} } @inproceedings{MayKrauseEhrlichetal.2005, author = {May, Patrick and Krause, F. and Ehrlich, C. and Maaskola, J. and Steinke, Thomas}, title = {ZIB threading pipeline - A webservice-based, distributed structure prediction workflow.}, booktitle = {Proceedings of the German Conference on Bioinformatics (GCB)}, pages = {125 -- 126}, year = {2005}, language = {en} } @inproceedings{MichalskyGoedePreissneretal.2004, author = {Michalsky, E. and Goede, A. and Preissner, Robert and May, Patrick and Steinke, Thomas}, title = {A distributed pipeline for structure prediction}, booktitle = {CASP6 Abstract Book, Sixth Meeting on the Critical Assessment of Techniques for Protein Structure Prediction, Gaeta, Italy}, pages = {112 -- 114}, year = {2004}, language = {en} } @inproceedings{RotherMuellerTrissletal.2004, author = {Rother, Kristian and M{\"u}ller, Heiko and Trißl, Silke and Koch, Ina and Steinke, Thomas and Preissner, Robert and Fr{\"o}mmel, Cornelius and Leser, Ulf}, title = {Columba: Multidimensional Data Integration of Protein Annotations}, volume = {2994}, booktitle = {Data Integration in the Life Sciences, First International Workshop, DILS 2004, Leipzig, Germany, March 25-26}, editor = {Rahm, Erhard}, publisher = {Springer Berlin / Heidelberg}, doi = {10.1007/978-3-540-24745-6_11}, pages = {156 -- 171}, year = {2004}, language = {en} } @article{TrisslRotherMuelleretal.2005, author = {Trißl, Silke and Rother, Kristian and M{\"u}ller, Heiko and Steinke, Thomas and Koch, Ina and Preissner, Robert and Fr{\"o}mmel, Cornelius and Leser, Ulf}, title = {Columba: an integrated database of proteins, structures, and annotations}, volume = {6}, journal = {BMC Bioinformatics}, doi = {10.1186/1471-2105-6-81}, pages = {81 -- 92}, year = {2005}, language = {en} } @inproceedings{MayKalliesSteinke2005, author = {May, Patrick and Kallies, B. and Steinke, Thomas}, title = {THESEUS - a parallel threading core for highthroughput protein structure prediction}, booktitle = {Proceedings of the 7th Congress of the World Association of Theoretically Orientes Chemists (WARTOC)}, year = {2005}, language = {en} } @inproceedings{MaySteinkeMeyer2004, author = {May, Patrick and Steinke, Thomas and Meyer, Michael}, title = {THESEUS: A Parallel Threading Core}, booktitle = {Procs. 12th Internat. Conf. on Intelligent Systems for Mol. Bio. (ISMB) and 3rd European Conf. on Comp. Bio. (ECCB), Glasgow}, pages = {199}, year = {2004}, language = {en} } @inproceedings{RotherTrisslMuelleretal.2003, author = {Rother, Kristian and Trissl, S. and M{\"u}ller, H. and May, Patrick and Heek, R. and Preissner, Robert and Steinke, Thomas and Koch, Ina and Leser, Ulf and Fr{\"o}mmel, Cornelius}, title = {Columba - A Database of Annotations of Protein Structure}, booktitle = {ECCB - Proceedings of the European Conference on Computational Biology in conjunction with the French National Conference on Bioinformatics}, editor = {Christophe, C. and Lenhof, H.-P. and Sagot, M.-F.}, pages = {109 -- 110}, year = {2003}, language = {en} } @inproceedings{MayEhrlichSteinke2006, author = {May, Patrick and Ehrlich, Hans-Christian and Steinke, Thomas}, title = {ZIB Structure Prediction Pipeline: Composing a Complex Biological Workflow Through Web Services}, volume = {4375}, booktitle = {Euro-Par 2006 Workshops}, editor = {Lehner, Wolfgang and Meyer, Norbert and Streit, Achim and Stewart, Craig}, publisher = {Springer}, pages = {1148 -- 1158}, year = {2006}, language = {en} }