You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
template <typename KeyT, typename ValueT, uint32_t WORKGROUP_SIZE>
classWarpSort{
staticvoidswap(int& key, ValueT& value,
uint32_tconst& step, uint32_tconst& activemask,
bool bDescending, std::true_type const& isKeyOnly,
const sycl::nd_item<3> &item_ct1)
{
/* DPCT1023:0: The SYCL sub-group does not support mask options for dpct::permute_sub_group_by_xor. You can specify "--use-experimental-features=masked-sub-group-operation" to use the experimental helper function to migrate __shfl_xor_sync.*/dpct::permute_sub_group_by_xor(item_ct1.get_sub_group(), key, step);
}
The text was updated successfully, but these errors were encountered:
Hi @ArberSephirotheca,
The root cause is that when the type of key is not specified, the call type for __shfl_xor_sync is UnresolvedLookupExpr, shown as :
Describe the bug
When I tried to migrate a template function with just 1 loc in the function body.
I expect the
__shfl_xor_sync
would be migrated intodpct::permute_sub_group_by_xor
. However, SYCLomatic does nothing to the code.after migration:
To reproduce
run the above code with dpct
Environment
Additional context
One interesting observation is when you change the type of
key
into explicit type name such asint& key
, the migration success.before migration:
after migration:
The text was updated successfully, but these errors were encountered: