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

Light up core ASCII.CaseConversion methods with Vector256/Vector512 code paths #88923

Closed
wants to merge 8 commits into from

Conversation

Ruihan-Yin
Copy link
Contributor

Description

This PR lights up some code path in ASCII.CaseConversion with Vector256/Vector512 code, namely, ChangeCases<TFrom, TTo, TCasting>, which is the base method for all the case conversion APIs, including ToUpper(InPlace), ToLower(InPlace).

We are open to adjusting the implementation style for either path. Perf numbers coming soon.

Perf

perf number coming soon

updated the naming and bug fixes.
path to improve the performance in VectorContainsNonAsciiChar
Add optimization for ChangeWidthAndWriteTo when Vector512 is available
Add 32-byte and 64-byte inputs to test on Vectorized path.
StoreLowerUnsafe, and use GetLower() instead.
@tannergooding tannergooding added the avx512 Related to the AVX-512 architecture label Jul 14, 2023
@ghost ghost added the community-contribution Indicates that the PR has been added by a community member label Jul 14, 2023
@ghost
Copy link

ghost commented Jul 14, 2023

Tagging subscribers to this area: @dotnet/area-system-text-encoding
See info in area-owners.md if you want to be subscribed.

Issue Details

Description

This PR lights up some code path in ASCII.CaseConversion with Vector256/Vector512 code, namely, ChangeCases<TFrom, TTo, TCasting>, which is the base method for all the case conversion APIs, including ToUpper(InPlace), ToLower(InPlace).

We are open to adjusting the implementation style for either path. Perf numbers coming soon.

Perf

perf number coming soon

Author: Ruihan-Yin
Assignees: -
Labels:

area-System.Text.Encoding

Milestone: -

@ghost ghost closed this Aug 15, 2023
@ghost
Copy link

ghost commented Aug 15, 2023

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@ghost ghost locked as resolved and limited conversation to collaborators Sep 15, 2023
This pull request was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-System.Text.Encoding avx512 Related to the AVX-512 architecture community-contribution Indicates that the PR has been added by a community member
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants