Grand Central Dispatch ported to FreeBSD.

A while back Drew McCormack reported that Grand Central Dispatch had been made open source:-

...allowing Grand Central to be ported to other UNIX/Linux systems will encourage its use. Until today, it would have been very unlikely that any new UNIX tools would be developed on Mac OS X using Grand Central, simply because they would only run on the Mac. With the possibility that Grand Central will become available on other UNIX systems, the likelihood that Grand Central will be incorporated into command line tools is greatly increased.

OpenCL Tutorial - Shared Memory Kernel Optimization

In this episode we'll go over an example of real-world code that has been parallelized by porting to the GPU. The use of shared memory to improve performance is covered as well as a discussion of synchronization points for coordinated work within a work-group. Source code is provided.

In iTunes, you can subscribe to the podcasts by going to:

Advanced -> Subscribe to podcast
URL: http://feeds.feedburner.com/opencl

Episode 6 - Shared Memory Kernel Optimization (Desktop/iPhone/iPod touch)
Episode 6 - Shared Memory Kernel Optimization (PDF)
Source code for Episode 6

NSConference 2010 Bookings Open

By Drew McCormack

Early this year the Mac Developer Network (MDN) hosted the inaugural NSConference meeting for Mac developers. The 2 day meeting, which took place on a University campus in the UK, was enthusiastically welcomed by European developers, and considered a great success by all those who attended.

Next year, MDN plans to repeat the show, only this time twice over: once in the UK and once in Atlanta, USA. The same lineup of speakers will be appearing at each. The UK show runs from January 31st to February 3rd, 2010, and the US show from February 21st to February 24th, 2010. The lineup of speakers looks impressive, with the likes of Matt 'Legend' Gemmell and Aaron Hillegass to name but two. The full list is on the site.

I'll also be talking again this year, and — perhaps more interesting for scientific developers — will be giving a 6 hour workshop on Grand Central Dispatch and OpenCL the day before the conference proper begins. Anyone wanting to get a grip on these technologies should consider coming. The workshop will be very hands on, so you should go away a more complete person.

ChemBioDraw 12 Review Added

ChemBioDraw or as it is probably still better known ChemDraw is a very established chemical drawing package that probably sets the standard for publication quality chemical drawing. There is a short review here.

http://www.macresearch.org/chembiodraw-12-review

OpenCL Tutorial - Questions and Answers to Episode Four

This episode covers questions hthat were generated from the previous podcast. We'll discuss GPU layout/terminology and bank conflicts resulting from shared memory access.

In iTunes, you can subscribe to the podcasts by going to:

Advanced -> Subscribe to podcast
URL: http://feeds.feedburner.com/opencl

Episode 5 - Questions and Answers to Episode Four (Desktop/iPhone/iPod touch)
Episode 5 - Questions and Answers to Episode Four (PDF)

Cocoa for Scientists (XXXII): The Physics of Sumos (A Flirtation with iPhone Game Development)

By Drew McCormack

I’ve spent most of my developer life solving scientific problems and developing tools to make people more productive in one way or another. A field of software development with which I have had very little involvement is games development. To be honest, I am not even much of a game player, let alone developer. Sure, I enjoy 5 minutes alone with Flight Control or Fieldrunners as much as the next guy, but beyond that, most games don’t really hold my interest. I would rather be creating something myself.

So I am perhaps the last person you would expect to develop an iPhone game. Nevertheless, my first — and probably last — game appeared in the App Store last week: Sumo Master. The story of Sumo Master extends back almost a year. In this tutorial, I want to tell the story of Sumo Master, why I developed it, and what I learnt along the way.

ChemDoodle Web Components

About the Author

Kevin Theisen is the President of iChemLabs, which funds, develops and hosts the open source ChemDoodle Web Components.

Protein Data Bank Demo and Canvas Technology Analysis

In this article, I provide some background and analysis of the javascript/Canvas technology along with future prospects followed by a step-by-step walkthrough on how to quickly put together a rich web application with the ChemDoodle Web Components. In the walkthrough, I produce a small application that queries the Protein Data Bank (PDB), displays 3D animations of the results, and saves a viewing history. The example is of moderate difficulty, and the reader should have prior knowledge of HTML. Javascript is also important, but those experienced in other programming languages should be able to follow the code with ease.

Programming with Blocks

Just a quick news item for those interested in the new C language extension that Apple added in 10.6, called blocks. In addition to Drew's tutorial on using blocks (here) and in using them in GCD (here), there is an in-depth tutorial on blocks posted by Joachim Bengtsson also available here.

Cocoa for Scientists (XXXI): All Aboard Grand Central

Author: Drew McCormack

A couple of weeks ago, Apple introduced Snow Leopard, an OS release that left many users cold, but got developers very warm. Snow Leopard has a few new under-the-hood changes that are designed to make the life of a programmer that much easier in the heterogeneous, multi-core society that we now live in.

To begin with there is OpenCL. OpenCL is a technology for computing with heterogenous hardware such as GPUs and CPUs. It is being covered on MacResearch in David Gohara’s excellent series of screencasts.

The other big technology is Grand Central Dispatch (GCD), and that’s what I want to look at in this tutorial. Grand Central is a new approach to parallelism. It does away with the old threaded models, and replaces it with a packet-based approach. In this tutorial, we’ll take a look at how it works, contrast it to other approaches to concurrency, and get our hands dirty in some GCD code.

Grand Central Now Open to All

Author: Drew McCormack

Apple today made the source code of Grand Central Dispatch available under an Apache open source license. One of the new technologies for concurrency added to Mac OS X 10.6 Snow Leopard, Grand Central is Apple’s attempt to help developers deal with the rise of multi-core. The open sourcing of Grand Central comes as something of a surprise, because it is a core technology in Snow Leopard, and could be seen to give Apple a competitive edge in the new world of multi-core.