Jakub Jelínek

Recent Posts

What is new in OpenMP 4.5

A new version of the OpenMP standard, 4.5, has been released in November 2015 and brings several new constructs to the users. OpenMP is an API consisting of compiler directives and library routines for high level parallelism in C, C++ and Fortran programs. The upcoming version of GCC adds support for this newest version of the standard.

This post highlights some of the latest features, changes, and “gotcha’s” to look out for.

Continue reading “What is new in OpenMP 4.5”


GCC 5 in Fedora

gnu logoFedora 22 will ship with GCC 5, which brings a whole host of enhancements, among which is a new default C++ ABI. In this article, we’ll cover how that ABI transition will work in Fedora.

Background – what’s an ABI, why is it changing, and what does this mean for developers?

Put simply, binary compatibility means applications that are compiled on a combination of an operating system and a particular hardware architecture will load and run similarly across different instances of the operating environment. Application binaries consist of executable files and Dynamic Shared Objects (DSOs – the formal name for shared libraries), and the level of compatibility is defined by a specific application binary interface (ABI).

Continue reading “GCC 5 in Fedora”


OpenMP 4.0 support in Developer Toolset 3 Beta — Parallel programming extensions for today’s architectures

In this article, we’ll take a look at the OpenMP parallel programming extensions to C, C++ and Fortran – OpenMP 4.0. These are available out of the box in GCC v4.9.1, available to Red Hat Enterprise Linux developers via Red Hat Developer Toolset v3.0 (currently at beta release).

For a thorough backgrounder in parallelism and concurrency programming concepts, see Torvald Riegel’s earlier articles (part 1 and part 2). In this article, we’ll instead dig into the nuts and bolts of what OpenMP v4 provides to developers, and how it works in practice in GCC.

Continue reading “OpenMP 4.0 support in Developer Toolset 3 Beta — Parallel programming extensions for today’s architectures”