-
Notifications
You must be signed in to change notification settings - Fork 803
Description
Is your feature request related to a problem? Please describe
In the old offloading model, when we compile a fat binary for multiple targets and specify only a subset of those targets at the linking command line through -fsycl-targets, only the targets specified at the linking command line are used to select images from the fat binary, and compilation occurs only for those targets. An example is as follows:
// Produce a fat object for all targets
clang++ ... -fsycl-targets=A,B,C ... -c -o fat_binary.o
// Link for a subset of the targets (A, B), in this case, only compilation for A, B occurs
clang++ ... -fsycl-targets=A,B ... fat_binary.o ... -o a.out
However, in the new offloading model, when we compile a fat binary for multiple targets, all targets from the fat binary are processed during linking, regardless of which specific targets are specified in the linking command line through -fsycl-targets. This means compilation occurs for all targets that were included in the original fat binary compilation. Using the same example:
// Produce a fat object for all targets
clang++ ... -fsycl-targets=A,B,C ... -c -o fat_binary.o
// Link for a subset of the targets (A, B), but compilation for A, B, C all occurs
clang++ ... -fsycl-targets=A,B ... fat_binary.o ... -o a.out
The test sycl/test-e2e/AOT/multiple-devices.cpp is for testing the behavior of the old offloading model described above, and sycl/test-e2e/NewOffloadDriver/aot-multiple-device.cpp is for testing the behavior of the new offloading model. Due to the difference in behavior, we are currently marking sycl/test-e2e/AOT/multiple-devices.cpp as UNSUPPORTED for the new offloading model, and this test should be removed once old offloading model support is removed.
Describe the solution you would like
The sycl/test-e2e/AOT/multiple-devices.cpp test should be deleted from the repository once old offloading model support is removed.
Describe alternatives you have considered
No response
Additional context
No response