Education and Outreach Blog

« Back

HPCU Challenge Created: It Depends: Precipitate

RELEASE DATE:
April 14, 2014

TITLE:
It Depends: Precipitate

SUMMARY:
Turning a serial (non-parallel) algorithm into a parallel one involves identifying where data and task dependencies exist.  This problem challenges you to identify data and task dependencies for a given serial algorithm.

QUESTION:
Previous problems have challenged you to create an algorithm for an application involving particles precipitating in a solution.

See http://hpcuniversity.org/students/weeklyChallenge/72/ and the "Precipitate Algorithm Solution txt" file below.

Your task is to take this algorithm and identify data and task dependencies within it.

A data dependency is an area of the algorithm in which a step cannot occur until certain data is set.  For example, step 1b of the randomizePositions function cannot occur until the random number is set.

A task dependency is an area of the algorithm in which a step cannot occur until another step occurs first.  For example, step 3 of the tryMove function cannot occur before step 2 of the same function occurs.

List all data and task dependencies you can find in the algorithm.

SOLUTION:
Will be posted April 21, 2014

LINK:
http://hpcuniversity.org/students/weeklyChallenge/73/

Comments
Trackback URL: