""" get_machine_info(verbose::Bool) Return the [`Machine`](@ref) currently running on. The parameter `verbose` defaults to true when interactive. """ function get_machine_info(; verbose::Bool = Base.is_interactive) devices = Vector{AbstractDevice}() for device in device_types() devs = get_devices(device, verbose = verbose) for dev in devs push!(devices, dev) end end noDevices = length(devices) @assert noDevices > 0 "No devices were found, but at least one NUMA node should always be available!" transferRates = Matrix{Float64}(undef, noDevices, noDevices) fill!(transferRates, -1) return Machine(devices, transferRates) end