You are here

Workshop program

Workshop Program

Day 1, Tuesday 12 - Horti Sallustiani

9.00 Registration
9.30 Opening Remarks
   
9.45 Keynote: C++11 Style - A Touch of Class
Bjarne Stroustrup, Professor and holder of the College of Engineering Chair in Computer Science, Texas A&M University
  We know how to write bad code: Litter our programs with casts, macros, pointers, naked new and deletes, and complicated control structures. Alternatively (or in addition), obscure every design decision in a mess of deeply nested abstractions using the latest object-oriented programming and generic programming tricks. For good measure, complicate our algorithms with interesting special cases. Such code is incomprehensible, unmaintainable, usually inefficient, and not uncommon.
But how do we write good code? What principles, techniques, and idioms can we exploit to make it easier to produce quality code? I will make an argument for type-rich interfaces, compact data structures, integrated resource management and error handling, and highly-structured algorithmic code. I will illustrate my ideas and motivate my guidelines with a few idiomatic code examples. I will not discuss concurrent systems in any detail, but I will articulate ideas for their construction.
I will use C++11 freely. Examples include auto, general constant expressions, uniform initialization, type aliases, type safe threading, and user-defined literals. Developing a "modern style" is essential if we don't want to maintain newly-written 1970s and 1980s style code in 2020.
This presentation reflects my thoughts on what "Modern C++" should mean in the 2010s: a language for programming based on light-weight abstraction with a direct and efficient mapping to hardware, suitable for infrastructure code.
   
10.45 Coffee Break
11.15-12.45 Session 1: Proposed Extensions to OpenMP
11.15 Specification and Performance Evaluation of Parallel I/O Interfaces for OpenMP
Kshitij Mehta, Edgar Gabriel and Barbara Chapman
   
11.45 The Design of OpenMP Thread Affinity
Alexandre E. Eichenberger, Christian Terboven, Michael Wong and Dieter an Mey
   
12.15 Auto-scoping for OpenMP tasks
Sara Royuela, Alejandro Duran, Chunhua Liao and Daniel J. Quinlan
   
12.45 Lunch break
14.15-15.45 Session 2: Proposed Extensions to OpenMP
14.15 A Case for Including Transactions in OpenMP II: Hardware Transactional Memory
Barna L. Bihari, Michael Wong, Amy Wang, Bronis R. de Supinski and Wang Chen
   
14.45 Extending OpenMP* with Vector Constructs for Modern Multicore SIMD Architectures
Michael Klemm, Alejandro Duran, Xinmin Tian, Hideki Saito, Diego Caballero and Xavier Martorell
   
15.15 Coffee break
15.45-16.45 Session 3: Runtime Environments
15.45 Automatic OpenMP Loop Scheduling: A Combined Compiler and Runtime Approach
Peter Thoman, Herbert Jordan, Simone Pellegrini and Thomas Fahringer
   
16.15 libKOMP, an Efficient OpenMP Runtime System for Both Fork-Join and Data-Flow Paradigms
François Broquedis, Thierry Gautier and Vincent Danjean
   
16.45-17.45 Poster Session
   
19.30 Aperitif and Social Dinner

Day 2, Wednesday 13 - Horti Sallustiani

9.15 Keynote. GPU Pragmas: Enabling the next HPC revolution
Ian Buck, General Manager of GPU Computing, NVIDIA.
  This keynote will cover the evolution of GPU computing, past, present and future and the opportunity that directive based programming is enabling in the HPC and broader markets. Ian will provide a history of GPU Computing, discuss the opportunities modern GPUs represent for compiler developers, and why directives like OpenMP are key to wide spread developer adoption.
   
10.15 Coffee Break
10.45-12.45 Session 4: Optimization and Accelerators
10.45 Experiments with WRF on Intel Many Integrated Core (Intel MIC) Architecture
Larry Meadows
   
11.15 Optimizing the Advanced Accelerator Simulation Framework Synergia Using OpenMP
Hongzhang Shan, Erich Strohmaier, James Amundson and Eric G. Stern
   
11.45 Using Compiler Directives for Accelerating CFD Applications on GPUs
Haoqiang Jin, Mark Kellogg and Piyush Mehrotra
   
12.15 Effects of Compiler Optimizations in OpenMP to CUDA Translation
Amit Sabne, Putt Sakdhnagool and Rudolf Eigenmann
   
12.45 Lunch break
14.15-15.45 Session 5: Task Parallelism
14.15 Assessing OpenMP Tasking Implementations on NUMA Architectures
Christian Terboven, Dirk Schmidl, Tim Cramer and Dieter an Mey
   
14.45 Performance Analysis Techniques for Task-Based OpenMP Applications
Dirk Schmidl, Peter Phillippen, Daniel Lorenz, Christian Rössel, Markus Geimer, Dieter an Mey, Bernd Mohr and Felix Wolf
   
15.15 Task-based Execution of Nested OpenMP Loops
Spiros N. Agathos, Panagiotis E. Hadjidoukas and Vassilios V. Dimakopoulos
   
15.45 Coffee break
16.15-17.15 Session 6: Validation and Benchmarks
16.15 SPEC OMP2012 - An application benchmark suite for parallel systems using OpenMP
Matthias S. Müller, John Baron, William C. Brantley, Huiyu Feng, Daniel Hackenberg, Robert Henschel, Gabriele Jost, Daniel Molka, Chris Parrot, Joe Robichaux, Pavel Shelepugin, Matthijs van Waveren, Brian Whitney and Kalyan Kumaran
   
16.45 An OpenMP 3.1 Validation Testsuite
Cheng Wang, Sunita Chandrasekaran and Barbara Chapman
17.15 OpenMP Language Committee Report
LC1, Bronis R. de Supinski, Lawrence Livermore National Laboratory
LC2, Michael Wong, IBM Software Group
   
17.45 Closing Remarks