1 / 36

Performed by: Liran Sperling 200476216 Gal Braun 301357059 Instructor: Evgeny Fiksman

Technion - Israel institute of technology department of Electrical Engineering. הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל. המעבדה למערכות ספרתיות מהירות. High speed digital systems laboratory. GPS/INS Tracking System Using Particle Filter Model.

Download Presentation

Performed by: Liran Sperling 200476216 Gal Braun 301357059 Instructor: Evgeny Fiksman

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. Technion - Israel institute of technology department of Electrical Engineering הטכניון - מכון טכנולוגי לישראלהפקולטה להנדסת חשמל המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory GPS/INS Tracking System Using Particle Filter Model Performed by: LiranSperling 200476216 Gal Braun 301357059 Instructor: EvgenyFiksman 1

  2. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Project Requirements Implement the INS/GPS system using particle filter model algorithm using Nvidia GPU and OpenCL platform 3

  3. GPGPU Languages המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory • DirectX (1995) • Cuda (2006) • OCL (2008) • Open Computing Language • Managed by Khronos group • Use all computation resources in system • Derived from C99 6

  4. Khronos Group המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory 6

  5. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Our GPU – GeForce GTX285 Price: 200$ – 250$

  6. GPU Architecture המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory 6

  7. OCL Memory model המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory 6

  8. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory From C to OpenCL

  9. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory SystemDescription Combined GPS/INS navigation based on the particles filter model • INS – Inertial Navigation System • GPS – Global Positioning System • Particles Filter Model – Combining the GPS and INS algorithms. 4

  10. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory SystemDescription every 10 msec INS every 1 sec GPS Weights recalculation Neff > Nth every 1 sec Neff < Nth Resampling 4

  11. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Block Diagram CPU Initialization Particle Propagation Randomizing No GPS measure GPS measure Particle weight calc State vector calculation Effective particles number calc Particles number > Nth Particles number < Nth Covariance matrix calc Matrix Inversion Resampling Regularization Weight recomputation 5

  12. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Why GPU and OCL? • Many Particles (30000). • Each particle is independent to the others. • Major parts of the algorithms can be performed in parallel. • OpenCL parallel computing will enable to use the GPGPU computing power to optimize the algorithm performance.

  13. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Calculation Optimization - Example We would like to use our multi-core GPGPU to optimize the calculation time. How can it be done ?

  14. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Example - CPU Calculation time = 0 time units 12 5 2 13 16 8 5 41 17 27 3 9 20 34 7 12 … 219 231 12 17 32 19 0 Sum = 15 2 1 3 4 16

  15. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Example – Naive GPU 12 5 2 13 16 8 5 41 17 27 3 9 20 34 7 12 0 529 Sum = 529 Calculation time = 0 time units 1

  16. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory But… • Is the output correct ? • Can this level really be achieved cosidering memory access & sychronizing ?

  17. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Example – Our GPU Solution 12 5 2 13 16 8 5 41 17 27 3 9 20 34 7 12 0 29 0 32 0 5 0 22 36 0 42 0 12 0 53 0 0 231 Sum = 0 65 74 0 17 0 75 0 0 82 0 149 Calculation time = 0 time units 1 2 3 4

  18. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Our Solution • Takes approximately . • Utilizes the GPUPU multi-core to the maximum. • And with large calculations (say, 30000 * 16), the calculation time is extremely reduced compared to the linear CPU solution.

  19. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Development Methodology

  20. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Development Methodology • Function layer: • Transforming Matlab functions into OpenCL kernels & code. • Major difficulty was tranforming the Matlab “natural” matrix calculations into parallel C code and kernels. • Comparing the outputs of the matlab and OpenCL functions.

  21. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Development Methodology • Block layer: • The algorithm was divided into two major parts: • Particles propagation block & weights recalculation. • Resampling block. • Major difficulty was synchronizing the code parts done by the CPU (the parts written in C code) and the parts done by the GPU (the parts written as OpenCLkernels). • Comparing the outputs of the matlab and OpenCL. • Major difficulty was finding errors since it meant checking iteration by iteration of the algorithm running.

  22. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Development Methodology • Final Simulation: • Running the entire algorithm over the 100 seconds long data file we received. • Comparing the results to the results provided by the C programming group.

  23. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Results – X coordinate

  24. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Results – Ycoordinate

  25. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Results – Zcoordinate

  26. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Results – X velocity

  27. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Results – Y velocity

  28. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Results – Z velocity

  29. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Results – Running Time %GPU calculating time:

  30. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Results – Running Time %GPU calculating time (excluding prediction):

  31. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Results – Running Time Number of calls to function:

  32. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Results – Running Time Number of calls to function (excluding Prediction & reads from memory):

  33. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Results – Running Time Function run time:

  34. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Results – Running Time Cycle run time (presenting the 3 types of possible cycles):

  35. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory Block Diagram CPU Initialization Particle Propagation Randomizing No GPS measure GPS measure Particle weight calc State vector calculation Effective particles number calc Particles number > Nth Particles number < Nth Covariance matrix calc Matrix Inversion Resampling Regularization Weight recomputation 5 5

  36. המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory שאלות? 3

More Related