Open jgbos opened 7 years ago
What it is the function that is calling collect
? Indexing is pretty inefficient with GPUs in general, but it this specific case it seems that there's some generic Julia function that is not implemented is being processed element by element as AbstractArray
. To debug it you can remove two instances of "<: AbstractArray{T,N}
" from ArrayFire/src/array.jl and see where things fail. (see https://github.com/JuliaComputing/ArrayFire.jl/issues/162)
I'll take a look, but just realized I didn't make clear that the function that crashed wasn't using a GPU array. I had already extracted the data from the GPU. If I run the code without using GPU (not loading ArrayFire at all) I never get the segmentation fault. This is what is baffling me and making it hard to find a minimal reproducible example.
I also have the same issue when I use Interpolations.jl
with ArrayFire and have not been able to make a minimal example for it. Since I have not thought that it was an issue of ArrayFire, I have never tried it without loading ArrayFire.
Might it be better to report this issue to Interpolations.jl
as the array is not AFArray
? It would be really helpful for me as well if this issue can be resolved.
I'll say that I've had this issue in the past as well, and that the folks over at interpolations aren't really sure what to do about it either. My discussion of the issue is https://github.com/JuliaMath/Interpolations.jl/issues/187 . It didn't go away post 0.6.2, unfortunately.
I just now had a similar issue when not using Interpolations
but some code I've written instead. I was able to make the issue go away by not running in-line in atom, which suggests that there's an interaction with atom.jl. But it's certainly an interruption to workflow to have to copy-paste lines of code to the terminal..
I'm having a segmentation fault that I'm having a hard time producing a minimal example for. I have zero issues with my code when I do not load ArrayFire, but once loaded I will have seg faults for doing operations like
permutedims
andgetindex
. Below I can get my code consistently fail running using theInterpolations
package, but my code is doing a too much to explain here. It seems like it might be related to indexing into memory that no longer exists, but I cannot prove this and not sure how to begin debugging.