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

Allow configuration template to disable some SIMD. #20215

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

jslap-ubi
Copy link

Description

Add compile flags to disable some SIMD optimizations

Motivation and Context

There is a mechanism to detect at runtime if some SIMD optimizations are available, and skip them if it is not the case, But on some platform, some compiler SIMD optimization are not available, even at the compilation step.

@jslap-ubi jslap-ubi requested a review from a team as a code owner April 5, 2024 20:49
@jslap-ubi
Copy link
Author

@microsoft-github-policy-service agree company="Ubisoft"

@yufenglee
Copy link
Member

The instruction set will be chosen dynamically at runtime. What is the reason to add those macros? Could you please explain more about it?

@jslap-ubi
Copy link
Author

Some SDKs just don't have the include files needed for the intrinsic. So making it optional would allow more platforms to be able to use the library.

@yufenglee
Copy link
Member

Some SDKs just don't have the include files needed for the intrinsic. So making it optional would allow more platforms to be able to use the library.

Which SDKs don't have the intrinsic files?

@jslap-ubi
Copy link
Author

There is one of our gaming platform that links inclusion of the files containing the symbols for the intrinsics (__m512 for instance) with the compiler actually generating code with the instruction set (-mavx512 for instance).
And we would like to have the flexibility to use the compile flag or not.

@jslap-ubi
Copy link
Author

Have you had the chance to review with my last comments?

@jslap-ubi
Copy link
Author

Bump. Just to make sure we don't forget about this one.

@jslap-ubi
Copy link
Author

Any news on this? @yufenglee ?

@yufenglee
Copy link
Member

/azp run Windows ARM64 QNN CI Pipeline,Windows x64 QNN CI Pipeline,Windows CPU CI Pipeline,Windows GPU CI Pipeline,Windows GPU TensorRT CI Pipeline,ONNX Runtime Web CI Pipeline,Linux CPU CI Pipeline,Linux CPU Minimal Build E2E CI Pipeline,Linux GPU CI Pipeline,Linux GPU TensorRT CI Pipeline

@yufenglee
Copy link
Member

/azp run Linux OpenVINO CI Pipeline,Linux QNN CI Pipeline,MacOS CI Pipeline,orttraining-amd-gpu-ci-pipeline,orttraining-linux-ci-pipeline,orttraining-linux-gpu-ci-pipeline,orttraining-ortmodule-distributed,onnxruntime-binary-size-checks-ci-pipeline,Big Models,Android CI Pipeline

@yufenglee
Copy link
Member

/azp run iOS CI Pipeline,ONNX Runtime React Native CI Pipeline

Copy link

Azure Pipelines successfully started running 2 pipeline(s).

Copy link

Azure Pipelines successfully started running 9 pipeline(s).

Copy link

Azure Pipelines successfully started running 10 pipeline(s).

yufenglee
yufenglee previously approved these changes Aug 1, 2024
Copy link
Member

@yufenglee yufenglee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@yufenglee
Copy link
Member

/azp run Linux Android Emulator QNN CI Pipeline

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@yufenglee
Copy link
Member

/azp run Python format

Copy link

No pipelines are associated with this pull request.

@yufenglee
Copy link
Member

@jslap-ubi, you need to sync to latest main branch to trigger the Python format CI.

@jslap-ubi jslap-ubi force-pushed the js/allow-disable-SIMD branch from 2f67b8f to 46f8996 Compare August 1, 2024 19:49
@yufenglee
Copy link
Member

/azp run Windows ARM64 QNN CI Pipeline,Windows x64 QNN CI Pipeline,Windows CPU CI Pipeline,Windows GPU CI Pipeline,Windows GPU TensorRT CI Pipeline,ONNX Runtime Web CI Pipeline,Linux CPU CI Pipeline,Linux CPU Minimal Build E2E CI Pipeline,Linux GPU CI Pipeline,Linux GPU TensorRT CI Pipeline

@yufenglee
Copy link
Member

/azp run Linux OpenVINO CI Pipeline,Linux QNN CI Pipeline,MacOS CI Pipeline,orttraining-amd-gpu-ci-pipeline,orttraining-linux-ci-pipeline,orttraining-linux-gpu-ci-pipeline,orttraining-ortmodule-distributed,onnxruntime-binary-size-checks-ci-pipeline,Big Models,Android CI Pipeline

Copy link

Azure Pipelines successfully started running 9 pipeline(s).

Copy link

Azure Pipelines successfully started running 10 pipeline(s).

@yufenglee
Copy link
Member

/azp run Linux Android Emulator QNN CI Pipeline

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@jslap-ubi
Copy link
Author

Thanks for the approval @yufenglee , what is the next step for this?

@jslap-ubi
Copy link
Author

Is there anything else I need to do to go forward with the merge? @yufenglee

@jslap-ubi
Copy link
Author

I just rebase on main since there was now a file conflicting.

@yufenglee : I think we need to renew the approval. Also, What would then be missing for having this MR merged?

@jslap-ubi jslap-ubi force-pushed the js/allow-disable-SIMD branch from d0aada7 to 7ca7306 Compare November 29, 2024 21:54
@jslap-ubi
Copy link
Author

The MR has been rebased, it would be ready to merge.

@yufenglee @yihonglyu : Could it be possible to re-approve this?

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.

3 participants