Scalable heterogeneous computing with asynchronous message-driven execution