Skip to content

[SYCL] Update support of online_compiler; advance default GPU device #7674

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

Merged
merged 2 commits into from
Dec 7, 2022

Conversation

v-klochkov
Copy link
Contributor

Signed-off-by: Vyacheslav N Klochkov [email protected]

@v-klochkov v-klochkov requested a review from a team as a code owner December 7, 2022 02:21
@v-klochkov v-klochkov requested a review from againull December 7, 2022 02:21
gpu_gen12 = 5
gpu_gen12 = 5,
gpu_tgl = gpu_gen12,
gpu_tgllp = gpu_gen12
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That enum is better, but IMO still not perfect solution because
a) that enum may need special conversion to string, e.g. intel_gpu_icllp -> "icllp"; intel_gpu_acm_g12 -> "something-else'.
b) ocloc allows specifying not only 1 device, but a set of them using comma, e.g. "-device icllp,tgllp", and also it allows range of devices, e.g. "-device icllp:" which means something like icllp and newer.

Taking (a) and (b) into account, wouln't it be convenient to let user have that great flexibility provided by 'oclocl'? If Yes, the best ways is to let user specify the 'device_option' or 'device_filter' of std::string type.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what problem are you trying to solve?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Local goal in this PR: online_compiler became unusable after recent changes in GPU RT on Gen12 Windows - it stopped supporting "-device skl", cfl, etc. This PR changes the default from "skl" and adds mapping from enum gpu::gpu_gen12 to string "tgllp".

Bigger goal for future PRs should be (IMO): to allow users to compile for target device or group of devices they need and not be limited with some pre-defined enum (either the one used today, or this one https://github.com/intel/llvm/blob/sycl/sycl/doc/extensions/experimental/sycl_ext_intel_device_architecture.asciidoc#new-enumeration-of-architectures)

@v-klochkov
Copy link
Contributor Author

The fails are known and unrelated to this PR: #7634
SYCL :: Assert/assert_in_kernels.cpp
SYCL :: Assert/assert_in_multiple_tus.cpp
SYCL :: Assert/assert_in_multiple_tus_one_ndebug.cpp
SYCL :: Assert/assert_in_one_kernel.cpp
SYCL :: Assert/assert_in_simultaneously_multiple_tus_one_ndebug.cpp

@v-klochkov v-klochkov merged commit adfb1c1 into intel:sycl Dec 7, 2022
@v-klochkov v-klochkov deleted the online_compiler_fix_Dec_2022 branch December 7, 2022 21:35
@v-klochkov v-klochkov restored the online_compiler_fix_Dec_2022 branch December 7, 2022 21:36
@v-klochkov v-klochkov deleted the online_compiler_fix_Dec_2022 branch February 8, 2023 01:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants