Intel seems to be serious about encouraging us to perfect our threading skills. The third Intel threading challenge started at the end of May (Monday May 31st) with, logically enough, Phase 1.
There are some differences this year. Most importantly there are two levels - Apprentice and Master. Phase 1 consists of two problems at each level and Phase 2 has four problems at each level. Entrants will be ranked and three winners selected. Unlike last year there will be no overlap of problems and they will run consecutively in each phase.
The levels - Apprentice and Master - are a little ill-defined. Apprentice level is supposed to apply to any developer but you can only participate in one level and one problem at a time. So if you look at the Phase 1 Apprentice level question and it seems too easy, try the Master level question instead. The first Apprentice level question is all about writing a threaded program to compute the number of connected components of a graph and the smallest sub-graph. How fast your program solves the problem is used in scoring.
The Master level is for hardened threaders. The first question at this level is about the Hosoya index Z - the number of sets of non-adjacent bonds in a molecule. If you consider a molecule reduced to a graph then the question can be posed as - how many subsets of edges that do not share a vertex are there? There is an algorithm based on how many subsets there are of exactly k edges and there is an example on the website. You can see that to be master you must first understand the question!
There is are some small prizes for Phase 1 - a maximum of $150 for each of the problems set. In Phase 2 the overall winners get an Apple iPod at the Apprentice level and a laptop at the Master level. You can see the full list of prizes, how points are scored and the detailed rules at the website.
There is a forum where you can chat with your fellow contestants.
More info at: Intel Threading Challenge 2010