You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With JuliaLang/julia#53687, ExaTron.jl tests run into an assertion failure due to what I think is a bug in AMDGPU.jl. The problem lies with free!(AMDGPU.Device.HostCallHolder), which compiles the following ccall:
Here, hipHostFree is invoked with a Ptr{Nothing}) (i.e. addrspace(0)) pointer, however, HostCallHolder contains HostCall which results in passing a LLVMPtr{UInt8, AS.Global} (i.e. addrspace(1)) pointer. This kind of implicit address space conversion is illegal, and only happened to work because of the implicit ptrtoint/inttoptr that happened at the ccall boundary because of Julia storing pointers as i64. That is changing in JuliaLang/julia#53687.
It seems like the HostCall struct shouldn't be used as such on the CPU, where it should simply use a Ptr instead.
The text was updated successfully, but these errors were encountered:
With JuliaLang/julia#53687, ExaTron.jl tests run into an assertion failure due to what I think is a bug in AMDGPU.jl. The problem lies with
free!(AMDGPU.Device.HostCallHolder)
, which compiles the followingccall
:Here,
hipHostFree
is invoked with aPtr{Nothing})
(i.e.addrspace(0)
) pointer, however,HostCallHolder
containsHostCall
which results in passing aLLVMPtr{UInt8, AS.Global}
(i.e.addrspace(1)
) pointer. This kind of implicit address space conversion is illegal, and only happened to work because of the implicitptrtoint
/inttoptr
that happened at theccall
boundary because of Julia storing pointers asi64
. That is changing in JuliaLang/julia#53687.It seems like the
HostCall
struct shouldn't be used as such on the CPU, where it should simply use aPtr
instead.The text was updated successfully, but these errors were encountered: