Thinking Parallel

A Blog on Parallel Programming and Concurrency by Michael Suess

Archive for the 'Parallel Programming' Category

OpenMP 3.0 – Public Draft Available

I usually don’t post press releases. But this one is different, since my favorite parallel programming system has almost reached its third major release. That’s right, OpenMP 3.0 is right around the corner and this is your chance to get your early fix. The language committee has worked very hard to make it a true […]

Choice Overload and Parallel Programming

I have been very quiet on this blog lately, mostly because my new job and the creation of our new house have kept me rather busy. Having to get up at 6 in the morning to be able to bring our son to kindergarden has not helped my productivity in the evenings either – and […]

OpenMP Does Not Scale – Or Does It?

While at the Parco-Conference two weeks ago, I had the pleasure to meet Ruud van der Pas again. He is a Senior Staff Engineer at Sun Microsystems and gave a very enlightening talk called Getting OpenMP Up To Speed. What I would like to post about is not the talk itself (although it contains some […]

How-to Split a Problem into Tasks

The very first step in every successful parallelization effort is always the same: you take a look at the problem that needs to be solved and start splitting it into tasks that can be computed in parallel. This sounds easy, but I can see from my students reactions that at least for some of them […]

Top 15 Mistakes in OpenMP

It has been a while since I have done this little experiment, but I still find the results interesting. As some of you may know, I teach a class on parallel programming (this is an undergraduate class, by the way – may I have a million dollar in funding now as well, please? 😎 ). […]

What Makes Parallel Programming Hard?

Anwar Ghuloum has posted his opinion about What Makes Parallel Programming Hard at the Intel Research Blogs (which are buzzing with activity with regards to parallel programming at the moment). The funny thing is, I have asked myself the same question last week, because I have just written a section in my PhD.-thesis about it. […]

10 Ways to Reduce Lock Contention in Threaded Programs

I see this mistake quite often: people have a performance or scalability problem with their threaded code and start blaming locks. Because everyone knows that locks are slow and limit scalability (yes, that was ironic :grin:). They start to optimize their code by getting rid of the locks entirely, e.g. by messing around with memory […]

Breaking Out of Loops in OpenMP

I have been quite late with my post this week, I apologize for that, but I have been sick with a cold (and I still am). Couple that with the fact that I did not find the time to write one or two posts in advance since Iwomp and you see why I am late […]

Some Fresh News on OpenMP

It’s been a short while since I came back from IWOMP but I would still like to share some of the news and experiences I have brought back from there. It’s been a really great experience for me, both at the conference and in the city of Beijing – which is always worth a trip, […]

The Most Overused Word in Parallel Programming: Reentrancy

I am a little late with my post this week, I apologize for that but I am still in Beijing at IWOMP with little time to post. Actually, now that the conference is over, I am staying for two more days to see the city, the Great Wall and a couple of other sites – […]