Skip to content

Read AA64ISAR0_EL1 to check dot product support#16082

Merged
chenfucn merged 3 commits into
microsoft:mainfrom
skandhurkat:dev/arm-dot-check
May 26, 2023
Merged

Read AA64ISAR0_EL1 to check dot product support#16082
chenfucn merged 3 commits into
microsoft:mainfrom
skandhurkat:dev/arm-dot-check

Conversation

@skandhurkat

Copy link
Copy Markdown
Contributor

Description

Use an assembly instruction to read the AA64ISAR0_EL1 register for dot
product support.

Motivation and Context

The only reliable way to check for supported instruction extensions in ARM is to
query the instruction set attribute registers. Dot product instructions can
be checked using bits 47:44 in the AA64ISAR0_EL1
register
.

On qemu-aarch64 with the a64fx cpu which does not support the dot product
instructions, running a quantized BERT-Large (from MLPerf) results in SIGILL.
With the change, the program continues without using the dot product
instructions. Also verified that S8S8_SDOT kernels are invoked when running
on hardware that supports dot product instructions.

Skand Hurkat added 3 commits May 4, 2023 10:30
Reads the ARM AA64ISAR0_EL1 register to figure out the availability of
DOT instruction support on the hardware.
@skandhurkat
skandhurkat requested a review from a team as a code owner May 24, 2023 18:39
@chenfucn

Copy link
Copy Markdown
Contributor

/azp run Linux CPU CI Pipeline, Linux CPU Minimal Build E2E CI Pipeline, Linux GPU CI Pipeline, Linux GPU TensorRT CI Pipeline, Linux OpenVINO CI Pipeline, Linux QNN CI Pipeline, MacOS CI Pipeline

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 7 pipeline(s).

@chenfucn

Copy link
Copy Markdown
Contributor

/azp run ONNX Runtime Web CI Pipeline, Windows ARM64 QNN CI Pipeline, Windows CPU CI Pipeline, Windows GPU CI Pipeline, Windows GPU TensorRT CI Pipeline, onnxruntime-binary-size-checks-ci-pipeline, orttraining-linux-ci-pipeline, orttraining-linux-gpu-ci-pipeline, orttraining-ortmodule-distributed

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 9 pipeline(s).

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.

2 participants