Patch eigen 3.4.0 to make consistent with source used in ORT 1.16 release - #18320
Conversation
|
Isn't it a better idea to just pull the actual commit that had been used up until the most recent changes eg: This would only require a hash change but only includes the changes from may 19 2022 which were the most recent ones up until june 7 2023. |
It would be. Where is that commit id specified? The files look to be the same. The hash differs from the archive we were previously using but maybe that doesn't matter and there was a difference in compression level.
(Get-FileHash -Algorithm SHA1 eigen-e7248b26a1ed53fa030c5c459f7ea095dfd276ac.zip).Hash.ToLower()
be8be39fdbc6e60e94fa7870b280707069b5b81a |
|
That commit ID is taken from the history of the 3.4 branch. And includes the latest changes up to when eigen was pulled in using CMake fetchcontent instead of submodule. |
|
Closing in favour of #18200 which uses the cleaner option of a commit id. I'll split out the updates so patch runs on the Windows devops machines into a separate PR. |
Description
Add patch to make the Eigen source the same as what was used in the 1.16.x releases.
The patch is large, but makes things consistent.
At a minimum the changes to Eigen\src\Core\PartialReduxEvaluator.h are required to fix the arm64 Apple builds.
By using the same patch for all builds it will hopefully also fix the issue with ACL builds. #15248
The patch command for ACL builds has arguments that are specific to
git apply, but I don't believe (please correct me if I'm wrong) we can use that when we download the source as a zip instead of clone it using git.Motivation and Context
Fix arm64 macOS/iOS build error due to inconsistencies between the official Eigen 3.4.0 source and what was previously downloaded from the 3.4 branch.