# Implement feature common to all \`AbstractGPUArrays\` through KernelAbstractions.jl

**URL:** <https://discourse.julialang.org/t/implement-feature-common-to-all-abstractgpuarrays-through-kernelabstractions-jl/123855>\
**Category:** GPU\
**Tags:** gpuarrays, kernelabstractions\
**Created:** [December 15, 2024, 10:00am UTC](https://discourse.julialang.org/t/implement-feature-common-to-all-abstractgpuarrays-through-kernelabstractions-jl/123855 "2024-12-15T10:00:43Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![albertomercurio](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/albertomercurio/32/27051_2.png) [@albertomercurio](https://discourse.julialang.org/u/albertomercurio)\
**Post date:** [December 15, 2024, 10:00am UTC](https://discourse.julialang.org/t/implement-feature-common-to-all-abstractgpuarrays-through-kernelabstractions-jl/123855/1 "2024-12-15T10:00:43Z")

</div>

Hello,

Let’s imagine I have a very common function

```julia
LinearAlgebra.kron(a::VT, b::VT) where VT<:AbstractGPUArray

```

which can support any `AbstractGPUArray` since I’m using KernelAbstractions.jl. Where should I implement such feature? Is there a general place? Or should I implement it on every platform as CUDA.jl, Metal.jl etc?

---

<div class="post-metadata">

**Author:** ![pxl-th](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pxl-th/32/31939_2.png) [@pxl-th](https://discourse.julialang.org/u/pxl-th)\
**Post date:** [December 15, 2024, 11:44am UTC](https://discourse.julialang.org/t/implement-feature-common-to-all-abstractgpuarrays-through-kernelabstractions-jl/123855/2 "2024-12-15T11:44:45Z")

</div>

Hi. You can do this in [GPUArrays.jl](https://github.com/JuliaGPU/GPUArrays.jl) package. Every GPU package has it as a dependency

---

<div class="post-metadata">

**Author:** ![albertomercurio](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/albertomercurio/32/27051_2.png) [@albertomercurio](https://discourse.julialang.org/u/albertomercurio)\
**Post date:** [December 15, 2024, 2:20pm UTC](https://discourse.julialang.org/t/implement-feature-common-to-all-abstractgpuarrays-through-kernelabstractions-jl/123855/3 "2024-12-15T14:20:39Z")

</div>

Thank you. Just made a PR in GPUArrays.jl
