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

Tracking Issue for x86_amx_intrinsics #126622

Open
1 of 3 tasks
sayantn opened this issue Jun 18, 2024 · 3 comments
Open
1 of 3 tasks

Tracking Issue for x86_amx_intrinsics #126622

sayantn opened this issue Jun 18, 2024 · 3 comments
Labels
A-SIMD Area: SIMD (Single Instruction Multiple Data) A-target-feature Area: Enabling/disabling target features like AVX, Neon, etc. C-tracking-issue Category: An issue tracking the progress of sth. like the implementation of an RFC

Comments

@sayantn
Copy link
Contributor

sayantn commented Jun 18, 2024

This issue tracks the integration of Intel AMX instruction family to Rust.

The feature gate for the issue is #![feature(x86_amx_intrinsics)].

Steps

  • Add the target-feature attributes and runtime detection for them
  • Implement the associated intrinsics in stdarch
  • Stabilization PR

Public API

The following target features and all their associated intrinsics and types

  • amx-tile
  • amx-int8
  • amx-bf16
  • amx-fp16
  • amx-complex

Implementation History

@sayantn sayantn added the C-tracking-issue Category: An issue tracking the progress of sth. like the implementation of an RFC label Jun 18, 2024
@rustbot
Copy link
Collaborator

rustbot commented Jun 24, 2024

Error: Label B-unstable can only be set by Rust team members

Please file an issue on GitHub at triagebot if there's a problem with this bot, or reach out on #t-infra on Zulip.

@rustbot rustbot added A-SIMD Area: SIMD (Single Instruction Multiple Data) A-target-feature Area: Enabling/disabling target features like AVX, Neon, etc. labels Jun 24, 2024
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Jul 12, 2024
Add AMX target-features and `x86_amx_intrinsics` feature flag

This is an effort towards rust-lang#126622. This adds support for all 5 target-features for `AMX`, and introduces the feature flag `x86_amx_intrinsics`, which would gate these target-features and the yet-to-be-implemented amx intrinsics in stdarch.
workingjubilee added a commit to workingjubilee/rustc that referenced this issue Jul 12, 2024
Add AMX target-features and `x86_amx_intrinsics` feature flag

This is an effort towards rust-lang#126622. This adds support for all 5 target-features for `AMX`, and introduces the feature flag `x86_amx_intrinsics`, which would gate these target-features and the yet-to-be-implemented amx intrinsics in stdarch.
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Jul 12, 2024
Add AMX target-features and `x86_amx_intrinsics` feature flag

This is an effort towards rust-lang#126622. This adds support for all 5 target-features for `AMX`, and introduces the feature flag `x86_amx_intrinsics`, which would gate these target-features and the yet-to-be-implemented amx intrinsics in stdarch.
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Jul 12, 2024
Add AMX target-features and `x86_amx_intrinsics` feature flag

This is an effort towards rust-lang#126622. This adds support for all 5 target-features for `AMX`, and introduces the feature flag `x86_amx_intrinsics`, which would gate these target-features and the yet-to-be-implemented amx intrinsics in stdarch.
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Jul 12, 2024
Add AMX target-features and `x86_amx_intrinsics` feature flag

This is an effort towards rust-lang#126622. This adds support for all 5 target-features for `AMX`, and introduces the feature flag `x86_amx_intrinsics`, which would gate these target-features and the yet-to-be-implemented amx intrinsics in stdarch.
rust-timer added a commit to rust-lang-ci/rust that referenced this issue Jul 12, 2024
Rollup merge of rust-lang#126639 - sayantn:amx, r=Amanieu

Add AMX target-features and `x86_amx_intrinsics` feature flag

This is an effort towards rust-lang#126622. This adds support for all 5 target-features for `AMX`, and introduces the feature flag `x86_amx_intrinsics`, which would gate these target-features and the yet-to-be-implemented amx intrinsics in stdarch.
@workingjubilee
Copy link
Member

We will need to understand the ABI impacts of AMX, if any.

@sayantn
Copy link
Contributor Author

sayantn commented Oct 27, 2024

Afaik, AMX doesn't change any ABI. Although we would need to change some things in inline asm to support tmm registers (it is currently clobber-only, when we introduce the __tile1024i type in stdarch, we can use that in inline asm, but sadly it would require compiler support to add the __tile1024i type)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-SIMD Area: SIMD (Single Instruction Multiple Data) A-target-feature Area: Enabling/disabling target features like AVX, Neon, etc. C-tracking-issue Category: An issue tracking the progress of sth. like the implementation of an RFC
Projects
None yet
Development

No branches or pull requests

3 participants