control_box_rst icon indicating copy to clipboard operation
control_box_rst copied to clipboard

Feasible Algorithm for GPU?

Open borongyuan opened this issue 5 years ago • 0 comments

Hi,

I noticed that CPU performance (especially single-core performance) has not grown too much in recent years. While computing power of modern GPUs is increasing exponentially. I usually run TEB on 8th Gen i5 or i7 CPU to achieve relative long horizon and ensure relative high planning frequency. So I'm wondering if there are any efficient parallel methods to solve MPC or NLP on GPUs.

The performance of i5-2500k is 123.35 GFlOPS with AVX instructions. In contrast, even the lowest-end Jetson SoC (Jetson Nano) could achieve 236 GFLOPS on GPU. I know it's not quite reasonable to compare different hardware architecture in this way. But GPU computing seems more promising.

There are some related works on GPU-based MPC. Model Predictive Control for Autonomous Navigation Using Embedded Graphics Processing Unit The cost function in this work is similar, but they did not consider time-optimal. They use parallel computing capabilities of GPU to evaluate a large number of trajectories simultaneously. The number of possible control values is also limited to reduce search range. I don’t think this is an ingenious method. Other materials may also help. Levenberg-Marquardt with Sparse Block Matrices on the GPU MPC Toolbox with GPU Accelerated Optimization Algorithms Interior Point Methods on GPU with application to Model Predictive Control CudaLBFGS

I'd like to hear your views.

Regards

borongyuan avatar Oct 26 '20 08:10 borongyuan