BS in Aerospace Engineering
Aerospace Engineering Department
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.5x106 solutions per second on a laptop GPU and 5.0x106 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.