1 / 15

Parallel Cartographic Modeling

Parallel Cartographic Modeling. Kiumars Soltani 6th July 2012 . Outline. Rethinking Euclidean distance and direction calculations. The timing method Run the code on Trestles Profiling. Euclidean Direction and Distance. Sequential version was faster than the parallel version. Remember?

gypsy
Download Presentation

Parallel Cartographic Modeling

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. Parallel Cartographic Modeling Kiumars Soltani 6th July 2012

  2. Outline • Rethinking Euclidean distance and direction calculations. • The timing method • Run the code on Trestles • Profiling

  3. Euclidean Direction and Distance • Sequential version was faster than the parallel version. Remember? • Some calculations are time consuming

  4. Euclidean Direction and Distance • There are others expression in the code(particularly Euclidean Distance & Direction calculation function) that can be improved in the same way. • This can be considered as a general approach during the development of the DSL: • We have to avoid redundant calculation • We have to use the fastest possible method to achieve the result.

  5. Change the Timing Method Using Linux’s own method of timing struct timeval tv1,tv2; double diff; gettimeofday(&tv1,NULL); // THE SECTION THAT WE WANT TO TIME gettimeofday(&tv2,NULL); diff = (tv2.tv_sec - tv1.tv_sec) * 1000.0; // sec to ms diff += (tv2.tv_usec - tv1.tv_usec) / 1000.0; // us to ms

  6. It’s all part of the input Change the way program get the input file and parameters ./model1.out INPUT_FILE #rows #columns #cores This way we can test the program with different input files and different number of available cores by running one script.

  7. Running the codes on Trestles • One node -> 32 cores • Using Intel C Compiler REMINDER Model 1 is solving the loop-carried dependency by defining critical sections. Model 2 is solving the loop-carried dependency by loop interchanging. The main part of the Model 2 is now using static scheduling with the chunk size 1.

  8. Check the Result Model 1 Model 2

  9. Running Time

  10. Profiling – Euclidean Distance & Direction

  11. Profiling – Euclidean Distance & Direction

  12. Profiling – Main Computation Part

  13. Profiling – Main Computation Part

  14. Future improvements • Improving the profiling approach • Rethinking the Euclidean distance and direction calculations method. • Summarizing the computations • Investigating the underlying reason that makes the parallel version not efficient. • Change the scheduling of the model 1.

  15. Thank You! Got Question?

More Related