griddedInterpolant not a built-In Functions on a GPU

6 visualizaciones (últimos 30 días)
Massimo
Massimo el 22 de Dic. de 2017
Comentada: Joss Knight el 20 de En. de 2018
To make my code faster I have implemented "griddedInterpolant " instead of "interp1". Now I have a GPU but "griddedInterpolant" does not support gpu arrays, whereas "interp1" does. If this is the case I have to rewrite my code, using interp1. Is there a solution?

Respuesta aceptada

Joss Knight
Joss Knight el 18 de En. de 2018
I'm not sure what you're asking, but if you're asking "am I right that I have to rewrite my code?" then yes, you are right.
  2 comentarios
Massimo
Massimo el 18 de En. de 2018
Thank you the answer. My question was bad posed. What I meant is if there is a way to implement "griddedInterpolant" with GPU anyway, since interp1 which works with GPU is based on "griddedInterpolant". Moreover, "interp1" in GPU does not implement "spline" but only "v5cubic", which does not permit extrapolation. Are there other ways to perform the interpolation with GPU? Perhaps in the future version of matlab?
Joss Knight
Joss Knight el 20 de En. de 2018
GPU interp is a custom implementation and is not based on griddedInterpolant. Of course you can write your own implementation. If you write it in MATLAB code it's unlikely to be faster than just calling interp, in spite of the time saved computing the interpolation weights (which is why we have griddedInterpolant).
Spline interpolation is being supported in a future MATLAB, although I'm not sure if extrapolation will be. You can find another way to do extrapolation, perhaps by padding your input.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre GPU Computing en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by