Azzera filtri
Azzera filtri

Issues with gpuArray Interpn

3 visualizzazioni (ultimi 30 giorni)
deathtime
deathtime il 22 Mag 2023
I have a series of 3 2D datasets (each one is 3x3 array):
f = rand(3, 3, 3);
In the above, the third dimension represents the dataset number.
These are essentially data at the following sample points for each dimension:
dimOneArray = [0.1 0.2 0.3];
dimTwoArray = [2 3 4];
For each dataset, I would like to interpolate the following targets in each dimension:
dimOneTarget = 0.15;
dimTwoTarget = 3;
In order to do this, I first generate ndgrid for both dimension sample points and then use interpn on the data f:
[dimOne, dimTwo] = ndgrid(dimOneArray, dimTwoArray);
serialInterp = interpn(dimOneArray, dimTwoArray, f, dimOneTarget, dimTwoTarget)
serialInterp =
serialInterp(:,:,1) = 0.5409 serialInterp(:,:,2) = 0.6143 serialInterp(:,:,3) = 0.6527
As can be seen, this results in an array with interpolants for each dataset as expect.
However when I run this using GPU, I get an error:
gpuInterp = interpn(dimOneArray, dimTwoArray, gpuArray(f), dimOneTarget, dimTwoTarget)
Error using gpuArray/interpn
The input arguments are invalid. For supported syntaxes, see help gpuArray.interpn.
Error in test4 (line 13)
gpuInterp = interpn(dimOneArray, dimTwoArray, gpuArray(f), dimOneTarget, dimTwoTarget);
Can someone see what the issue is?

Risposte (0)

Categorie

Scopri di più su Matrices and Arrays in Help Center e File Exchange

Prodotti


Release

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by