Skip to content

Conversation

aelovikov-intel
Copy link
Contributor

North star goal: compile

#include <something>
namespace syclext = sycl::ext::oneapi;
namespace syclexp = sycl::ext::oneapi::experimental;
SYCL_EXT_ONEAPI_FUNCTION_PROPERTY((syclexp::nd_range_kernel<1>))
void foo(int *p) {
    size_t id = syclext::this_work_item::get_nd_item<1>().get_global_linear_id();
    p[id] = 0;
}

as fast as possible by limiting number of necessary includes.

item/nd_item/nd_range/etc. are all dependent on range, so the first tiny step would be to speed up its compilation as much as possible.

North star goal: compile

```cpp
namespace syclext = sycl::ext::oneapi;
namespace syclexp = sycl::ext::oneapi::experimental;
SYCL_EXT_ONEAPI_FUNCTION_PROPERTY((syclexp::nd_range_kernel<1>))
void foo(int *p) {
    size_t id = syclext::this_work_item::get_nd_item<1>().get_global_linear_id();
    p[id] = 0;
}

```

as fast as possible by limiting number of necessary includes.

`item`/`nd_item`/`nd_range`/etc. are all dependent on `range`, so the
first tiny step would be to speed up its compilation as much as possible.
Copy link
Member

@adamfidel adamfidel left a comment

Choose a reason for hiding this comment

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

The forward decl in the graph code seems fine to me.

@aelovikov-intel
Copy link
Contributor Author

@intel/syclcompat-lib-reviewers, ping.

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.

4 participants