Run Optimization Programs with GPUs?

14 views (last 30 days)
Matt
Matt on 1 Apr 2015
Edited: Matt J on 1 Apr 2015
I'm trying to determine if it's worth investing the money in GPU cores over CPU cores. My research requires CPU cores to run a COMSOL model, but the eventual feedback control scheme includes large optimization problems. I know that the Optimization Toolbox is not GPU-supported, but I was wondering if Matlab Programs such as lsqnonlin can be used with GPUs? Are optimization problems typically parallelizable? If the built-in functions like lsqnonlin are not GPU compatible, what is your opinion on me writing my own version to use only GPU-compatible functions. My instinct says this would not be effective.
Thanks, Matt

Answers (1)

Matt J
Matt J on 1 Apr 2015
Edited: Matt J on 1 Apr 2015
I'm trying to determine if it's worth investing the money in GPU cores over CPU cores.
GPU cores and CPU cores do very different things. You can only rarely use the GPU to parallel-split a task in the same way you would on a CPU. The way you would use the GPU to accelerate an optimization algorithm is to accelerate the operations done within the objective function and gradient calculations, the parts supplied by you. A list of operations that are GPU-enhanceable in MATLAB can be found here,
If your objective function or Jacobian calculation uses any of these operations, then naturally the GPU can be used to make that part of the computation go faster. And, since that part is usually the bottleneck of an optimization algorithm in large problems, you should normally see some benefit from this.

Categories

Find more on Get Started with Optimization Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!