-
Notifications
You must be signed in to change notification settings - Fork 93
Bump DPC++ and hipSYCL versions used for CI #234
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
In order to be able to bump a container's version as part of a PR but without disrupting CI on other branches, we have to include the version in the container image tag. A downside that comes with this is that we now need to manually keep the versions in sync between the two workflows.
DPC++ to 6699a5d (December 8) hipSYCL to b836149 (December 9)
|
Shoot, of course we now need to adjust the naming scheme for the ComputeCpp image as well. @ProGTX who should I talk to regarding this going forward? You, Scott Straughan, Rod Burns..? Also, can we bump the image to 2.8? |
|
Compilation with dpcpp takes 148 minutes (~2.5 hours). Is this acceptable for pre-commit? |
No, not really. These are the top 5 culprits:
I will take a look at the top two, I remember discussing long build times in the context of the Edit: Still, we need to pick up discussions about improving the CI infrastructure early next year. |
This is mostly spent in the kernel function instantiation. One hack, that you can employ here is passing |
Disable range rounding feature to reduce # of SYCL kernels.
Applied in d752a19. |
|
@psalz we now build docker images right in the intel/llvm repository, you can re-use those if you want. See https://github.com/intel/llvm/pkgs/container/llvm%2Fsycl_ubuntu2004_nightly
|
It looks like the right way to disable this feature is to use |
|
@alexbatashev, |
|
@bader handler is not the only template-heavy thing we have. Here's before disabling range rounding: And here's the after: intel/llvm#5127 should also give a small improvement for the first two tests. The trick with disabling this-free-function queries on host device I showed you earlier in the morning also gives nice speedup to those two tests (I'm yet to test all three tricks applied to see the final difference). The next big thing is Edit: applying all three hacks drives compile times for |
|
Thanks guys for looking into this.
So we already have the
Good to know, thanks. Since we don't really need any special setup within the containers we can probably switch to using this. I'll make sure to look into it when I have some time. |
This requires some work on the clang frontend side. I'll ping you once I have more to share. |
|
Closed in favor of #241, let's move discussions on compilation time to a dedicated PR. |
xml_generator will keep preview
This bumps the version of DPC++ to 6699a5d (December 8) and hipSYCL to b836149 (December 9). I've also updated the CI filter for DPC++, which is now able to compile 12 additional test categories, failing for 2 new ones, for a total of 5 categories that do not compile yet.
I've also adjusted the CI workflow to encode an implementation's version into the Docker image tag (i.e. there is now a
dpcpp-6699a5dtag, as opposed to justdpcpp) so that submitting this PR won't affect current CI runs (until it is merged).Disable DPC++ range rounding feature to speed up compilation.