Accelerating Lambert’s Problem on the GPU in MATLAB

Nathan L. Parrish
Faculty of the Aerospace Engineering Department, California Polytechnic State University, San Luis Obispo CA, 93407
California Polytechnic State University, 2012


   title={Accelerating Lambert’s Problem on the GPU in MATLAB},

   author={Parrish, N.L.},


   school={California Polytechnic State University}


Download Download (PDF)   View View   Source Source   Source codes Source codes



The challenges and benefits of using the GPU to compute solutions to Lambert’s Problem are discussed. Three algorithms (Universal Variables, Gooding’s algorithm, and Izzo’s algorithm) were adapted for GPU computation directly within MATLAB. The robustness of each algorithm was considered, along with the speed at which it could be computed on each of three computers. All algorithms used were found to be completely robust. Computation time was measured for computation within a for-loop, a parfor-loop, and a call to the MATLAB command ‘arrayfun’ with gpuArray-type inputs. Then, a Universal Variables Lambert’s solver was written in CUDA and compiled for use within MATLAB, where each solution to Lambert’s problem was run as a separate thread. The CUDA-based solver was the fastest of all, solving 1.5×106 solutions per second on a laptop GPU and 5.0×106 solutions per second on a high-end consumer desktop GPU. The net result is that the Universal Variables algorithm in CUDA runs 76x faster than the same algorithm on the CPU and 3.5x faster than the industry-standard Fortran solver.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2021 hgpu.org

All rights belong to the respective authors

Contact us: