1. A computer-implemented method for dispatching a function call, the method comprising: receiving, at a supervisor processing element (PE) and from an origin PE, an identifier of a target device, a stack frame of the origin PE, and an address of a function called from the origin PE; allocating, by the supervisor PE, a target PE of the target device; copying, by the supervisor PE, the stack frame of the origin PE to a new stack frame on a call stack of the target PE; instructing, by the supervisor PE, the target PE to execute the function at the address; receiving, by the supervisor PE, notification from the target PE that execution of the function is complete; copying, by the supervisor PE, the new stack frame on the call stack of the target PE to the stack frame of the origin PE; releasing, by the supervisor PE, the target PE of the target device; and instructing, by the supervisor PE, the origin PE to resume execution of the program.