Consider the organization of parallel heterogeneous computations. The sequential version runs in two stages: the first stage produces jobs that can be computed independently from each other in the second stage. The producer in the first stage is executed by one task, while the other tasks compute the jobs from the second stage, as the jobs are managed by a queue, implemented by a thread safe package.
This design will be illustrated with an application that involves the refactoring of code in the free and open source package PHCpack, a package to solve polynomial systems by polynomial homotopy continuation.
Speakers: Jan Verschelde