Skip to content

[SYCL][SUBGROUPS] Non-integral types incompatible with sg.load() #1916

Closed
@jasonsewall-intel

Description

@jasonsewall-intel

Issue:
subgroup.load fails for non-integral types like float and double. Using bit_cast seems to fail too.

Expected behavior:

load shouldn't care about the data type, just the width.

auto vals = ;// read-capable access to buffer of doubles
const int o = ;// some positive integer
const double v = sg.load<1>(vals.get_pointer()+o);

Details:

I would expect bit_cast to work here, but it does not:

const double v = detail::sub_group::bit_cast<const double>(sgr.load<1>(detail::sub_group::bit_cast<multi_ptr<unsigned long, access::address_space::global_space>>(vals.get_pointer()+o)));

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestspec extensionAll issues/PRs related to extensions specifications

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions