using the vector signal and image processing library with
play

Using the Vector Signal and Image Processing Library with OpenMP and - PowerPoint PPT Presentation

Using the Vector Signal and Image Processing Library with OpenMP and MPI Exploiting VSIPL and OpenMP for Parallel Image Processing, Jeremy Kepner MIT Lincoln Laboratory Interoperability of VSIPL with MPI, Purushotham Bangalore


  1. Using the Vector Signal and Image Processing Library with OpenMP and MPI ● Exploiting VSIPL and OpenMP for Parallel Image Processing, Jeremy Kepner MIT Lincoln Laboratory ● Interoperability of VSIPL with MPI, Purushotham Bangalore Mississippi State University

  2. VSIPL ● C API for processing vector, signal or image data. ● Optimized for use with single processor machines. ● Data storage is abstracted, data is accessible only through VSIPL functions.

  3. Interpreted Data Language ● Software package used for scientific data analysis. ● Uses VSIPL. ● Implements an image convolution algorithm.

  4. Image Convolution ● For every pixel in an image, do something based on the value of neighbor pixels and add the new pixel to the result. ● The value of the new pixel is defined by Point Response Functions (one or more). ● For each PRF, every pixel must be evaluated.

  5. Parallelizing Image Convolution with OpenMP in IDL. ● Kepner modified IDL to use OpenMP. ● Convolve each PRF on a different processor and combine the results on a single processor. ● Works well with VSIPL and OpenMP, you do not need direct access to VSIPL data. ● Simple and effective solution.

  6. SGI Origin 2000 ● 64 300MHz MIPS R10000 processors. ● 4 processors/node 1GB/node (16 GB total). ● Non-uniform memory architecture. ● Memory physically distributed over nodes with one system image. ● Effectively a SMP machine.

  7. Results

  8. Interoperability of VSIPL and MPI ● VSIPL data can only be accessed through VSIPL functions. ● Data must be accessible directly to do a MPI send/receive. ● Bangalore gives three possible solutions.

  9. Solution #1 ● Copy data from abstract data types to public data arrays using VSIPL functions. ● Make MPI send and receive calls. ● Copy data into abstract data type using VSIPL functions.

  10. Solution #1 ● Advantages: – Simple – Easy to implement ● Disadvantages: – Overhead – Extra copies of data

  11. Solution #2 ● Use admit and release functionality provided by VSIPL. ● Admit function – locks data into VSIPL ownership, makes data accessible only to VSIPL API. ● Release function – unlocks data into user ownership, makes data accessible only to user activites.

  12. Solution #2 ● Best solution. ● Admit and release functionality was added to VSIPL after David Schwartz suggested it (originally as import and export functions).

  13. Solution #3 ● Create a new API. – New data types – Abstract VSIPL and MPI calls

  14. Solution #3 ● Not a quick solution. ● Feasible for long term uses.

  15. Any Questions?

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend