Intel APX: Yeni AVX10 x86 yönerge seti uzantısıyla daha verimli ve daha hızlı

Adanali

Member
Intel’in yeni Gelişmiş Performans Uzantıları (APX) da son müşteriler için uygun hale gelmelidir, çünkü gelecekteki işlemciler ayrıca mevcut yazılımlarla daha hızlı ve enerji açısından daha verimli çalışabilir. Intel’e göre, zaten AVX kullanan mevcut programları yeniden derlemek yeterli olacaktır. Python veya Ruby gibi dinamik dillerdeki programlar, ilgili çalışma zamanı ortamı yükseltmesinden zaten yararlanır. Intel şu anda uygun donanımı kullanıma sunmak için bir zaman belirtmiyor.

Duyuru



En büyük değişikliklerden biri, Genel Amaçlı Kayıt Defterinin ikiye katlanmasıdır. APX destekli işlemcilerde bu mimari yazmaçların sayısını 16’dan 32’ye ikiye katlayarak, örneğin aritmetik birim, yazmaç belleklerinde daha fazla içerik tutabilir. Intel’in simülasyonları bir prototip üzerinde doğruysa, enerji yoğun yükleme ve tasarruf işlemlerinin geleneksel Intel 64 program koduna kıyasla sırasıyla yüzde 10 ve yüzde 20 azaldığı söyleniyor.

REX2 derleyici ön eki ile, geleneksel tamsayı komutları için yeni kayıtlara erişim de mümkün hale gelirken, kayan nokta ve AVX komutları bunlara EVEX ön ekindeki yeni bitler aracılığıyla erişir. EVEX öneki artık tamsayı komutlarının belirli bir hedef yazmaca yazılmasına da izin veriyor; Bu 3 işlenenli yönergeler, kayıt içeriğini taşımak için MOV yönergelerine olan ihtiyacı ortadan kaldırır, bu nedenle Intel burada da %10’luk bir tasarrufun mümkün olduğunu iddia eder. Aynı zamanda, program kodunun mutlaka şişirilmesi gerekmeyecek şekilde komutlar birleştirilebilir.

Birkaç hafta önce Intel, x86-S veya x86S ile x86 işlemcileri için, balasttan kurtulması ve eski geleneklerden kurtulması gereken bir revizyon teklifi sunmuştu.







Xeon Ölçeklendirilebilir 4. nesil: İki AVX512 sürücü, P Çekirdeklerinin her birinde değerli yer kaplar.


(Resim: c’t/Carsten Spille)



Koşullu kod: MOV it


APX aynı zamanda Pentium Pro ile tanıtılan koşullu komutlarda da büyük değişiklikler görüyor.Koşullu komut seti, çok dallanmış ve tahmin edilmesi zor program kodunda bile potansiyelden yararlanmak için yeni CMOV-SET komutlarıyla genişletildi. Sıra dışı yürütmeye sahip modern işlemcilerde, bu tür program kodu büyük ölçüde dal tahmininin doğruluğuna bağlıdır: eğer yanlışsa ve geçersiz bir dal yürütüldüyse, birçok hesaplama ve enerji açısından pahalı veri hareketleri işe yaramaz. Koşullu ifadeler şimdiye kadar, pahalı kontrol akışı bağımlılıklarını (program dalları) veri bağımlılıklarına dönüştüren ve modern derleyicilerin sıklıkla kullandığı if dönüşümlerinde çok fazla fayda sağlayamayacak kadar katıydı.

Duyuru

APX, maliyetli dallanma hatalarını azaltmak için dönüştürmeleri daha büyük kod bölümlerine uygulamanıza izin veren koşullu yükleme, saklama ve karşılaştırma/test deyimleri sürümleri sağlar. Bu işlevler, yalnızca yeniden derleyerek APX uyumlu işlemcilerle de kullanılabilir olmalıdır. Koşullu hata bastırma yükleri/depoları, ARM64’ün Ölçeklenebilir Vektör Uzantılarına (SVE) dahil edildiklerinden beri x86 vektör sürücüleri için uzun süredir geliştirici gereksinimi olmuştur.

Duyurusunu bitiren Intel, değişken komut uzunluklarının x86 esnekliğine işaret ederek ARM’yi incelemeden edemiyor;







Intel AVX10 – AVX-512’nin Süper Kümesi


(Resim: Intel)



Sunucu ve istemci için birleşik AVX10


Intel ayrıca AVX x86 komut seti uzantısının büyük ölçüde elden geçirildiğini duyurdu. Geliştiriciler, özellikle sunucu CPU’ları için AVX-512 ile artan kontrolsüz büyümeden giderek daha fazla şikayet ediyorlardı. Yeni nesil Granite Rapids sunucu işlemcileri ile yalnızca Intel işlemciler için 20’den fazla farklı AVX-512 çeşidi vardır ve geliştiricilerin yazılımlarını bir veya daha fazla kod yolu için işaretlemesi ve optimize etmesi gerekir. Bu, AVX-512’nin özel HPC yazılımı dışında zayıf dağıtımının bir nedenidir ve dolayısıyla alan ve güç tüketimi açısından pahalı olan donanım uygulamasını ucuz Core i-12000/13000/14000 çekirdeklerinden çıkarmak için bir nedendir. Bu da söz konusu işlemcilerin P çekirdeklerinde bulunan donanımın sadece AVX256 birimi olarak kullanılmasına yol açtı. Tüm taraflar için tatmin edici olmayan bir durum.

Kod adı Granite Rapids olan “Xeon Ölçeklenebilir 5. nesil” sunucu işlemcilerinden başlayarak, Intel artık ortak bir AVX için koşullar yaratmak istiyor ve buna AVX10 adını veriyor. Granite Rapids, daha doğrusu performans çekirdekleri, gelecek Intel işlemciler P ve E çekirdeklerinde AVX10.2’yi desteklemeden önce AVX10.1’in yolunu açmayı amaçlıyor.







AVX10 başlatma planı


(Resim: Intel)



Bunun için Intel, mevcut AVX özellik setini bloke eder ve onu 128, 256 veya 512 bitlik isteğe bağlı vektör uzunluğuyla AVX10’un bir alt seti olarak tanımlar. AVX10 için bu nedenle ISA vektöründe tek bir bit, bir sürüm numarası ve belirli gelen işlemci için vektörün uzunluğunu gösteren üç bit vardır. Intel, AVX10.2’nin hangi nesil işlemciler tarafından geniş çapta destekleneceğini henüz söylemedi. Bununla birlikte, yer ve güçten tasarruf etmek için E çekirdeklerinin 512’den küçük vektörlere sahip olması muhtemeldir.

Intel, o zamanki birleştirilmiş özellikler dizisiyle yeni AVX sürümünün yayılmasını iyileştirmeyi ve böylece çiplerinde çok fazla gereksiz silikon tüketmemeyi umuyor. AMD’nin Ryzen 7000 ve Epyc 9004’teki Zen4 çekirdekleri, 256 bit vektör uzunluğunda birçok AVX-512 talimatını zaten destekliyor ve bu konuda Intel işlemcilerden bir adım önde.



c't Magazine'den daha fazlası



c't Magazine'den daha fazlası




(csp)



Haberin Sonu
 
Üst