Azzera filtri
Azzera filtri

gpuArray with besselj for non-integral order values

5 visualizzazioni (ultimi 30 giorni)
I'm trying to use gpuArray with the besselj function. However, it doesn't work with non-integral values. I get the following error: 'Error using gpuArray/besselj The NU input (first argument) must be a positive integral value.'
The requirement for the non-gpu besselj is that the order must be real but doesn't need to be an integer. Anybody knows why this is not implemented with the gpuArray version?
Thanks.
  1 Commento
sbstn
sbstn il 23 Nov 2015
Forgot to mention that I'm trying to run something like this: besselj(1.5,ones(1,3,'gpuArray')).

Accedi per commentare.

Risposta accettata

Joss Knight
Joss Knight il 24 Nov 2015
This is a limitation of the NVIDIA libraries MATLAB uses to compute the bessel functions.
  2 Commenti
sbstn
sbstn il 30 Nov 2015
I was specifically trying to evaluate spherical bessel functions using gpuArrays. I haven't been able to find a fast MATLAB implementation for these functions. Since this is the slowest part of the computation in my application then I will have to implement a CUDA version of these. Thanks for your answer.
Joss Knight
Joss Knight il 3 Dic 2015
I took your post as an enhancement request so we'll see whether that eventually filters through to an implementation. You should put in a request to NVIDIA to improve their math libraries too!

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by