Zachary P Christensen
Zachary P Christensen
I think in general we need better support for getting at wrapped parameters. For example, `parent_type` would be helpful for these sorts of methods because we don't know for sure...
> Something that is needed here however is the ability to extract the memory. If you GC.@gcpreserve a StrideArray, it will allocate. But not if you GC.@gc_preserve the MemoryBuffer above....
I think we could make something agnostic to just using approach 1 or 2 so that when someone wants to go crazy with optimization they can dig in. I was...
> What is instantiate passing to allocate_memory here? And inside the anonymous function, what are a vs A? Should it only pass the temporary that eventually gets converted into the...
> Here it looks like a === A, and that the function gets called once instead of eachindex(A) times like it would in map. It doesn't create a generator like...
I asked @maleadt on slack about memory allocation on GPUs and he pointed me to the code here: * https://github.com/JuliaGPU/CUDA.jl/blob/master/lib/cudadrv/memory.jl * https://github.com/JuliaGPU/oneAPI.jl/blob/master/lib/level-zero/memory.jl. Concerning garbage collection he said "...we use Julia's...
It does seem to be wrong. We probably need to have more robust support for ReshapedArrays overall in "stridelayout.jl"
I don't think we can actually guarantee that a `ReshapedArray` can combine with its parent strides unless we know that the the reshaped dimensions are contiguous and dense, because otherwise...
It's probably time packages like BlockArrays.jl start depending on ArrayInterface.jl instead of us defining them here.
The last thing I need in order to get all of the stuff in "stridelayout.jl" to work with the stuff in "indexing.jl" is replacing [this](https://github.com/JuliaLang/julia/blob/c5ede45829bf8eb09f2145bfd6f089459d77b2b1/base/multidimensional.jl#L764) internal method.