JuliaGPU / oneAPI.jl

Julia support for the oneAPI programming toolkit.
https://juliagpu.org/oneapi/
Other
179 stars 21 forks source link

Define `resize!` #436

Closed mtfishman closed 3 months ago

mtfishman commented 3 months ago

This is a draft of an implementation of resize! for oneArray.

It is similar to the implementations for CuArray, ROCArray, and MtlArray.

I don't have access to an Intel GPU so don't have any way of testing it, so the current implementation is most likely wrong. I'm hoping to get some help from someone who is capable of helping, and/or use the CI tests to guide me towards a correct implementation.

In conjunction with https://github.com/JuliaGPU/GPUArrays.jl/pull/533, this will allow append! to be defined for oneArray.

@tgymnich @maleadt

mtfishman commented 3 months ago

Ok, looks like the current implementation at least passes basic tests.

maleadt commented 3 months ago

LGTM, Thanks!

mtfishman commented 3 months ago

@maleadt @amontoison can this get included in a new release? It's holding up https://github.com/JuliaGPU/GPUArrays.jl/pull/533, which we need to get good performance in some of our GPU calculations.

Not sure if #439 indicates an issue with this PR, however.

maleadt commented 3 months ago

It's holding up JuliaGPU/GPUArrays.jl#533

How exactly? GPUArrays tests the master branch of oneAPI.jl: https://github.com/JuliaGPU/GPUArrays.jl/blob/94bdb439755801041555aeac68da2448a22b2a6f/.buildkite/pipeline.yml#L34

mtfishman commented 3 months ago

Ah I didn't realize that, thanks for pointing that out. But anyway, still might be nice to make a new release of oneAPI.jl so end users can access this and other new features.