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

Implement AVX-512 support #77034

Closed
44 of 56 tasks
BruceForstall opened this issue Oct 13, 2022 · 4 comments
Closed
44 of 56 tasks

Implement AVX-512 support #77034

BruceForstall opened this issue Oct 13, 2022 · 4 comments
Assignees
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI User Story A single user-facing feature. Can be grouped under an epic.
Milestone

Comments

@BruceForstall
Copy link
Member

BruceForstall commented Oct 13, 2022

This issue will track work being done to support the AVX-512 ISA extensions in .NET.

A GitHub project also exists to do this tracking: https://github.com/orgs/dotnet/projects/157

GitHub query for all issues and pull requests tagged arch-avx512: https://github.com/dotnet/runtime/labels/arch-avx512

We will alter how we track this work based on experience with both mechanisms.

The following work is all planned for .NET 8. If we determine work will not make .NET 8, it will be noted.

RyuJIT feature work

RyuJIT optimization work

CI/testing work

VM work

Debugging / diagnostics work

Libraries work

API design work

Note: all API implementation work that has been planned for .NET 8 has been completed. There are a few remaining "esoteric" APIs that still need to be completed, and that work has been moved to .NET 9. The linked issues will not be closed until the entire API surface area is complete, due to API design issue tracking rules.

Related work

Future work

The following work items for work that did not get implemented for .NET 8 will be considered for .NET 9.

RyuJIT feature work

RyuJIT optimization work

CI/testing work

VM work

Debugging / diagnostics work

Libraries work

API design work

@BruceForstall BruceForstall added area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI User Story A single user-facing feature. Can be grouped under an epic. labels Oct 13, 2022
@BruceForstall BruceForstall added this to the 8.0.0 milestone Oct 13, 2022
@ghost
Copy link

ghost commented Oct 13, 2022

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

Issue Details

This issue will track work being done to support the AVX-512 ISA extensions in RyuJIT.

A GitHub project also exists to do this tracking: https://github.com/orgs/dotnet/projects/157

We will alter how we track this work based on experience with both mechanisms.

Planned for .NET 8

Author: BruceForstall
Assignees: -
Labels:

area-CodeGen-coreclr, User Story

Milestone: 8.0.0

@hopperpl
Copy link

I'm rather interested to know what the conceptual idea will be to use the mask registers.

Will it be just an intrinsic-approach? Or will there also be some logic built around?

I'm asking this as the mask registers k0-k7 are directly set into EVEX and there is no way to provide a constant. This would either mean we specifically use a register, like k3, and apply this to AVX512 instructions. Or, we request a k-register which is encapsulated in a helper-class which we then provide to AVX512 instructions. How will JIT ensure integrity thru sub-function calls?

@jakobbotsch
Copy link
Member

@hopperpl You may be interested in reading dotnet/designs#268.

@DeepakRajendrakumaran
Copy link
Contributor

FYI - #80811 is also covered under #80960

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI User Story A single user-facing feature. Can be grouped under an epic.
Projects
Archived in project
Development

No branches or pull requests

5 participants