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 linux-arm64 support #243

Merged
merged 1 commit into from
Jan 10, 2022
Merged

(ci) Add linux-arm64 support #243

merged 1 commit into from
Jan 10, 2022

Conversation

perlun
Copy link
Collaborator

@perlun perlun commented Jan 10, 2022

Similar to #242, this adds support for linux-arm64

Closes #241

@perlun perlun added the enhancement New feature or request label Jan 10, 2022
@perlun perlun added this to the 0.1.0 milestone Jan 10, 2022
@perlun
Copy link
Collaborator Author

perlun commented Jan 10, 2022

Tested in qemu; the generated .tar.gz from this PR is installable and seems to start fine (albeit be incredibly slow, because of the full system emulation involved when simulating an arm64 on top of amd64/x64 hardware). Merging now, it'll be interesting to see how this performs on real/Raspberry Pi 4 hardware.

@perlun perlun enabled auto-merge (squash) January 10, 2022 20:14
@perlun perlun merged commit 002448e into master Jan 10, 2022
@perlun perlun deleted the feature/add-arm64-support branch January 10, 2022 20:15
@slovdahl
Copy link

slovdahl commented Jan 11, 2022

Raspberry Pi 4 Model B Rev 1.1:

$ cat /proc/cpuinfo
...

Hardware	: BCM2835
Revision	: c03111
Serial		: 10000000793f612b
Model		: Raspberry Pi 4 Model B Rev 1.1

$ uname -a
Linux rpi4 5.4.0-1046-raspi #50-Ubuntu SMP PREEMPT Thu Oct 28 05:32:10 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.3 LTS
Release:	20.04
Codename:	focal
$ ./perlang -V
Perlang 0.1.0-dev.193 (built from git commit 002448e) on .NET 6.0.1

  Number of detected (v)CPUs: 4
  Running in 64-bit mode: True
  Operating system info: Unix 5.4.0.1046
$ time ./perlang -v
0.1.0-dev.193

real	0m0.289s
user	0m0.223s
sys	0m0.052s
$ time python3 -V
Python 3.8.10

real	0m0.010s
user	0m0.001s
sys	0m0.009s

No Python 2.7 installed on this one.

Not that it should have much or any impact at all (because of the memory disk cache), but this one runs the OS and everything from a USB 3-attached SSD disk.

@perlun
Copy link
Collaborator Author

perlun commented Jan 11, 2022

Thanks! 👍 For reference, here are also some timings from an Oracle ARM/Ampere-based cloud instance (running in eu-frankfurt-1, availability domain AD-2).

ubuntu@instance-20220111-2050:~$ cat /proc/cpuinfo 
processor	: 0
BogoMIPS	: 50.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x3
CPU part	: 0xd0c
CPU revision	: 1

ubuntu@instance-20220111-2050:~$ uname -a
Linux instance-20220111-2050 5.11.0-1022-oracle #23~20.04.1-Ubuntu SMP Fri Nov 12 15:45:47 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux

ubuntu@instance-20220111-2050:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.3 LTS
Release:	20.04
Codename:	focal
ubuntu@instance-20220111-2050:~$ $HOME/.perlang/nightly/bin/perlang -V
Perlang 0.1.0-dev.193 (built from git commit 002448e) on .NET 6.0.1

  Number of detected (v)CPUs: 1
  Running in 64-bit mode: True
  Operating system info: Unix 5.11.0.1022
ubuntu@instance-20220111-2050:~$ time $HOME/.perlang/nightly/bin/perlang -v
0.1.0-dev.193

real	0m0.081s
user	0m0.079s
sys	0m0.000s
ubuntu@instance-20220111-2050:~$ time python3 -V
Python 3.8.10

real	0m0.001s
user	0m0.000s
sys	0m0.001s

Similarly as on your Ubuntu 20.04 system, no Python 2 was available. But man, these Ampere-powered machines are pretty fast!!! 😎

@perlun perlun added the platform support Support for new operating systems and/or architectures label Feb 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request platform support Support for new operating systems and/or architectures
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support linux-arm and linux-arm64
2 participants