Valentin Churavy

Results 1413 comments of Valentin Churavy

Okay this looks like the right direction Using: ``` @noinline child(i) = i kernel(i) = GPUCompiler.var"gpuc.deferred"(child, i) ``` This gets refined from ``` GPUCompiler.code_typed(job, optimize=false) 1-element Vector{Any}: CodeInfo( 1 ─...

Okay much nicer instead of refining to a Julia function we go straight to a llvmcall ``` ; @ /home/vchuravy/src/GPUCompiler/deferred.jl:13 within `kernel` define i64 @julia_kernel_451(i64 signext %0) local_unnamed_addr { top:...

@maleadt I left the old implementation alive since Enzyme is using it. We could add a token to declare who owns it... The addition of `AbstractGPUCompiler` is so that Enzyme...

But this now sucessfully turns ``` ; ModuleID = 'start' source_filename = "start" target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-linux-gnu" ; @ /home/vchuravy/src/GPUCompiler/deferred.jl:13 within `kernel` define i64 @julia_kernel_400(i64 signext...

> Why does Enzyme always require horrible things... Can't this just be a breaking release? I wonder that myself... Yeah we can make this a breaking release, but I will...

@maleadt The `specfunc` name is "julia_##child#234_3583" But the name in the IR is "julia___child_237_18493" Any ideas when that sanitation is happening?

Ah it's probably https://github.com/JuliaGPU/GPUCompiler.jl/blob/3c80a5d58131cea618a24a5c63b7e1f86b129297/src/irgen.jl#L52

* **#636** * **#634** * **#633** * **#582** 👈 (View in Graphite) * `master` This stack of pull requests is managed by Graphite. Learn more about stacking.

Ah if we are OOB, then #592 is for the missing error reporting.

Hm, that would still be a bug in the new lowering then. We are inserting a check that the code is being executed in bounds.