A package with multiple support for multiple GPU types

Hey all!

I’m currently working on a package that uses the GPU. Being a good citizen, I’m adding support for different pipelines (via KernelAbstractions.jl, if that helps). How should I architect this in the package?
I obviously don’t want the user installing oneApi.jl if they have CUDA, but how can I make Pkg.instantiate() platform specific?

Thanks!

I think the easier and more recommended option is not to have the backends as deps, but make the user install what he/she wants to use and then somehow communicate to the package that. Can’t you do so?