Valentin Churavy
Valentin Churavy
According to https://www.olcf.ornl.gov/wp-content/uploads/2019/12/05_Atomics_Reductions_Warp_Shuffle.pdf page 7 that is a `atomic_add` ``` .func diffejulia_force_6144( 47 .param .b64 diffejulia_force_6144_param_0, 46 .param .b64 diffejulia_force_6144_param_1, 45 .param .b64 diffejulia_force_6144_param_2 44 ) // -- Begin function...
I think the better soution would be to zero-initialize the sret (instead of undef as it is currently) and then define something like. `zeroof(::Symbol) = :Zero`
> we can initialize any allocatedinline types with placeholders of choice. Can you implement that?
Pending a design decision on #172
Vetoing merging this for now, we should first release a version with the accumulated fixes before landing this PR.
I have a strong preference to focus on stabilizing Enzyme.jl for a new release, a stretchgoal for that is GC integration and visit this for the next minor bump of...
Haven't thought through reverse mode yet, but I think: ``` using EnzymeCore import EnzymeCore.EnzymeRules: forward f(x) = x^2 function forward(::Const{typeof(f)}, RT::Type{
@wsmoses you mentioned in chat that you still hit a GC error here? I get a proper runtime error: ``` ERROR: LoadError: Duplicated Returns not yet handled Stacktrace: [1] autodiff...
For the FWD mode failure ``` Thread 1 received signal SIGSEGV, Segmentation fault. 0x00007fb690adb52f in ijl_isa (x=0x21, t=0x7fb67ad10720 ) at /home/vchuravy/src/julia/src/subtype.c:2067 warning: Source file is more recent than executable. 2067...
``` (rr) up #2 wrap_annotated_args () at /home/vchuravy/src/Enzyme/src/compiler.jl:516 516 T = Core.Typeof(p) (rr) list 511 __activity = Base.unsafe_wrap(Array, activity_ptr, length(arg_ptr)) 512 args = Any[] 513 514 for i in start:length(arg_ptr)...