drjoe on high performance computing
drjoe on hpc

5 minute guides to parallel and vector programming

Intel is publishing 5 minute videos on parallel and vector programming which you might find interesting.  Lots of marketing fluff, but also some interesting content on Cilk Plus, OpenMP and MPI.  There are a total of 12 videos coming online, here's the first...

"Going Parallel with C++11" --- again :-)

The 2012 Chicago Code Camp has come and gone --- excellent talks, as usual.  Enjoyed talks on Provable Code, Multicore, and F#.  And had fun with my talk on the new concurrency features in C++11, though I learned an important "demo" lesson:  test your demos with the same hardware as you plan to use when presenting.  I prefer to use a wireless mouse when I present, and this caused problems during the demo.  Who wouldn't have thought?!

This coming tuesday (22 May 2012)  I'm giving an updated version of C++11 talk at the joint get-together of the Chicago HPC/GPU and Chicago C/C  meetup groups.  We're meeting in downtown Chicago at one of the DePaul buildings:  DePaul CDM Building, room 924, 243 S. Wabash.  Seating is limited to the first 60 that attend, and we have over 70 registered.  Plan to arrive between 6-6:15pm, talk will start at 6:30.  AND note that no dinner is served, so bring food and your favorite beverage into the room with you!

The talk will focus on the new  the new concurrency features in C++11 for asynchronous and parallel programming.  We'll also touch on designing high-performance software, showing that high-performance is not just about exposing parallelism.  Here is a PDF of the talk, and the PPT and demos if you're interested..

Join us if you can!

Speaking at Chicago Code Camp

Busy week here in Chicago...  The boat is back in the water, sailing has started, and the 2012 Chicago Code Camp goes off this Saturday, May 19th.  Lots of great talks, lunch is provided, and it's free.  Just costs your time. 

I'm lucky enough to be speaking as well:  "Going Parallel with Cpp11", where I'll talk about the new concurrency features in C++11 for asynchronous and parallel programming.  Love this stuff.  Here is a PDF of the talk, and the PPT and demos if you're interested.. 

And next tuesday (May 22) I'm giving the talk again (with more details) downtown at the joint meetup of the Chicago C/C++ and HPC/GPU user groups.  6:30 PM, more info here.

Join us if you can! 

Jill Bolte Taylor's stroke of insight

I thought I'd share this since it's an amazing story, and has some connection with parallelism (but mostly it's an interesting story .  Dr. Bolte Taylor is a well-known brain researcher who suffered a stroke, and through that stroke learned a great deal about the brain:  in her view, left side is a sequential processing engine that focuses on connecting with the outside world, and the right side that is a parallel processing engine focused on the internal world (ourself). 

Fascinating stuff, and very personal.  18 minutes long...  The URL again:  http://ed.ted.com/lessons/jill-bolte-taylor-s-stroke-of-insight.

Upcoming talks for May 2012

May is looking to be a fun month, I'm lucky to be heading out and giving 3 talks in the Chicago community:

May 6:  "Introduction to F#"
Software Development Community of Chicago

May 19:  "Going Parallel with C++11"
Chicago Code Camp

May 22:  "Going Parallel with C++11"
HPC & CPU Supercomputing group of Chicago

If you can attend, please do!  If not, the materials will be posted here (on the downloads page) after each talk .  Cheers!

summer workshop in parallel java

Interested in learning parallel programming from a Java perspective?  Experts at the U. of Illinois, Urbana-Champaign Parallelism Center are hosting another summer workshop for graduate students, faculty and professionals.  Slated for 9-13 July 2012, this 5-day workshop is not free, but relatively inexpensive:  from $200-$500, though attendees are also responsible for travel and lodging expenses.  Here's the tentative schedule.

Highly recommended!

Chicago HPC/GPU meetup

I'm co-organizing the HPC/GPU meetup of Chicago, and our next meeting is scheduled for Wednesday, April 11th at 6pm.  We have 2 very good speakers lined up:

  1.  John Ashley of Nvidia who will present "CUDA Thrust", a C++ framework for GPU programming, and

  2.  Dr. Michael Kelly of Wolfram who will discuss Wolfram's GPU integration work focused on financial derivatives (abstract below).

We are meeting at Tech Nexus in downtown Chicago, 200 South Wacker, 15th floor.  Please join us, and share this open invitation with friends/colleagues.  Cheers!

Generating Random Numbers in Parallel --- as easy as 1, 2, 3

I'm at Supercomputing 2011 conference in Seattle, and heard an absolutely brilliant talk by John Salmon on how to generate random numbers, properly, in parallel.  And he knows what he's talking about: he works for David Shaw, an early pioneer of applying HPC to Wall Street trading.  And random numbers play a critical role in trading algorithms.

Here's the paper, "Parallel Random Numbers:  as easy as 1, 2, 3", that was accepted into Supercomputing 2011.  And here's their library random123 (for C/C++ as a set of header files compatible with a variety of platforms).  Good stuff, I plan to use it whenever I need to generate random numbers (typically as part of Monte Carlo simulations). 

Note that the library contains examples of how to use the RNGs, including how to use with the new C++0x standard.

Wisconsin visit --- November 8-9, 2011

Off to visit the U. of Wisconsin, Stevens Point, and deliver some talks to students and faculty.  I'll be talking about programming paradigms, parallel programming, and the challenges of learning and teaching these subjects.  Then I'll visit the nearby Marshfield .NET users group to deliver a talk on async and parallel programming in .NET 4. 

Here are the PDFs of the talks:

The PPT and source code can be found on my web site.  Cheers!

Do companies really use functional programming?

Ran across this well-written article --- "OCaml for the Masses" --- on why a Wall Street company completely switched over to functional programming in 2005, and loves it.  Functional programming is still a niche, but a growing one certainly in the financial and scientific communities.  A good read if you're looking for real-world motivation to try functional programming.