gpuArray with besselj for non-integral order values

6 views (last 30 days)
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 Comment
sbstn
sbstn on 23 Nov 2015
Forgot to mention that I'm trying to run something like this: besselj(1.5,ones(1,3,'gpuArray')).

Sign in to comment.

Accepted Answer

Joss Knight
Joss Knight on 24 Nov 2015
This is a limitation of the NVIDIA libraries MATLAB uses to compute the bessel functions.
  2 Comments
sbstn
sbstn on 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 on 3 Dec 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!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!