TLDR: will people get angry if the judging servers for a contest use ARM64?
I'm setting up the hosting infrastructure for the Bay Area Programming Contest using DOMjudge, and as part of this setup I need to choose what machines the judgehosts will run on. I've decided to use AWS EC2 for hosting since I've already tested setting up DOMjudge as a dry run on there.
Of the machine families that EC2 provides, I've chosen to go with the burstable (T) instances, run in unlimited mode. (Also, if anyone has experience with using these for programming contests, I'd love to hear how it went for you. I read through some AWS docs and it seems that the compute performance should be stable if run in unlimited mode, but I haven't done any hands-on testing yet.) I'm currently picking between the T3 and T4g instances. T3 runs x86_64 and T4g runs ARM64.
I would like to use T4g because it's cheaper, but I'm concerned that some common hacks (e.g. the avx2 pragma) only work on x86_64 and that people will be angry about that. I tried doing some research into what architectures are commonly used in CP judges and I could only find Codeforces, which apparently uses Intel Skylake, and IOI, which uses Intel Core i5. Also, USACO Training mentions in section 1-2 that "programs are run on a modern processor but times are scaled to a 700 MHz Pentium III". All of these use x86, AFAIK. So ultimately I have two questions:
- From a technical perspective: What common hacks that competitive programmers use won't work on ARM64?
- From an organizing perspective: As a contest organizer, is it my responsibility to make sure these features are available? Or are participants responsible for understanding the pragmas and other lines of code that are often blindly copy-pasted?