Bumper.jl
Bumper.jl copied to clipboard
Bring Your Own Stack
MWE: In a fresh REPL: ```julia julia> using Bumper: @no_escape, @alloc julia> using Random: randn! julia> T = ComplexF32 ComplexF32 (alias for Complex{Float32}) julia> @no_escape begin ar = @alloc(T, 100)...
First of all: cool package and thanks for your work! While I was working with the package I encountered an error starting with "Please submit a bug report with steps...
``` julia> function f1() @no_escape begin y = @alloc(Int,10) Threads.@threads for val in y println(val) end end end ERROR: LoadError: The `return` keyword is not allowed to be used inside...
First off, interesting package! I think my issue is more with StrideArrays and LinearAlgebra not meshing well and Bumper is caught in the middle. The error I'm getting comes from...
I read in the README: > If you use Bumper.jl, please consider submitting a sample of your use-case so I can include it in the test suite. Happy to share...
Currently, Enzyme.jl's reverse mode autodiff doesn't work correctly with Bumper.jl because if you give it a `Duplicated` buffer, it'll `+=` accumulate results into the duplicated buffer making the answer depend...
Dear developers, I found that the following code gives rise to a stack overflow: ```julia using Bumper using LinearAlgebra function trial(x) @no_escape begin T = @alloc(eltype(x), 2, 2) T .=...
Hi, I have the following example where I observe a 2x slowdown with `Bumper.alloc!`. Could you please confirm that I use the package correctly? Do you have ideas on how...
I'm not sure there's much advantage to me letting people wrap whatever type like like for this thing. Might be better to simply do: ```julia mutable struct AllocBuffer ptr::Ptr{UInt8} length::Int...
Is it in principle possible to have some sort of a macro that would take a function and replace its inner calls to `Vector{T}(undef, n)` (and similar) with `@alloc(T, n)`?...