Názor k článku
Na procesorech Intel Alder Lake lze provozovat AVX-512 od Adam Kalisz - Plná obecnost zde není potřeba. Máme několik málo...

  • Článek je starý, nové názory již nelze přidávat.
  • 10. 11. 2021 12:00

    Adam Kalisz
    Stříbrný podporovatel

    Plná obecnost zde není potřeba. Máme několik málo množin podporovaných instrukcí na konkrétním procesoru podle toho kolik architektur/ rozšíření podporuje. Máme kód, ve kterém určité basic bloky https://en.wikipedia.org/wiki/Basic_block obsahují určitou množinu instrukcí. To lze porovnat a umím si představit, že by to mohl akcelerovat hardware a scheduleru poskytnout nějaké info/ vyhodit něco jako výjimku/ přerušení nebo co já vím. Je to vlastně dost jednoduchý lookup a natáhnout si dostatek instrukcí dopředu už procesor stejně dělá kvůli spekulacím. Taky by možná bylo možné kompilátorem do kódu přidat nějaké hinty, co kde spouštět, což by využil scheduler.

    Čistě technicky vlastně není nepředstavitelné, že by nemohl mít jeden procesor i jádra více architektur. Tak by se holt muselo pár věcí v kompilátoru a jádru operačního systému poštelovat/ dodat podpora. Do jisté míry už něco takového děláme se síťovkami, GPU atd. když jim říkáme "tady máš kus paměti" dělej si s tím co potřebuješ a řekni mi až ty změny budou relevantní. Operační systém by se tak zase přiblížit realitě hardwaru a prostě by si musel výrobce zkontrolovat, že jeho soubor zařízení/ mix architektur je podporovaný.

    Dokud se nedokáže, že to nejde, tak bychom se měli přiklánět k tomu, že to nějak inženýrsky dostatečně dobře řešit jde. Ještě lepší otázka je, jestli to je výhodné řešit a nebo třeba mít nějaký seznam programů, které prostě i na menších jádrech poběží, což můžou být prakticky všechny systémové procesy a jinak vše spouštět na velkých jádrech - tedy typicky neznámé aplikace. Nakonec, operační systém tu je hlavně proto, aby to měly aplikace jednodušší. Počítač si kupujeme aby nám řešil problémy a ne abychom tam měli Windows nebo Linux, to nám jen umožňuje řešit nějaké množiny problémů lépe/ pohodlněji/ vůbec.