-
Notifications
You must be signed in to change notification settings - Fork 10
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
Start adding support for potential aarch64 build #160
base: master
Are you sure you want to change the base?
Conversation
Signed-off-by: Alexis Marquet <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it possible to add some testing?
(It would be great to add POWER architecture in the future too.)
I'm not sure what kind of test would be pertinent for this, I know travis supports aarch64 & ppc64le so it would be easy on that side. The issue is that i'm pretty sure some other things need to be fixed in other repository for a similar test-suite as what kind of tests were you thinking about? |
@allexoll -- I was thinking maybe seeing if you can setup builds using GitHub Actions? @umarcor might have some ideas. I know that people are using GitHub Actions to build multi-arch containers for Docker. A quick Google search turned up the following links;
@kgugala from Antmicro was also setting up self hosted runners for GitHub Actions and was looking at using the Antmicro RPi cluster stuff.
|
We are using dbhi/qus in hdl/containers. That allows building for arm, arm64, ppc64 and s390x. The summary is:
We can provide a variant of the conda container, for foreign architectures. That's based on Debian Bullseye. Would that be useful in the CI of this repo?
|
That seems a good idea to me. I think it would be doable with travis as is, we would just need to add a I'm currently testing to see which packages can build as is and which cannot and what fixes would be needed, but so far it seems that many packages would need some fix to allow for aarch64 build. I'll add an issue to track the progress on that front soon, and I think the question of CI will be answered by then. We could keep this PR as draft until then if you want? |
Travis is sadly no longer usable for open source projects (and has had lots off issues) but we can use GitHub Actions using both the GitHub free provided runners and the Google provided "self hosted runners" on Google Cloud Platform;
|
I see. That seems like a big undertaking and i don't think i'm familiar enough with the project to be able to take it on, at least for now. I'll keep working on aarch64 support until then. |
@umarcor I believe hdlc's images are also all built for amd64, correct? See:
Building it locally also produces a x86_64 image, because I believe that the base image is also only published for x86_64. Looking at the
I'm confused how that would work with But it seems that the base image is specifically set to If hdlc/container is a better place to start my effort, I'd be happy to do it over there, especially if we want to end up using their container for GA over here. |
It depends on what you mean with "all". There are several images built for multiple architectures. However, all the conda|symbiflow images are currently built for amd64 only.
When building it locally, there is an argument to override the architecture. However, as you found out, it needs tweaking the dockerfile/script as well.
The dockerfile/script needs to me modified in order to use a different URL depending on the architecture.
That's an argument, which can be overriden through the
I created this feature branch as an starting point: https://github.com/hdl/containers/commits/conda-multiarch. So, we need to handle how to tweak the URL depending on the base/architecture (note that the names used by docker don't match the ones used by conda). Do you want to tackle it? |
As commented in hdl/containers#54 (comment), Conda containers for "foreign" architectures are available now. Hence, they can be used in CI along with dbhi/qus to build Conda for arm64, ppc64 or s390x. However, this repository seems to be unmaintained since 2020. I'd say that the current upstream are the repos in org 'hdl'. It would be sensible to continue in hdl/conda-eda. |
Anything new about this? F4PGA still not working in Ubuntu 22.04 VM on a M2 Pro machine. |
Fiy as a temporary way to do that, you can use Rosetta in UTM to run x86 stuff: https://docs.getutm.app/advanced/rosetta/
|
Hi,
This PR brings what's needed in this repository to start to have some support for a potential aarch64 build for symbiflow.
This does not mean that symbiflow now supports aarch64, far from it, but since symbiflow is all of these hardwired gits, better to start somewhere.
Here we just add some switch case testing for which arch we are running on and fills the ressources name for it.
Of course, remarks welcome!
Alexis Marquet