[SYCL] Part2: Split info_desc.hpp into per-trait-class headers#22273
Open
koparasy wants to merge 2 commits into
Open
[SYCL] Part2: Split info_desc.hpp into per-trait-class headers#22273koparasy wants to merge 2 commits into
koparasy wants to merge 2 commits into
Conversation
Split `<sycl/info/info_desc.hpp>` (~740 lines) into 6 per-trait-class
headers under `sycl/include/sycl/info/`:
* `platform.hpp` — 5 platform traits
* `context.hpp` — 7 context traits
* `device.hpp` — `device_type` / `partition_property` /
`partition_affinity_domain` / `local_mem_type` / `fp_config` /
`global_mem_cache_type` / `execution_capability` enums + ~95 device traits
* `queue.hpp` — 3 queue traits
* `kernel.hpp` — 5 kernel + 10 kernel_device_specific traits
* `event.hpp` — `event_command_status` enum + 2 event traits + 3
event_profiling traits
`info_desc.hpp` becomes a thin umbrella that includes all six plus the
ext-trait chain (matrix, max_work_groups, forward_progress,
device_architecture, bindless_image_info, composite_device,
kernel_queue_info, ext::oneapi::info::device, ext::intel::info::{device,
kernel}, ext::codeplay::experimental::max_registers_query). Existing
consumers continue to work unchanged.
Prereq for trimming `info_desc.hpp` from internal consumers (next PR).
Per-class consumers of `info::queue` / `info::context` / etc. will be
able to skip `info::device`'s ~95 trait structs and the matrix /
device-architecture / forward-progress include chain.
This PR delivers no measurable compile-time win on its own (the
umbrella still pulls everything); it sets up the structural change.
againull
approved these changes
Jun 9, 2026
Contributor
|
@intel/llvm-gatekeepers please consider merging |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Split
<sycl/info/info_desc.hpp>(~740 lines) into 6 per-trait-class headers undersycl/include/sycl/info/:platform.hpp— 5 platform traitscontext.hpp— 7 context traitsdevice.hpp—device_type/partition_property/partition_affinity_domain/local_mem_type/fp_config/global_mem_cache_type/execution_capabilityenums + ~95 device traitsqueue.hpp— 3 queue traitskernel.hpp— 5 kernel + 10 kernel_device_specific traitsevent.hpp—event_command_statusenum + 2 event traits + 3 event_profiling traitsinfo_desc.hppbecomes a thin umbrella that includes all six plus the ext-trait chain (matrix, max_work_groups, forward_progress, device_architecture, bindless_image_info, composite_device, kernel_queue_info, ext::oneapi::info::device, ext::intel::info::{device, kernel}, ext::codeplay::experimental::max_registers_query). Existing consumers continue to work unchanged.Prereq for trimming
info_desc.hppfrom internal consumers (next PR). Per-class consumers ofinfo::queue/info::context/ etc. will be able to skipinfo::device's ~95 trait structs and the matrix / device-architecture / forward-progress include chain.This PR delivers no measurable compile-time win on its own (the umbrella still pulls everything); it sets up the structural change that will be performed by the last PR as described in #22182