In order to make automatic offload less cumbersome for users with access to many different compute resources (multi-CPUs, multi-GPU, mixed GPU, multiple/advanced network fabrics, etc.), we need the ability to detect attached hardware and topology, and make this available to "planning" routines which determine where computations are placed.
Hwloc.jl should be able to provide a means to detect a wide variety of hardware and topologies, and although it's a binary dependency, it would allow us to skip solving the tricky problem of hardware elaboration in native Julia.
In order to make automatic offload less cumbersome for users with access to many different compute resources (multi-CPUs, multi-GPU, mixed GPU, multiple/advanced network fabrics, etc.), we need the ability to detect attached hardware and topology, and make this available to "planning" routines which determine where computations are placed.
Hwloc.jl should be able to provide a means to detect a wide variety of hardware and topologies, and although it's a binary dependency, it would allow us to skip solving the tricky problem of hardware elaboration in native Julia.