Wracając do zeszłego roku, Intel dodał obsługę Granite Rapids do GCC 13 w ramach zwykłego wczesnego wprowadzania nowych rodzin produktów do GNU Compiler Collection. Ten początkowy cel Granite Rapids miał swoją premierę w wydanym od tego czasu GCC 13.1 obok Emerald Rapids i Sierra Forest. Na liście mailingowej deweloperów GCC pojawiła się dziś informacja o wstępnej obsłudze Intel Granite Rapids D.
Tekst pomocy Granite Rapids D z poprawką GCC zawiera informacje o obsługiwanych instrukcjach:
graniterapids-d
Procesor Intel graniterapids D z 64-bitowymi rozszerzeniami, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, RDRND, F16C , AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW, AES, CLFLUSHOPT, XSAVEC, XSAVES, SGX, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, PKU, AVX512VBMI, AVX512IFMA, S HA, AVX512VNNI , GFNI, VAES, AVX512VBMI2, VPCLMULQDQ, AVX512BITALG, RDPID, AVX512VPOPCNTDQ, PCONFIG, WBNOINVD, CLWB, MOVDIRI, MOVDIR64B, AVX512VP2INTERSECT, ENQCMD, CLDEMOTE, PTWRITE, WAITPKG, SERIALIZACJA, TSXLDTRK, UINTR, AMX-BF16, AMX-TILE, AMX-Obsługa zestawów instrukcji INT8, AVX-VNNI, AVX512FP16, AVX512BF16, AMX-FP16, PREFETCHI i AMX-COMPLEX.
Najbardziej zauważalną różnicą w stosunku do instrukcji Granite Rapids jest dodanie AMX-COMPLEX. Na początku tego roku Intel zaczął dodawać AMX-COMPLEX do GCC (i LLVM/Clang). Kiedy informacje o AMX-COMPLEX zostały dodane do podręcznika referencyjnego programistów Intela, zauważono, że można je znaleźć w Granite Rapids.
Okazuje się, że AMX-COMPLEX jest przeznaczony tylko dla Granite Rapids D, a nie dla wszystkich procesorów Granite Rapids. AMX-COMPLEX dodaje obsługę liczb zespolonych zmiennoprzecinkowych o połowicznej precyzji i inne aktualizacje rozszerzeń Advanced Matrix, które początkowo miały swoją premierę w Sapphire Rapids.
Aktualizacja dokumentacji firmy Intel z czerwca 2023 r. również potwierdza teraz, że tylko Granite Rapids D dodaje obsługę AMX-COMPLEX z instrukcjami AMX-COMPLEX TCMMIMFP16PS/TCMMRLFP16PS.
Ta łatka kompilatora Granite Rapids D w trakcie procesu usuwa również flagę AMX-COMPLEX z Granite Rapids. Zewei napisał w wiadomości o łatce: „Ponadto łatka usuwająca AMX-COMPLEX z Granite Rapids zostanie przeniesiona z powrotem do GCC13”. Będzie to więc poprawka, ponieważ w GCC 13.1 teraz, jeśli celujesz tylko w „graniterapidy”, kompilator myśli, że AMX-COMPLEX jest obsługiwany.
Obecność AMX-COMPLEX jest teraz również sposobem, w jaki GCC określa, czy procesor to Granite Rapids D, oprócz modelu 0xae.
To wsparcie-march=graniterapids-d powinno zostać wkrótce odebrane przez GCC Git w celu wydania GCC 14 na początku przyszłego roku, podczas gdy osoby zainteresowane poprawką włączającą mogą ją znaleźć na lista mailingowa.