4 ms·
No, I don't think it is impossible for MacOS. I might be missing a detail here, not sure. I have to think it over. I have seen [1] you can patch ANECompilerSer
by morphle 2y ago
No, I don't think it is impossible for MacOS. I might be missing a detail here, not sure. I have to think it over.
I have seen [1] you can patch ANECompilerService, so you can even speed up existing code, because Apple compiles your code just in time (at runtime) on each machine. We could do that for MacOS libc too.
[1] Some how-to hints in https://discussions.apple.com/thread/254758525?sortBy=rank https://discussions.apple.com/thread/254758525?sortBy=rank
- MuffinFlavored 2y agoHow do you issue/execute "GPU" machine code instructions from MacOS not through Metal?
- morphle 2y agoYou (or your compiler) write the instructions and data into unified memory (up to 192 GB) and jump to the first instruction (usually of a loop) on each core. GPU and ANE processor cores are not fundamentally different from CPU cores, they just have fewer transistors (gates) and therefore more limitations in what a register can address, what data type or what instruction it can execute. Some cores can only execute the same instruction as there neighbor core in a team, but on different data. Or at a different time, synchronized with neighbors. But they still are Turing complete processors so in essence are the same as their cousins the CPU cores. Sometimes cores input or output addresses are in a pipeline between cores (so it limits its address offset). MacOS only plays a role in allocating and protecting the instruction or data memory regions for the GPU and ANE processors.
- MuffinFlavored 2y agoI would like to discuss this more, shot you an email at the one listed here.