GPUArrays.jl
GPUArrays.jl copied to clipboard
Reusable array functionality for Julia's various GPU backends.
max pool
An implementation of `maxpool`. Here's a sample benchmarking (CPU v/s GPU): https://gist.github.com/americast/95358d972647adf5c7ebcde7c58db51f Tests were failing due to `getindex is disabled` error. I have made a small change in `src/indexing.jl` as...
https://devblogs.nvidia.com/parallelforall/cutlass-linear-algebra-cuda/
``` findfirst: Error During Test at /builds/JuliaGPU/CuArrays.jl/test/base.jl:313 Test threw exception Expression: testf((x->begin findfirst(x) end), fill(false, 10)) MethodError: no method matching length(::Nothing) Closest candidates are: length(!Matched::Core.SimpleVector) at essentials.jl:593 length(!Matched::Base.MethodList) at reflection.jl:849...
The `Base.mapreduce` based [implementation](https://github.com/JuliaGPU/GPUArrays.jl/blob/712790f27c7c3110b02e446484e8e25e32222f97/src/mapreduce.jl#L6) of `Base.any` and `Base.all` > ```julia > Base.any(A::GPUArray{Bool}) = mapreduce(identity, |, A; init = false) > ``` currently has slightly different semantics [from the implementation in...
https://github.com/JuliaGPU/GPUArrays.jl/blob/3cfc810c74add5900fd08e273473afb97840d52f/src/vectors.jl#L8 No buffer in there.
``` julia> using LinearAlgebra julia> a = [1 2] 1×2 Array{Int64,2}: 1 2 julia> b = [1, 2] 2-element Array{Int64,1}: 1 2 julia> transpose!(a, b) 1×2 Array{Int64,2}: 1 2 julia>...
I have looked at the `convolution!` code but there are some details I am missing. - Can the kernel have any shape? - It seems the method returns the same...
Interesting feature from cupy: `allow_synchronize` to disallow synchronizing operations that make it hard to queue sufficient amounts of work to the GPU. Ref https://github.com/cupy/cupy/issues/2808