JuliaGPU / JuliaGPU/oneAPI.jl

Test NEO#172 disabled in Julia 1.12

Open
#538 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Julia
Stars
215
Forks
37
Avg merge
10h 47m
Merged PRs (30d)
14

Description

Test disabled in Julia 1.12 because pointer representation in lowered code changed and now the SPIRV translator complains:
```
From worker 5: InvalidModule: Invalid SPIR-V module: Casts from private/local/global address space are allowed only to generic
From worker 5:
From worker 5: %bitcast_coercion = addrspacecast ptr %"ptr::Ptr" to ptr addrspace(1)
```

```julia
@testset "NEO#172" begin
# conversions from integers to pointers resulted in lost memory stores

function kernel(ptr)
ptr = reinterpret(Core.LLVMPtr{Float32, AS.Global}, ptr)
unsafe_store!(ptr, 42)
return
end

if VERSION < v"1.12"
a = oneArray(Float32[0])
@oneapi kernel(pointer(a))
@test Array(a) == [42]
else
@test_broken false
end
end
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the test set named "NEO#172" and its Julia 1.12 version guard, then inspect the SPIR-V translator error produced by the @oneapi kernel using reinterpret and unsafe_store!. Done means determining how the changed pointer representation should be handled so the test can run and verify that Array(a) equals [42].

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
compilers, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.