From d7c508a14bbe3770fc1b6a4e9a1c9d5c7dec622b Mon Sep 17 00:00:00 2001 From: Tim Besard Date: Thu, 16 Jan 2025 15:05:42 +0100 Subject: [PATCH] Adapt to GPUArrays.jl changes. --- Project.toml | 2 +- src/array.jl | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Project.toml b/Project.toml index 20d18896..c360ae5f 100644 --- a/Project.toml +++ b/Project.toml @@ -31,7 +31,7 @@ oneAPI_Support_jll = "b049733a-a71d-5ed3-8eba-7d323ac00b36" Adapt = "4" CEnum = "0.4, 0.5" ExprTools = "0.1" -GPUArrays = "11.1" +GPUArrays = "11.2.1" GPUCompiler = "0.23, 0.24, 0.25, 0.26, 0.27, 1" KernelAbstractions = "0.9.1" LLVM = "6, 7, 8, 9" diff --git a/src/array.jl b/src/array.jl index 28a6e717..e6d9fb28 100644 --- a/src/array.jl +++ b/src/array.jl @@ -60,12 +60,16 @@ mutable struct oneArray{T,N,B} <: AbstractGPUArray{T,N} ctx = context() dev = device() - buf = allocate(B, ctx, dev, bufsize, Base.datatype_alignment(T)) - data = DataRef(buf) do buf - release(buf) + alignment = Base.datatype_alignment(T) + data = GPUArrays.cached_alloc((oneArray, B, ctx, dev, bufsize, alignment)) do + buf = allocate(B, ctx, dev, bufsize, alignment) + data = DataRef(buf) do buf + release(buf) + end end obj = new{T,N,B}(data, maxsize, 0, dims) - finalizer(unsafe_free!, obj) + return finalizer(unsafe_free!, obj) + return arr end function oneArray{T,N}(data::DataRef{B}, dims::Dims{N};