Blog Archives

Parallel Worlds

Speeding Up Code Without Doing Anything

Of all the techniques I use to speed up code, the one I like the most comes with just the press of a button, or more precisely at the swap of a compiler Every Intel compiler has this particular option, and I consider to be a great friend. I'm making a point of keeping you in suspense for a little while longer. Let me first tell you a couple of stories that prove the point.

Sequential Programming: Like Eating Peas with a Straw.

Before the era of multicore chips, performance gains in CPUs was achieved by a combination of ever increasing speed and architectural enhancements. This resulted in more and more power being consumed by the processor -- a situation that could not continue forever.

How to choose the right programming model

Earler this week I watched a webinar on Beyond “thinking” parallel:How to choose the right parallel programming model. The webinar was first of a series of webinars on Real World Parallelism that will be broadcast over the coming weeks. James Reinders took us through some pertinent questions about what we should expect of a parallel programming model, he then went on to give examples of how different current and emerging parallel technologies 'fit the bill'.

Parallelism - full speed ahead!

Over recent weeks Intel have been involved in some exiting developments that continue to strengthen contribution it is making to the world of parallel programming. Aquisition of Rapidmind and Cilk I'm sure will complement and enhance today's solutions that Intel offer. See Reinders on Rapidmind and Reinders on Cilk for more opinion on this.


Looking at my diary of events around multicore for the upcoming months, it seems clear to me that the world of Parallel Worlds is 'full speed ahead'.

Parallel Execution Advantage on Single Core Intel Atom

I've just had 2 weeks vacation in South America. To help me cope with the long flight I bought a Samsung N110 - which has a battery life of over 9 hours. Also I figured the smaller size would be easier to work with whilst sitting in economy class. Irony was I missed my daytime flight, ended up travelling in the evening and so I slept rather than using the Netbook on the plane.

After a couple of days of being in Brazil, I got itchy fingers, and decided to test the Samsung N110 to see how it performed on parallel programs.
I built and ran my favourite Pi program using the Intel® Compiler that comes with Intel Parallel Studio, and got a performance boost of 1.47.

Going Parallel: Part 5 -- Checking for Parallel Errors

In the previous blog, I created an application that calculated the value of Pi. In this blog I show how to detect and correct the errors that I inadvertently introduced in my last posting.

Going Parallel: Part 4 -- Enter Intel Parallel Studio

Previously I examined a Dhrystone app and identified hotspots. Since then Intel Parallel Studio has been released, so I thought I'd convert the project to use it. This time I concentrate on converting my project to Visual Studio, then use Parallel Studio begin implementing parallelism.

Going Parallel: Part 3: Let's Get Started!

When I first dipped my toes into parallel programming I hunted around for a legacy application to change from serial to parallel. Rather than work on one of my own apps, I looked for a serial application on the web that had lots of CPU activity. I ended up choosing the Dhrystone benchmark.

If It Works -- Use It!

I recently spoke at the ACCU ("Association of C and C++ Users") Conference in the UK, with the title of my talk being "Seven Tips To Help Get You Started on Multicore".

Going Parallel: Part 2: So who's really writing parallel applications?

In a crazy moment sometime ago I forked out a few UK Pounds registering a url how-parallel-is-your-software.com (not the real address). The plan was to use the site to let people register any applications they found that ran parallel. Perhaps even run a competition to see who could find the most parallel commercial application. Maybe this would be the route to me becoming the next dotcom millionaire! I never had the nerve to bring the idea to life. I suspect that the moment I published anything every lawyer in town would be knocking at my door.

Going Parallel: Part 1: Doing two things at once - impossible!

Maybe it's just me, but I have to confess I'm no good at doing more than one thing at once. For example, I'm at the breakfast table reading the paper and eating, suddenly my wife comments "did you hear that? ...". Usually I haven't. My typical reply is "no - I was reading the paper".

Welcome to Parallel Worlds

Welcome to Parallel Worlds, a blog hosted by Stephen Blair-chappell. Stephen is a Technical Consulting Engineer at Intel, and has worked in the Intel Compiler Lab for the last 10 years. Prior to joining Intel, Stephen worked as a lecturer at the University of Central England, specializing in Software Engineering and Embedded Systems. Outside of work, Stephen enjoys playing the pipe organ, and is an accomplished musical instrument restore

Calendar

November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
December 2008

Looking For The Lost Packets: Part 2
Techniques for debugging multicore packet-processing systems
Looking For The Lost Packets: Part 1
Techniques for debugging multicore packet-processing systems
DSP Meets Wireless Communications
Parallel Pattern 4: Gather

Real World Parallelism Webinar Series
  • February 18, 2010
    Lock Contention, Using Intel Parallel Studio to Improve Performance
    Speaker: Vasanth Tovinkere, Software Engineer, Intel Corporation (Bio)

    Vasanth Tovinkere is a software engineer in the Developer Products Division (DPD) at Intel. His current role involves defining novel approaches to understanding and visualizing parallel performance and consulting with strategic customers to help them prepare and deliver code for the multicore world. Vasanth has been involved in the development of automatic semantic event detectors for digital sports technologies in Intel Labs. He also has been awarded three patents and has two patents pending.

    Abstract:
    Discover how easy it is to use the power of Microsoft Visual Studio and Intel Parallel Studio to find performance issues due to lock contention in threaded applications. This ensures that shipped applications can take better advantage of multicore processors. In this webcast, we provide live demonstrations that show how to identify lock contentions issues with Visual Studio and Intel Parallel Studio, an add-in to Visual Studio that helps developers create fast, reliable code on multicore processors.t.