[LinkerWrapper] Perform device linking steps in parallel
This patch changes the device linking steps to be performed in parallel when multiple offloading architectures are being used. We use the LLVM parallelism support to accomplish this by simply doing each inidividual device linking job in a single thread. This change required re-parsing the input arguments as these arguments have internal state that would not be properly shared between the threads otherwise. By default, the parallelism uses all threads availible. But this can be controlled with the `--wrapper-jobs=` option. This was required in a few tests to ensure the ordering was still deterministic. Reviewed By: tra Differential Revision: https://reviews.llvm.org/D136701
Loading
Please sign in to comment