1 / 31

Chapter 3 Interacting with Distributed Arrays

Chapter 3 Interacting with Distributed Arrays. Chung-Wei Chen , Department of Mathematics, National Taiwan University 2011/10/28. Outline. Introduction to Beamformer Algorithm of Beamformer Code of Beamformer How to Debug Performance Introduction to Parrallel Pipelines.

candid
Download Presentation

Chapter 3 Interacting with Distributed Arrays

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 3 Interacting with Distributed Arrays Chung-Wei Chen, Department of Mathematics, National Taiwan University2011/10/28

  2. Outline • Introduction to Beamformer • Algorithm of Beamformer • Code of Beamformer • How to Debug • Performance • Introduction to Parrallel Pipelines

  3. Introduction to Beamformer Interacting with Distributed Arrays

  4. Introduction to Beamformer • Nbpoint sources • Each source can emit waves ofNf different frequencies • Wave emitting pattern are recorded at time t1, …, tNt SourceNb Source1 Source2 t1 f1, …,fNf f1, …,fNf f1, …,fNf Nt t2 f1, …,fNf Nf Nb tNt f1, …,fNf f1, …,fNf f1, …,fNf Interacting with Distributed Arrays

  5. Introduction to Beamformer • There is a linear array of Ns sensors to detect the wave emitting pattern Steering Vector Sensor1 Noise Source1 Sensor1 Source2 SourceNb SensorNs Interacting with Distributed Arrays

  6. Algorithm of Beamformer Interacting with Distributed Arrays

  7. Algorithm of Beamformer • Serial: Interacting with Distributed Arrays

  8. Algorithm of Beamformer • Parallel: Interacting with Distributed Arrays

  9. Algorithm of Beamformer Interacting with Distributed Arrays

  10. Algorithm of Beamformer Interacting with Distributed Arrays

  11. Code of Beamformer Interacting with Distributed Arrays

  12. Code of Beamformer (1/3) Interacting with Distributed Arrays

  13. Code of Beamformer(2/3) Interacting with Distributed Arrays

  14. Code of Beamformer(3/3) Interacting with Distributed Arrays

  15. How to Debug Interacting with Distributed Arrays

  16. How to Debug • Step 1: run the program in serial on the local machine with the distributed arrays turned off • Step 2: run the program in serial on the local machine with the distributed arrays turned on • Step 3: run the program in parallel on the local machine • Step 4: run the program in parallel on the remote machine • Step 5: run the program in parallel on the remote machine but with a problem size of interest Interacting with Distributed Arrays

  17. How to Debug • Step 1: run the program in serial on the local machine with the distributed arrays turned off • Set PARALLEL=0 • Add the following line to the end of the m-file: whos X0 X1 X2 X3 X0loc X1loc X2loc x3 myI_fmyV • Type pBeamformer at the MATLAB prompt • This ensure the basic serial code is correct Interacting with Distributed Arrays

  18. How to Debug Interacting with Distributed Arrays

  19. Debug • Step 2: run the program in serial on the local machine with the distributed arrays turned on • Set PARALLEL=1 • Type eval(pRUN(‘pBeamformer’,1,{}))at the MATLAB prompt • This ensure the parallel code is correct Interacting with Distributed Arrays

  20. How to Debug Interacting with Distributed Arrays

  21. How to Debug • Step 3: run the program in parallel on the local machine • Type eval(pRUN(‘pBeamformer’,4,{})) at the MATLAB prompt • Type !type MatMPI\*.out or !more MatMPI/*.out to show the output from the other MATLABs • This will detect errors introduced by communications Interacting with Distributed Arrays

  22. How to Debug Interacting with Distributed Arrays

  23. How to Debug • Step 4: run the program in parallel on the remote machine • Type eval(pRUN(‘pBeamformer’,4,{‘machine1’ ‘machine2’})) at the MATLAB prompt • This will detect errors introduced by remote communications • Step 5: run the program in parallel on the remote machine but with a problem size of interest Interacting with Distributed Arrays

  24. Performance Interacting with Distributed Arrays

  25. Performance • Performance in the book • Performance of the machine Cambridge in City Cluster Interacting with Distributed Arrays

  26. Performance • The loops of Stage 1 and 2 can be combined into one loop Interacting with Distributed Arrays

  27. Introduction to Parallel Pipelines Interacting with Distributed Arrays

  28. Introduction to Parallel Pipelines Interacting with Distributed Arrays

  29. Introduction to Parallel Pipelines • Original method Stage i Stage i+1 Interacting with Distributed Arrays

  30. Introduction to Parallel Pipelines • Parallel Piplines Stage i Stage i+1 Interacting with Distributed Arrays

  31. Reference • “Parallel MATLAB for Multicore and MultinodeSystems”by Jeremy Kepner, SIAM Press, 2009 Thanks for your attention! Interacting with Distributed Arrays

More Related