5 ms·
> Building Docker containers for ARM devices is a pain in the ass. It's not so bad, you just need a beefy ARM machine to build the containers in CI. It would b
by 0x8BADF00D 6y ago
> Building Docker containers for ARM devices is a pain in the ass.
It's not so bad, you just need a beefy ARM machine to build the containers in CI. It would be silly to build a Docker container on the Jetson itself. You would never use an embedded device for compiles and builds, why would you build Docker containers on one?
- linarism 6y agoGenuinely curious, what is an example of a beefy ARM machine?
- pram 6y agoAnything with a ThunderX processor is maximum beefy. You can get on-demand servers like that from places like Packet. AWS also has their own A1 instances with lower core counts. These would all be good for cross compiling/builds. Comedy answer: iPad Pro
- p1necone 6y ago> Comedy answer: iPad Pro I mean, the iPad Pro does have a relatively beefy processor. If only you could run arbitrary code on it.
- BillinghamJ 6y agoA lot of instruction sets aren't there yet, but https://ish.app https://ish.app is doing a truly incredible job in this regard. Gives you a working Alpine Linux installation which you can download and install packages for normally, all within the bounds of the normal Apple sandbox, with decent enough performance. It doesn't have SSE or MMX yet, so eg Go and Node aren't usable at this point. But a shocking amount actually does work perfectly, so it's only a matter of time as more instruction sets are implemented.
- p1necone 6y agoIt's pretty atrocious that you have to run an x86 emulator to use your iPad "pro" for this stuff. This project is super cool though.
- p1necone 6y agoActually wouldn't a userspace ARM "emulator" be faster than an x86 one on an ARM device? Or are you so far removed from running actual CPU instructions that it doesn't matter?
- qubex 6y agoI suggest you also check out UTM (Universal Turing Machine), an emulator for the iPad that you can build and that allows you to emulate many different architectures and tun OSes written for them (including ARM). https://getutm.app https://getutm.app
- BillinghamJ 6y agoActually looks like MMX was just released, so Go is now running. It can't build yet though.
- panny 6y agoAmazon Graviton2 instances are faster (and cheaper) than x86_64 machines in the same class. https://blog.treasuredata.com/blog/2020/03/27/high-performance-sql-aws-graviton2-benchmarks-with-presto-and-arm-treasure-data-cdp/ https://blog.treasuredata.com/blog/2020/03/27/high-performan...
- king_magic 6y agoSpinning up an ARM machine to build a container that needs to be shipped over the network to a Jetson is a pain when developing.
- 0x8BADF00D 6y agoWelcome to embedded computing :-)
- king_magic 6y agoI get it, but I also simply don’t want to deal with it at an embedded level. Which is why I vote with my wallet and choose x64 hardware with Quadro GPUs to ship for production. More expensive, more power consuming? Sure. More sanity? Massively better dev experience? Massively better production/ops experience? Absolutely.
- threeseed 6y agoYou could spin up an AWS ARM instance in about 30s. Or just have Jenkins etc trigger the launch of one when your build job needs it.
- structural 6y agoYou don't even need to do this: qemu support for executing arm64 binaries is fairly good, so you can just run the builds on your beefy x86 server anyways.
- fulafel 6y agoWhat's the single thread performance difference of a fast x86 cpu running emulated ARM code vs a fast ARM server or an AWS ARM instance?
- fluffything 6y agoIt's quite fast if you use qemu-user.
- fulafel 6y agoqemu-user just gets you native speed sustem calls right? That's normally <10% of execution time so it can't be a very big help.
- ericvh 6y agoYou don't even need the Arm machine for CI, with docker multi-arch builds you can build on x86 -- https://community.arm.com/developer/research/b/articles/posts/continuous-cross-architecture-integration-with-gitlab https://community.arm.com/developer/research/b/articles/post...