3D Linear Interpolation for GPU

Versión 1.2.0.0 (1,43 KB) por Philip
3D Linear Interpolation for GPU
391 descargas
Actualizado 5 ago 2014

Ver licencia

This function is faster than MATLAB's griddedInterpolant function for the CPU, but slower than MATLAB's interpn function for the GPU. However, I've coded this using arrayfun. Since MATLAB does not support using interpn in arrayfun, this function should be helpful to those who wish to do interpolation inside more complex code executing on the GPU using arrayfun. I tried making this code as fast as possible, but I cannot match the speed of interpn. Any suggestions for improvements would be greatly appreciated.
Note that this function assumes the data to be interpolated does not go off the grid and the grid is uniformly spaced in each dimension. The syntax is exactly like interpn, i.e.
Vi=interpn(x1,x2,x3,V,x1i,x2i,x3i);
Vi=interp3gpu(x1,x2,x3,V,x1i,x2i,x3i);
should produce the same result. If your data are gpuArrays, then interp3gpu will execute on your GPU. Otherwise it will execute on your CPU.

Citar como

Philip (2024). 3D Linear Interpolation for GPU (https://www.mathworks.com/matlabcentral/fileexchange/47437-3d-linear-interpolation-for-gpu), MATLAB Central File Exchange. Recuperado .

Compatibilidad con la versión de MATLAB
Se creó con R2014a
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS Linux
Categorías
Más información sobre Interpolation en Help Center y MATLAB Answers.

Community Treasure Hunt

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

Start Hunting!
Versión Publicado Notas de la versión
1.2.0.0

Updated description.

1.1.0.0

Updated code to make it faster and use less memory.

1.0.0.0