Thinking Parallel

A Blog on Parallel Programming and Concurrency by Michael Suess

SatelliteAs many of you know, I always like learning from mistakes. From my own ones, as well as from other people’s. A couple of students of mine tried to send a C++ std::vector using MPI and I was skeptical if their way of doing things was correct. I am now convinced that although it probably works for most implementations today, what they did is a mistake. An interesting one, nevertheless and therefore I am posting it here. (more…)

A TelephoneWho would have thought that such a small article on a Matrix Optimization and its impact on execution time would generate that many comments in such a short time, thanks for all of them! The original point I was trying to make in that article was to always check, if an optimization actually improves matters before you employ it. But I guess most of you found the question about why it was going wrong more interesting to discuss. And since I don’t want to disappoint my readers (thats you :P), I decided to put some of your suggestions to the test and see what actually caused the slowdown on the Intel Compiler. (more…)

The MatrixThe other day, two students of mine showed me some of their code. Part of their task was to fill a two-dimensional matrix using the formula: A[i][j] = 2 * i + 3 * j + 1; They showed me an optimization they did to speed up that calculation and I was skeptical. This article shows this optimization and my thoughts about why it failed. (more…)

A StreamAlan Zeichick is convinced that parallel programming (threading in this case) is conquering the desktop. To measure how far this adaption goes in a specific organization, he proposes a Threading Maturity Model (ThMM). But I would not have formulated the headline of this article like I did, if I did not see question marks still and this article attempts to explain them a tiny bit… (more…)

Baby with PaperSome more news that have caught my attention recently. As always, presented in no particular order and with no guarantee that they are even remotely new – all I am guaranteeing is that I had not seen these articles before and that I found them interesting. Your experience may of course vary :). (more…)

Gordon Freeman - Half Life 2A while ago I posted some comments on the press coverage of an event by Valve, where they explained threading in the Source Engine to a couple of tech-journalists. Unfortunately, the coverage left many open questions and some things even appeared to be wrong. Fortunately, Tom Leonard, the threading guru from Valve is a nice guy and agreed to answer some of my questions via email. This post contains the conversation we had. (more…)

FireworksI have just finished reading If You Want to Write: A Book about Art, Independence and Spirit by Brenda Ueland. Basically, I raced through it in two days (as fast as I can race when our little son demands some attention as well 🙂 ). With what I have learned from this book I would like to tell you about two resolutions for the new year that I have made to myself. (more…)

Christmas I am going to make this short, because you have better things to do at this time of the year than listen to me ;).

I wish you all a Merry Christmas and a Happy New Year! May all your wishes and more become true for Christmas as well as for the new year to come. Hope to hear from you all then…

IntelMost of my regular readers probably know by now that I am developing OpenMP-codes for work. I am also using Linux, more precisely Ubuntu Linux (even more precisely: Kubuntu Linux 6.10). When it comes to compilers for this platform, the Intel Compiler is one of the few affordable choices available – at least if you need OpenMP-support. Affordable in this case used to mean free for private use, cheap for academia and very reasonably priced for everyone else. I am being told by my students that Intel has changed that and the compiler is no longer free for private use, only an evaluation license valid for 30 days is available. I find this decision unfortunate, but of course I don’t know the logic behind it.

Competition is on the horizon, as the Sun compiler for x86/Linux is already in beta (will be free as far as I know). GCC will also include support for OpenMP in its next version 4.2, to be released some time next year – and this one is even free as in speech. The Portland Compiler is also available (although not free).

But this is not the topic of this article, instead I would like to tell you about how to install the Intel Compiler on a Debian-based system. (more…)

WarningInstead of writing one or two last articles before Christmas, here I am trying to fix a problem with this blog. I don’t know when this started, but right now no articles are accessible, only blank pages are shown. I have no idea what caused this, therefore debugging the problem is difficult, especially since this is on a shared webhosting account, where I don’t even have access to the error logs.

Interestingly, the RSS-Feeds and static pages are still working. Anyways, I apologize for the inconvenience and hope to have this fixed soon.

UPDATE: I was able to fix this by deactivating my comments-plugin. Sorry for the noise.