Ulrich Weigand
IBM
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Ulrich Weigand.
Ibm Systems Journal | 2005
David Joel Edelsohn; Wolfgang Gellerich; Mustafa Hagog; Dorit Naishlos; Mircea Namolaru; Eberhard Pasch; Hartmut Penner; Ulrich Weigand; Ayal Zaks
The GCC (GNU Compiler Collection) project of the Free Software Foundation has resulted in one of the most widespread compilers in use today that is capable of generating code for a variety of platforms. Since 1987, many volunteers from academia and the private sector have been working to continuously improve the functionality and quality of GCC. Some of the compilers key components were, and continue to be, developed at IBM Research laboratories. We review several of IBMs contributions to the compiler, including a code generator for the IBM zSeries® processor and a front end for a PL/I-like language used for systems software programming. We also cover many optimizations, including the interblock instruction scheduler, software pipeliner, and vectorizer. These contributions help improve the overall performance of code generated by GCC, and in particular, enhance the IBM RISC (reduced instruction set computer) architecture and the zSeries processors. This paper includes a report on our general experience with GCC in both open source and proprietary software environments and reviews the quality and performance of GCC-generated code.
Proceedings of the 2009 ICSE Workshop on Multicore Software Engineering | 2009
Tobias Werth; Tobias Flossmann; Michael Klemm; Dominic Schell; Ulrich Weigand; Michael Philippsen
Multicore designers often add a small local memory close to each core to speed up access and to reduce off-chip IO. But this approach puts a burden on the programmer, the compiler, and the runtime system, since this memory lacks hardware support (cache logic, MMU, …) and hence needs to be managed in software to exploit its performance potential. The IBM Cell Broadband Engine (Cell B. E.) is extreme in this respect, since each of the parallel cores can only address code and data in its own local memory directly. Overlay techniques from the 70ies solve this problem with the well-known drawbacks: The programmer must manually divide the program into overlays and the largest overlay determines how much data the application can work with. In our approach, programmers do no longer need to cut overlays. Instead, we automatically and at runtime fragment and load small code snippets into a code cache located in the local stores and supervised by a garbage collector. Since our loader does not load code that is not needed for execution, the code cache can be much smaller (up to 70%) than the original program size. Applications can therefore work on larger data sets, i. e., bigger problems. Our loader is highly efficient and slows down applications by less than 5% on average. It can load any native code without pre-processing or changes in the software tool chain.
Archive | 2007
Ulrich Weigand; Martin Schwidefsky
Linux auf System z ist ein Betriebssystem, das die Vorzuge von Linux mit denen der System z-Architektur verbindet. Die zur Unterstutzung dieser Hardware notwendigen Softwarekomponenten sind heute vollstandig in die Open-Source-Linux-Pakete integriert und werden von IBM-Entwicklern in Kooperation mit der Open-Source-Gemeinde kontinuierlich weiterentwickelt. Distributoren wie Novell und RedHat bieten komplette Linux-Distributionen und Support fur Endkunden an.
Archive | 2006
Carsten Otte; Ulrich Weigand
Archive | 2010
Christian Borntraeger; Christian Ehrhardt; Carsten Otte; Martin Schwidefsky; Ulrich Weigand
Archive | 2013
Jochen Roehrig; Wolfgang Reichert; Ulrich Weigand
Archive | 2011
Alexandre E. Eichenberger; Brian Flachs; Dorit Nuzman; Ira Rosen; Ulrich Weigand; Ayal Zaks
Archive | 2014
Michael Karl Gschwind; Ulrich Weigand
Archive | 2014
Michael Karl Gschwind; Ulrich Weigand
Archive | 2003
Hartmut Penner; Ulrich Weigand