Dome

Dot Product Example Program

This program computes a simple dot product using Dome dVectors. The dVectors are block distributed and can be load balanced or checkpointed as the program is running. main() { // Define the environment to have 5 tasks dome myenv("dprod", 5); // Define a few vectors dVector x(myenv, 1024); dVector y(myenv, 1024); dVector z(myenv, 1024); float sum; // These assignments happen in parallel x = 7; y = 13; // This multiply happens in parallel z = x * y; sum = z.gsum(); }

Objects not compilers

Notice that the syntax is similar to Fortran90. Rather than implementing this with a compiler, the funcionality is achieved by developing a library of Dome objects written in C++ using PVM. This makes Dome very portable and allows us to experiment with different stategies for load balancing, fault tolerance, and the expression of parallelism.