Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SYCL][Bindless][Exp] 3D images accept 3 component vecs instead of 4 #12581

Merged
merged 2 commits into from
Feb 14, 2024

Conversation

DBDuncan
Copy link
Contributor

@DBDuncan DBDuncan commented Feb 1, 2024

Update read/write image functions to only accept coords with three arguments instead of the current four, for 3D images.

Before this patch, when reading or writing to 3D bindless images, 4D coordinates had to be used, where the last coord is always ignored. This patch aligns bindless images to the rest of SYCL and other solutions.

…nt vecs instead of 4 component vecs

This commit changes read/write image functions to only accept coords with three arguments instead of the current four that is enforced.
Updates tests and bindless spec to reflect this change.
@DBDuncan DBDuncan requested review from a team and sergey-semenov and removed request for a team February 1, 2024 16:49
@DBDuncan DBDuncan requested review from a team as code owners February 1, 2024 16:49
Copy link
Contributor

@ldrumm ldrumm left a comment

Choose a reason for hiding this comment

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

I'm fine with the code changes in principal (though it's not my area of expertise so I'll let others do a more detailed review there), but I have the following requests to make this a better patchset

  • The title has a typo and is long
  • Your PR description (which will become the squashed commit message) should use the imperative mood e.g.
    s/This commit changes/Change/ (though even "change" is a bit weak because it's obviously a change or it'd be an empty commit)
  • I'd like some rationale as to why this change is made. Clearly you are changing from 4 element to 3, but why is that necessary?

@DBDuncan DBDuncan changed the title [SYCL][Bindless][Exp] Change coords for 3D images to accept 3 componnt vecs instead of 4 component vecs [SYCL][Bindless][Exp] 3D images to accept 3 component vecs instead of 4 Feb 2, 2024
@DBDuncan DBDuncan changed the title [SYCL][Bindless][Exp] 3D images to accept 3 component vecs instead of 4 [SYCL][Bindless][Exp] 3D images accept 3 component vecs instead of 4 Feb 2, 2024
@DBDuncan
Copy link
Contributor Author

DBDuncan commented Feb 2, 2024

I'm fine with the code changes in principal (though it's not my area of expertise so I'll let others do a more detailed review there), but I have the following requests to make this a better patchset

* The title has a typo and is long

* Your PR description (which will become the squashed commit message) should use the imperative mood e.g.
  `s/This commit changes/Change/` (though even "change" is a bit weak because it's obviously a change or it'd be an empty commit)

* I'd like some rationale as to why this change is made. Clearly you are changing from 4 element to 3, but _why_ is that necessary?

Thanks for the feedback. Updated the title to be shorter. (and remove that spelling mistake...). Have to admit, did not think about adhering to the imperative commit message style when writing it. Will definitely do so in the future.

Also, added a better explanation as to why the change was made. Made no sense to always require 4D coords to index a 3D image leading to the last coord to always never be used. Also aligns better with the rest of SYCL and other similar solutions.

@DBDuncan
Copy link
Contributor Author

DBDuncan commented Feb 12, 2024

@sergey-semenov Could you please take a look? Made some changes to image.cl (As well as other changes to bindless image files.)

@DBDuncan
Copy link
Contributor Author

Got approvals. @intel/llvm-gatekeepers Can this get merged?

@ldrumm ldrumm merged commit 24ce45c into intel:sycl Feb 14, 2024
12 checks passed
przemektmalon added a commit to codeplaysoftware/intel-llvm-mirror that referenced this pull request Feb 19, 2024
- The `read_image` and `read_mipmap` APIs have been deprecated
- They are replaced with the more descriptive `fetch_image`,
  `sample_image`, and `sample_mipmap` (for unsampled reads, sampled
  reads, and mipmap sampled reads, respectively).
- This change is made in preperation for future functionality of
  fetching data from sampled images.
- The reason behind this change is to avoid determining the
  underlying image read operation based on the coordinate type
  passed, and instead making it more transparent for the user which
  operation is performed based on the name of the function.
- The extension document, bindless images headers, and all bindless
  images tests have all been updated.
- The specification revision history has been updated to include a
  missed changelog entry for PR intel#12581
againull pushed a commit that referenced this pull request Feb 21, 2024
…ng (#12756)

- The `read_image` and `read_mipmap` APIs have been deprecated
- They are replaced with the more descriptive `fetch_image`,
`sample_image`, and `sample_mipmap` (for unsampled reads, sampled reads,
and mipmap sampled reads, respectively).
- This change is made in preperation for future functionality of
fetching data from sampled images.
- The reason behind this change is to avoid determining the underlying
image read operation based on the coordinate type passed, and instead
making it more transparent for the user which operation is performed
based on the name of the function.
- The extension document, bindless images headers, and all bindless
images tests have all been updated.
- The specification revision history has been updated to include a
missed changelog entry for PR #12581
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