Skip to content

Fix check for SVE instructions which caused problems on Windows.#859

Merged
devinamatthews merged 2 commits intomasterfrom
windows-armsve
Mar 2, 2025
Merged

Fix check for SVE instructions which caused problems on Windows.#859
devinamatthews merged 2 commits intomasterfrom
windows-armsve

Conversation

@devinamatthews
Copy link
Copy Markdown
Member

@devinamatthews devinamatthews commented Feb 27, 2025

Details:

  • The context intialization for armsve was using the HWCAP functionality of Linux to check if SVE instructions are actually available, since these are used to determine the register blocksizes. Naturally, this causes problems on Windows.
  • Instead, use functions from bli_cpuid.c to check for SVE. On Windows, no check is actually done and SVE is never detected.
  • In the case that (sometime in the future) the user specifically requests the armsve config on Windows, only enable this check for the whole arm64 family and just assume SVE is available otherwise.
  • Fixes 1.1: ARMSVE fails to build on Windows #858.
  • armsve has been blacklisted for Windows due to other compilation issues.

Details:
- The context intialization for `armsve` was using the HWCAP functionality of Linux to check if SVE instructions are actually available, since these are used to determine the register blocksizes. Naturally, this causes problems on Windows.
- Instead, use functions from `bli_cpuid.c` to check for SVE. On Windows, no check is actually done and SVE is never detected.
- In the case that the user specifically requests the `armsve` config on Windows, only enable this check for the whole `arm64` family and just assume SVE is available otherwise.
@devinamatthews devinamatthews merged commit 37e52a6 into master Mar 2, 2025
@devinamatthews devinamatthews deleted the windows-armsve branch March 2, 2025 14:56
devinamatthews added a commit that referenced this pull request Jun 7, 2025
* Fix check for SVE instructions which caused problems on Windows.

Details:
- The context intialization for `armsve` was using the HWCAP functionality of Linux to check if SVE instructions are actually available, since these are used to determine the register blocksizes. Naturally, this causes problems on Windows.
- Instead, use functions from `bli_cpuid.c` to check for SVE. On Windows, no check is actually done and SVE is never detected.
- In the case that the user specifically requests the `armsve` config on Windows, only enable this check for the whole `arm64` family and just assume SVE is available otherwise.

* Blacklist armsve on Windows.

(cherry picked from commit 37e52a6)
devinamatthews added a commit that referenced this pull request Jun 7, 2025
* Fix check for SVE instructions which caused problems on Windows.

Details:
- The context intialization for `armsve` was using the HWCAP functionality of Linux to check if SVE instructions are actually available, since these are used to determine the register blocksizes. Naturally, this causes problems on Windows.
- Instead, use functions from `bli_cpuid.c` to check for SVE. On Windows, no check is actually done and SVE is never detected.
- In the case that the user specifically requests the `armsve` config on Windows, only enable this check for the whole `arm64` family and just assume SVE is available otherwise.

* Blacklist armsve on Windows.

(cherry picked from commit 37e52a6)
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.

1.1: ARMSVE fails to build on Windows

1 participant