3 ms·
Anyone else slightly annoyed that the CPUID had to be made the same for both P & E cores, just to accommodate DRM? Making it harder for all software to properl
by tux1968 4y ago
Anyone else slightly annoyed that the CPUID had to be made the same for both P & E cores, just to accommodate DRM? Making it harder for all software to properly utilize the technology effectively.
- grishka 4y agoI feel like it's a fundamentally bad idea to give P and E cores disparate instructions sets. Apple did it right on the M1 — the cores have different designs, but the E cores support all the instructions the P cores do.
- colejohnson66 4y agoIt’s not just DRM; It’s about being homogeneous. If a process is on an E core and checks CPUID to see that AVX-512 isn’t available, it won’t execute those instructions even if AVX-512 was supported on a P core. As Agner said: > It is completely unrealistic that an application program can handle this situation in a reasonable manner and optimally allocate different threads to the different cores. A suggestion I saw here a lot was “pretend to support it, but detect attempts to use the instructions and pin the task to the P cores.” This would have issues with libraries like libc that would attempt to vectorize themselves and end up forcing an E core appropriate process onto a P core.