4 ms·
There seems to have been a rain of ARM permutations lately most of them proprietary? Apple as their M1 and M2 (coming). MS has their Sq1, Sq2 Tesla has the
by ThinkBeat 5y ago
There seems to have been a rain of
ARM permutations lately most of them
proprietary?
Apple as their M1 and M2 (coming).
MS has their Sq1, Sq2
Tesla has the FSD Chip
AWS Graviton, Nvidia
Snapdragon, Broadcom
I am sure there are many more.
I know Apple has not publicly documented their chips.
I dont know for sure about the others.
Will all of this make building compilers magnitudes more complex?
If you have a codebase and you want it to optimize for M2,
with all of its goodies like the GPUs and neural whatnot,
then I need the same codebase to run as fast as possible on
the Graviton cpus that sounds difficult?
Maybe there is a subset of Opcodes shared across all or most
of them but is that reasonable to limit compilers to them?
I am sure I am just confused but it seems to me to be a bit
of a mess.
Can GCC be able to keep up?
- seabrookmx 5y agoThat subset of opcodes is the ARM instruction set. So yes GCC will have no problem. Even the SIMD extensions are under ARM's purview. The neural processors, GPU's, TPU's etc. aren't part of the CPU anyways (they're part of the SoC). This fragmentation has some downsides but having a good compiler isn't one of them. It's more likely all the different ways these SoC's handle booting, connecting to peripherals, etc. This will create a huge burden on something like the Linux kernel if it attempts to support them all (for evidence, check out the recent work on Linux M1 support.. fascinating stuff).
- codemac 5y agoARM itself is proprietary, including the ISA and several micro-architectures that implement the ISA. I don't think it's shocking that folks who licensed a proprietary ISA, and then paid a stiff license fee to implement their own microarch off of a proprietary reference microarch, would keep their chips proprietary. risc-v is the only hope in this arena, and luckily David Patterson is generally signal enough that something might be a good idea.
- sneak 5y agoIs it possible to actually have a proprietary instruction set? Can't I design a new uarch that implements the ISA and is compatible like Cyrix and AMD did back in the day?
- deleted 5y ago[deleted]
- coryrc 5y agoPatents on all the efficient ways to implement said ISAs?
- wmf 5y agoExactly. In the past ARM has been excessively paranoid about cloning, to the extent of even threatening students.
- buu700 5y agoGoogle v. Oracle seems to suggest that you could do that, potentially? (IANAL.) On the other hand, the fact that Arm doesn't produce chips might be an important factor, if there's an argument that the Java API is incidental to Java IP but the ARM ISA is the substance of the IP. I think this would also depend on the extent to which the ARM ISA specifically is protected by Arm's patents, since Google v. Oracle was strictly related to copyright. It might be the case that what you're suggesting is plainly illegal, or I could see it being a kind of grey area where it's fine per se, so long as no one actually puts it into practice without purchasing a patent license from Arm.
- sneak 5y agoWhat IP covers the ISA? Is the ISA itself patented, or just the implementation? Or do they claim copyright over it?
- klelatti 5y agoSuspect that ISA can’t be patented but efficient implementation of aspects of it are. (IANAL again) However the cost of implementing the Arm ISA in a clean room is probably more than the licensing cost from Arm - they are spreading their costs over lots of customers and you are not - so why would you do it?