OpenMPCon’s third keynote on Embedded Computing with OpenMP

OpenMPCon  this month aims to bring a stellar lineup of the latest industry gurus, users and developers together with the language designers. As such we have 3 keynotes along with two full day tutorial and a day and a half of talks. You cans see the first keynote, tutorial and the first of three talks here. We also posted the second of three keynotes by Professor William Tang of Princeton University as well as the second series of three talks.

In this post, I would like to announce the third keynote by Exas Instrument’s Eric Stotzer on Towards Programming Embedded Systems with OpenMP.

Software for embedded systems is more complex than in the past, as more functions are implemented on the same device. This talk will provide an overview of the characteristics of embedded systems and discuss features that could be added to OpenMP to enable it to better serve as a programming model for these systems. Embedded systems typically are constrained by among other things real-time deadlines, power-limitations and limited memory resources. Today OpenMP is not able to express these types of constraints. Embedded systems applications can be broadly classified as event-driven or compute and data intensive. OpenMP is well suited to expressing the parallel execution that is demanded by compute and data intensive applications. However, extensions are needed for event-driven applications, such as automotive embedded systems, where the behavior is characterized by a defined sequence of responses to a given incoming event from the environment. While the actions performed may not be compute or data intensive, they tend to have strict real-time constraints. The use of multicore technology has increased the design space and performance of Multiprocessor Systems-on-Chip (MPSoCs) that are targeted at embedded applications. A natural extension is to adapt the device construct added in OpenMP 4.0 to support the mapping of different software tasks, or components, to various processor cores.

Eric Stotzer (Ph.D. Computer Science) is a member of the Software Development Organization’s Compiler team.  He has been at TI 25 years working on software development tools, compilers, architectures, and parallel programming models.

Please consider attending by signing up here. In the mean time, we are looking for student and volunteers to help with the conference. Please connect with OpenMPCon if you wish to help.


OpenMPCon  next month aims to bring a stellar lineup of the latest industry gurus, users and developers together with the language designers. As such we have 3 keynotes along with two full day tutorial and a day and a half of talks. You cans see the first keynote, tutorial and the first of three talks here. I like to take this chance to describe the second of three keynotes by Professor William Tang of Princeton University.

A major challenge for supercomputing today is to demonstrate how advances in HPC technology
translate to accelerated progress in key application domains – especially with respect to reduction
in “time-to-solution” and also “energy to solution” of advanced codes that model complex physical
systems. In order to effectively address the extreme concurrency present in modern
supercomputing hardware, one of the most efficient algorithmic approaches has been to adopt
OpenMP to facilitate efficient multi-threading approaches. This presentation describes the
deployment of Open-MP-enabled scalable scientific software for extreme scale applications – with
focus on Fusion Energy Science as an illustrative application domain.
Computational advances in magnetic fusion energy research have produced particle-in-cell (PIC)
simulations of turbulent kinetic dynamics for which computer run-time and problem size scale very
well with the number of processors on massively parallel many-core supercomputers. For
example, the GTC-Princeton (GTC-P) code, which has been developed with a “co-design” focus,
has demonstrated the effective usage of the full power of current leadership class computational
platforms worldwide at the petascale and beyond to produce efficient nonlinear PIC simulations
that have advanced progress in understanding the complex nature of plasma turbulence and
confinement in fusion systems. Results have provided great encouragement for being able to
include increasingly realistic dynamics in extreme-scale computing campaigns with the goal of
enabling predictive simulations characterized by unprecedented physics realism needed to help
accelerate progress in delivering clean energy. In particular, OpenMP usage experience and
associated best practices in achieving these advances will be described.

Prof. William Tang of Princeton University’s Department of Astrophysical Science serves on the
Executive Board for the University’s interdisciplinary “Princeton Institute for Computational Science
and Engineering (PICSciE)” which he helped establish as Associate Director (2003-2009). He is
also a Principal Research Physicist at the Princeton Plasma Physics Laboratory [the DOE national
laboratory for Fusion Energy Research for which he served as Chief Scientist (1997-2009)] and
was recently appointed Distinguished Visiting Professor at the Shanghai Jiao Tong University’s
HPC Center and NVIDIA Center of Excellence. He is a Fellow of the American Physical Society
and has received the Chinese Institute of Engineers-USA Distinguished Achievement Award
(2005) and the HPC Innovation Excellence Award from the International Data Corporation (2013).
He is internationally recognized for expertise in the mathematical formalism as well as associated
computational applications dealing with electromagnetic kinetic plasma behavior in complex
geometries, and has an “h-index” or “impact factor” of more than 45 on the Web of Science,
including well over 7000 citations. Prof. Tang has taught for over 30 years at Princeton U. and has
supervised numerous Ph.D. students, including recipients of the Presidential Early Career Award
for Scientists and Engineers in 2000 and 2005.

Please consider attending by signing up here. In the mean time, we are looking for student and volunteers to help with the conference. Please connect with OpenMPCon if you wish to help.

Clang 3.7 will have full OpenMP 3.1 support followed by OpenMP 4

Hi all, one of my job as CEO of OpenMP is to manage the improvement of OpenMP, the de-facto parallel programming API serving on C, C++, and Fortran. For the last several years, we have been working in collaboration with Intel, IBM and many other companies to add OpenMP support into clang/llvm. OpenMP is already well supported by many proprietary compilers from IBM, Intel, Oracle, PathScale, TI, as well as GNU and others. But with clang/llvm, we had to start from scratch but Intel had an  OpenMP github branch which we have been collaborating with developing, and upstreaming to clang. So over the last 2 years, you have been seeing more OpenMP support in clang/llvm in llvm 3.5, 3.6 releases.

I am happy to announce that this collaboration has achieved full OpenMP 3.1 support in clang/llvm 3.7 which will be released at the end of August.

This branch will have OpenMP 3.1 fully supported, but disabled by default (due to a timing of library switch, but eventually it will be on by default likely by the next clang release). To enable it, please use “-fopenmp=libomp“ command line option. Your feedback (positive or negative) on
using OpenMP-enabled clang would be much appreciated; please share it either at the cfe-dev  or openmp-dev mailing list.

In addition to OpenMP 3.1, several important elements of 4.0 version of the
standard are supported as well:
– “omp simd“, “omp for simd“ and “omp parallel for simd“ pragmas
– atomic constructs
– “proc_bind“ clause of “omp parallel“ pragma
– “depend“ clause of “omp task“ pragma (except for array sections)
– “omp cancel“ and “omp cancellation point“ pragmas
– “omp taskgroup“ pragma

Clang 3.7 now fully supports OpenMP 3.1 and is reported to work on many platforms,  including x86, x86-64 and Power based on the collaboration of many companies below.

Our intention is to have clang/llvm along with GNU compilers be the reference implementations allowing it to follow OpenMP closely as OpenMP rapidly develop new features. Commercial compilers have their own specific pressures and customer requirements and can typically follow as they need.

We plan to continue work on 4.0 for clang 3.8. Please see this link for up-to-date
status. OpenMP 4.1 is sure to follow too as we are now just releasing the public Comment draft and aimed to ratify OpenMP 4.1 with significant enhancements for accelerators by SuperComputing 2015 in November.

Contributors to this work include AMD, Argonne National Lab., IBM, Intel, Texas Instruments, University of Houston and many others.

OpenMPCon/IWOMP 2015 Developers Conference will be in Aachen, Germany

It is with great pleasure that I wish to announce OpenMPCon 2015 which is paired and co-located with the sister conference IWOMP 2015 on Sept 28-Oct 2. As OpenMP evolves rapidly with more releases to match pace with the rapidly evolving Hardware and Parallel world (one Technical Report followed by one ratified Specification every year; we are nearly delivering OpenMP 4.1 which you can preview at OpenMPCon), OpenMPCon aims to be the central place for the latest OpenMP Language development, tutorial, tips and tricks, as well developers connecting with language designers, and compiler/tool vendors.  This will be done on Monday and Tuesday, and partially on Wednesday where the tutorial is shared with IWOMP but can be attended by both conferences.

IWOMP continues its rich history of academic refereed journal research paper presentations on Thursday and Friday on the latest research that will move OpenMP forward into the next generation, as well as offering experimental data on current OpenMP usage that will allow the Language Committee to refine existing constructs. These two combined conferences form a very healthy way for OpenMP to remain agile and moving forward.

Whether you are an OpenMP Developers/Students/Consultants/Educators, Managers / Directors / Team Leaders, Vendor Companies/Sponsors/Book Publishers, or Career Seekers & Recruiters, here are reasons to attend
or sponsor. Note that sponsorship of OpenMP also implies automatic sponsorship of IWOMP and vice versa.

The latest Program Schedule is online and it contains a wealth of full day tutorials, advanced tutorials, talks from users, developers and Language Committee members. The Conference long break/lunch times for connecting with all the attendees. There will be Lightning talks and posters held at breaks as well as evening sessions where you can Grill the Committee/CEO on the latest draft of the OpenMP 4.1 specification which should be out for comment draft before the conference.

Currently, the first of three keynote is offered by Intel’s Chief Evangelist and Book Publisher extraordinaire James Reinders. I like to take this chance to describe the first Tutorial to be hosted by past OpenMP CEO Tim Mattson all-day on Monday Sept 28..

For this tutorial we assume you know C (OpenMP supports Fortran and C++, but we will restrict ourselves to C), are relatively new to parallel programming.The tutorial is based on Active learning! and will mix short lectures with short exercises. It offers a comprehensive overview of OpenMP from one of the most expert and entertaining instructors of OpenMP, offering everything that OpenMP Beginners to Intermediate users would want to get started in OpenMP and learn more of the deep details of tasks and loop parallelism.

If you are interested in the latest hot topics on Exascale computing or just how to program GPUs, or heterogeneous computing, then you need to attend this talk on a comparison of the latest state of OpenMP vs OpenACC will be offered by James Beyers who having been positioned in both groups offers unique insight into both. As both an OpenMP and OpenACC insider, he will present his opinion of the current status of these two directive sets for Programming “accelerators”. Insights into why some decisions were made in initial releases and why they were changed later will be used to explain the trade-offs required to achieve agreement on these complex directive sets.

One of the main aim of the OpenMPCon is for users/developers to learn the latest tips, tricks and gotchas from OpenMP Gurus and there is none better from past OpenMP Language Chair Mark Bull from EPCC. This talk will present a series of practical hints for OpenMP programmers, collected from many years experience of teaching OpenMP, and from answering questions on the OpenMP Forum. He will describe some common pitfalls, and tactics for how to avoid them, or work around them, and some helpful hints that will hopefully make your life as an OpenMP programmer that little bit easier!

If you want performance in OpenMP, then you need to attend this talk on where did your performance go. Mark Bull will give you an understanding of how and why OpenMP programs lose performance. In this talk he will attempt to enumerate all the possible ways that OpenMP programs can deliver less than ideal speedup, divided into six main categories: lack of parallelism, load imbalance, synchronisation, communication, hardware contention and compiler non-optimisation. For each category, he will explain why it happens, and offer some possible solutions.

In this blog, I have described the OpenMPCon first of three keynote, as well as the Monday full-day Beginner/Intermediate Tutorial, and three of the talks accepted at OpenMPCon 2015.

In the next set of blogs, I will update as follows

  • Second keynote + next 3 accepted talks
  • Wednesday Advanced Tutorial + next 3 accepted talks
  • Third keynote + next 3 accepted talks
  • Evening sessions + Lightning/Poster talks

Please consider attending by signing up here. In the mean time, we are looking for student and volunteers to help with the conference. Please connect with OpenMPCon if you wish to help.