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

CI: Add Alpine Linux runners on different (emulated) CPU architectures #353

Merged
merged 2 commits into from
Aug 14, 2023

Conversation

mmuetzel
Copy link
Contributor

In the light of #221, this PR adds some additional runners to the CI that build and run the SuiteSparse libraries on different CPU architectures.

There is an existing action that makes it pretty easy to install a chroot for different CPU architectures based on the packages distributed by Alpine Linux. That action also allows it to easily execute commands "natively" on those architectures. If necessary, they are emulated by qemu.

I tried to keep the rules pretty close to the existing CI. But building GraphBLAS on emulated hardware takes too long. In some prior tests, the CI didn't complete even 10% of the compilation process before the 6 hour timeout was reached.
So, I skipped building GraphBLAS for these runners. To still be able to build the example, this PR adapts it such that GraphBLAS is now an optional dependency for the example. I hope that is ok.

As you can see, some of the demos segfault on CPUs for which the pointer type is 32-bit. We already saw the same for Windows 32-bit. But it looks like it is also happening on Linux.

@mmuetzel
Copy link
Contributor Author

mmuetzel commented Aug 2, 2023

Rebased on a current head of the dev2 branch to check if this makes a difference for the platforms here (especially the ones with 32-bit pointers).

@mmuetzel
Copy link
Contributor Author

mmuetzel commented Aug 3, 2023

It looks like the tests for SPQR no longer crash on 32-bit platforms.

@DrTimothyAldenDavis: Do you think it would make sense to add these rules to the CI? I.e., could you please merge this PR?

@DrTimothyAldenDavis
Copy link
Owner

Yes -- this is a great idea. I've gotten behind because of travel this past month, and I came back from my last trip with a cold. I should be able to get caught up this week.

@DrTimothyAldenDavis
Copy link
Owner

These changes look fine. Making GraphBLAS an optional part of the Example package is OK. An alternative would be to compile GraphBLAS with its COMPACT option turned on.

For now, I'll go ahead and merge this in and give it a try.

@DrTimothyAldenDavis DrTimothyAldenDavis merged commit 4320982 into DrTimothyAldenDavis:dev2 Aug 14, 2023
13 checks passed
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