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

Build and test on Windows MSYS2 #413

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

Build and test on Windows MSYS2 #413

wants to merge 1 commit into from

Conversation

deymo
Copy link
Contributor

@deymo deymo commented Oct 20, 2021

New GitHub workflow to build and test on a Windows MSYS2 build in 32 and
64 bits.

This patch sets the LANGUAGES to CXX in the cmake project to avoid
setting up the C language which is not used by the project.

Due to a bug in cmake ninja generator with MSYS we can't set a prefix on
the target because it creates a duplicated ninja rule.

@deymo
Copy link
Contributor Author

deymo commented Oct 20, 2021

This currently fails in a bunch of HwyMathTestGroup tests (more failures for gcc i686 than for x86_64)

Copy link
Member

@jan-wassenberg jan-wassenberg left a comment

Choose a reason for hiding this comment

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

Thanks for adding this. Let's confirm it works after the ulp issues are fixed? I expect to have a fix for that tomorrow.

CMakeLists.txt Outdated Show resolved Hide resolved
@jan-wassenberg
Copy link
Member

I'm concerned about the 11m runtime of the x64 builder, that might cause timeouts. Anything we can do to speed it up?
For example, the other builders do export CMAKE_BUILD_PARALLEL_LEVEL=2 or "uses: actions/cache@v2".

@deymo
Copy link
Contributor Author

deymo commented Oct 20, 2021

So, the compilation takes quite a while because it compiles for all 4 targets. The other two clang builders compile only scalar (1m) vs these builders that compile all (5m). We could compile less (like scalar+avx2).
The other 5m are spent on setting up the msys environment. I looked on the action documentation and they are already doing all the caching necessary (it doesn´t normally re-download the artefacts). I'm trying now with update:false which will remove the last update step but it is not much of a difference.

I think CMAKE_BUILD_PARALLEL_LEVEL=2 is not needed with ninja since it builds in parallel by default.

@jan-wassenberg
Copy link
Member

scalar (1m) vs these builders that compile all (5m). We could compile less (like scalar+avx2).

That sounds useful, it should hopefully bring us under 10min?

I think CMAKE_BUILD_PARALLEL_LEVEL=2 is not needed with ninja since it builds in parallel by default.

Ah, makes sense.

@deymo deymo force-pushed the msys2 branch 2 times, most recently from 4691ae1 to fdc0950 Compare October 28, 2021 13:56
@deymo
Copy link
Contributor Author

deymo commented Oct 28, 2021

@jan-wassenberg HwyMathTestGroup/HwyMathTest.TestAllAcos segfaults here for x86_64, but I don't see any log output about it. Maybe it would help to use EXPECT_EQ and similar functions instead of HWY_ASSERT for tests.

@jan-wassenberg
Copy link
Member

@deymo hm, if it were an assert failing, we should also be seeing output to stderr (with an extra fflush just in case) from hwy::Abort in targets.cc, right?

@jan-wassenberg
Copy link
Member

@deymo FYI math_test is now disabled in cmake.

New GitHub workflow to build and test on a Windows MSYS2 build in 32 and
64 bits.

This patch sets the `LANGUAGES` to `CXX` in the cmake project to avoid
setting up the `C` language which is not used by the project.

Due to a bug in cmake ninja generator with MSYS we can't set a prefix on
the target because it creates a duplicated ninja rule.
@deymo
Copy link
Contributor Author

deymo commented Nov 12, 2021

@jan-wassenberg I rebased it and SortTestGroup/SortTest.TestAllReverse/AVX2 is now failing, and also clang-5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants