You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am trying to understand how IREE calculates the scheduling strategy and dispatches work on multiple devices.
If I understand correctly, by specifying multiple targets, let's say [llvm-cpu, vulkan], IREE will generate a CPU and a GPU executables for each operation.
What I have difficulty to understand is how does IREE decide which device to schedule the operation on.
More specifically, how / when does IREE know the number of different devices (n CPUs and k GPUs)?
Is it at the Stream level or is it decided dynamically at runtime?
Is it possible to specify to the compiler the different target types as well as the exact number of devices for each device type?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hello,
I am trying to understand how IREE calculates the scheduling strategy and dispatches work on multiple devices.
If I understand correctly, by specifying multiple targets, let's say [llvm-cpu, vulkan], IREE will generate a CPU and a GPU executables for each operation.
What I have difficulty to understand is how does IREE decide which device to schedule the operation on.
More specifically, how / when does IREE know the number of different devices (n CPUs and k GPUs)?
Is it at the Stream level or is it decided dynamically at runtime?
Is it possible to specify to the compiler the different target types as well as the exact number of devices for each device type?
Thank you
Beta Was this translation helpful? Give feedback.
All reactions