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/