Skip to content

[SYCL] Make enable_profiling and enable_ipc properties match the spec - #22787

Open
againull wants to merge 1 commit into
intel:syclfrom
againull:properties_match_spec
Open

[SYCL] Make enable_profiling and enable_ipc properties match the spec#22787
againull wants to merge 1 commit into
intel:syclfrom
againull:properties_match_spec

Conversation

@againull

@againull againull commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Convert enable_profiling (from sycl_ext_oneapi_reusable_event) and enable_ipc (from sycl_ext_oneapi_inter_process_communication) from compile-time flag properties to runtime properties that accept a bool enable argument. This matches what both extension specs already document and examples in those specs imply that those are runtime properties. Current implementation is not able to compile examples provided in the specification.

As a runtime property, the same properties list can express either state:

  syclex::make_event(
      ctx,
      syclex::properties{syclex::enable_profiling{some_runtime_bool},
                         syclex::enable_ipc{another_runtime_bool}});

And allows to avoid this kind of branching:

    if (enable_profiling) {
        return syclex::make_event(context, syclex::enable_profiling);
    } else if (enable_ipc) {
        return syclex::make_event(context, syclex::enable_ipc);
    } else
        return syclex::make_event(context);
    }

Assisted-By: Claude

Convert 'enable_profiling' (from sycl_ext_oneapi_reusable_events) and
'enable_ipc' (from sycl_ext_oneapi_inter_process_communication) from
compile-time flag properties to runtime properties that accept a
'bool enable' argument. This matches what both extension specs
already document and examples in those specs imply that those are
runtime properties. Current implementation is not able to compile
examples provided in the specification.

As a runtime property, the same properties list can express either state:
  syclex::make_event(
      ctx,
      syclex::properties{syclex::enable_profiling{some_runtime_bool},
                         syclex::enable_ipc{another_runtime_bool}});

And allows to avoid this kind of branching:
    if (enable_profiling) {
        return syclex::make_event(context, syclex::enable_profiling);
    } else if (enable_ipc) {
        return syclex::make_event(context, syclex::enable_ipc);
    } else
        return syclex::make_event(context);
    }

Assisted-By: Claude
@againull
againull requested review from a team as code owners July 28, 2026 18:07

@gmlueck gmlueck left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks! Spec change is good.

@guangyey guangyey left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Very thanks!

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