7 ms·
OP answered the Julia-specific part but I'll chime in with a solid, language-agnostic yes, there are still reasons a GPU dev might want to target specific hardw
by jamiejquinn 1y ago
OP answered the Julia-specific part but I'll chime in with a solid, language-agnostic yes, there are still reasons a GPU dev might want to target specific hardware. GPU hardware at the moment is more vendor-specific than CPUs. Off the top of my head, major differences include specialised hardware like Nvidia's tensor cores, differences in common hardware like cache and register size, and niche features like Nvidia's combined grace-hopper machines or AMD's gpu-cpu hybrid MI300A.
Sophisticated high-level approaches (like Julia's) will be able to utilise/mitigate some of the differences but I don't think we're fully vendor-agnostic quite yet (and probably won't ever be at the evolving cutting edge).
- pxl-th 1y agoDefinitely, with backend agnostic code you can target only a common set of features. It's convenient to use where it makes sense as it reduces the complexity: 1 kernel for all backends. And you can actually go a long way with this without sacrificing too much of the performance. But for squeezing maximum performance & using latest features you have to target each device individually.