April 1, 2002

6.338J/18.337J Project Progress Report

We decided to use OpenGL for rendering data in the following (parallel) way: Each processor renders an image of the data in its memory and sends the image to the main display node. Treating these images as textures, main display node blends the images sent from multiple processors and sends the final image to the graphics card. Using this approach we limit the data transfer between each processor and the main display node to the number of pixels that the corresponding screen resolution requires.

In some instances it's faster to use the brute-force method of the data transfer (instead of image transfer) as the following calculation shows:

Assume each pixel requires 8 bits of information and the screen resolution is 1M pixels (1024x1024 display) corresponding to 1MB of data transfer between each processor and the main display node. If the data size on a single processor is less than 1MB (i.e. less than 128K of doubles) our approach would effectively be slower compared to the brute-force transfer of the data itself. We will be checking for this case to make sure we use the more feasible method.

We have also identified the necessary interface in MATLAB*P source code that we'll be using to retrieve the data from each processor's memory. Our goal for this week is to get simple 2D plotting working in the parallel manner described above.