This patch extend the exiting libomp builder with a set of new option to control the creation of standalone and in-tree builds. With this patch the following configurations can be tested:
- in-tree build of libomp
- standalone build with host compiler
- standalone build with latest clang
The new functionalities are activated for the slave ppc64le-nvidia-K40. The maximum number of jobs was increased so that the clang in-tree compile runs a little faster. For the other libomp slave, gribozavr4`, the behavior is unchanged except for a slightly different naming of the steps.
A new build category was created to distinguish libomp builds that depend on llvm and clang.
how to offload with host ?
If I want to compile device-only device code, e.g. clang foo.mlu a.cpp -o bar,
I want to get the following action graph:
for foo.mlu:
input -> preprocess->compile->backend->assemble ,
Then i will get foo.o,
for a.cpp:
input -> preprocess->compile->backend->assemble
then I will get a.o
i want to link foo.o with a.o to get bar, a.cpp is the main, while foo.mlu has the device computation logic.
How can I manage it with offload?