Earlier quoted context omitted.
Yes. Not as much as the average CPU but still documented: https://developer.nvidia.com/blog/nvidia-ampere-architecture...
Where is the native-to-hardware ISA?
They do not ship an assembler though.
181–190 of 202 posts
Earlier quoted context omitted.
Yes. Not as much as the average CPU but still documented: https://developer.nvidia.com/blog/nvidia-ampere-architecture...
Where is the native-to-hardware ISA?
They do not ship an assembler though.
Earlier quoted context omitted.
Say hello to Function Multi-versioning [0]. You tell the compiler to build a version for each march defined in the attribute. When that function is called a quick CPU check (via CPUID) is performed and if there's a version specific to the current CPU that will run instead of the more general implementation. ICC has supported this for a long time and it's widely used in Intel's MKL. LLVM also supports FMV but uses a s…
Note that on ARM it is more annoying to get CPU capabilities as there is no straight cpuid equivalent.
I see undocumented instruction extensions as a special case of private API: it buys Apple the freedom to change the underlying implementation in the future. As long as done in a manner that is not anticompetitive, I don't see the problem.
Earlier quoted context omitted.
>These are primarily focused on machine learning training where you do backpropagation through huge matrix operations How is this different from normal matrix operations?
Scale, and only scale. As with most extensions, there's negative value if you're doing a small number of calcs, but it pays off in larger needs like ML training. We've been calculating matrixes for time eternal, but AMX has just recently become a thing. Intel just introduced their own AMX instructions.
Earlier quoted context omitted.
Scale, and only scale. As with most extensions, there's negative value if you're doing a small number of calcs, but it pays off in larger needs like ML training. We've been calculating matrixes for time eternal, but AMX has just recently become a thing. Intel just introduced their own AMX instructions.
I don't know, if you want to perform DL inference on 4k/8k video real-time you're gonna need some heavy duty matrix multiplication resources. GPU is great for batched inferences but for quick no-pcie-transfer, small-to-no-batching inferences you want something close to the CPU...
After four different CPU ISA's (68000, powerpc, x86, ARM) an Apple ISA is next.
Meaning they can do anything they want on an ARM base, they're already not beholden to any third-party designer or roadmap, which is what hampered them with both PPC and x86 (I'm not old enough to remember the 68k and really know why they moved off of it).
The only reason they'd have to move away from ARM is if the ISA ends up preventing them from doing something, somehow.
Earlier quoted context omitted.
I don't know, if you want to perform DL inference on 4k/8k video real-time you're gonna need some heavy duty matrix multiplication resources. GPU is great for batched inferences but for quick no-pcie-transfer, small-to-no-batching inferences you want something close to the CPU...
Then it's good that the A13/A14/M1 have a neural inference engine, the latter featuring 11 trillion operations per second, using shared memory with the CPU.
I don't see the need for an effort such as a matmul-dedicated instruction-set elsewhere? What's your guess?
Earlier quoted context omitted.
Oracle reproprietized all of Solaris, including the outside contributions up to that point. And I assume that Apple has support for these instructions this whole thread is about in their toolchains, so if that's the same version that's in xcode, reproprietization is already happening. Leaving reproprietization on the table is the whole point of non-copyleft open source.
Solaris was released under a copyleft license (CDDL). How did they do that. When I google it I find your comment as the first result.
I hate Apple for that. They very often use non-standard tech and we'll end up with Apple proprietary processors instead of the standard stuff x64/ARM64.
Competitors can't compete with them even with standard stuff. Good for them to move forward. It's funny how innovation becomes a "bad" thing when a company you don't like innovates "too much".
This is wrong and detrimental to the whole industry, including users.
Apple would have created a shitty internet if they were in charge at the time.
To be honest, Microsoft did pretty nasty things during their era, but I think that Apple would have been so much worse.