İçeriğe atla

AVX2

Mimari referansıFeex

AVX2, x86 vektör işlemeyi 256 bit tam sayı işlemleri ve ek veri hareketi komutlarıyla genişletir. Uyumlu bir CPU, etkinleştirilmiş AVX durumu ve fiilen bir AVX2 kod yolunu seçen yazılım bir arada gereklidir.

Bilmeniz gerekenler

AVX2, x86 vektör işlemeyi 256 bit tam sayı işlemleri ve ek veri hareketi komutlarıyla genişletir. Uyumlu bir CPU, etkinleştirilmiş AVX durumu ve fiilen bir AVX2 kod yolunu seçen yazılım bir arada gereklidir.

Nasıl çalışır

AVX2, birçok paketlenmiş tam sayı işlemini 256 bit YMM yazmaçlarına taşır ve tam sayı toplama (gather), değişken kaydırmalar ve daha geniş permütasyonlar gibi yetenekler ekler. 256 bitlik bir tam sayı vektörü 32 bayt, 16 sözcük, 8 çift sözcük veya 4 dörtlü sözcük (quadword) içerebilir; yolun nasıl yorumlanacağını komut belirler. Bazı işlemler 128 bitlik yarılar içinde bağımsız hareket eder, bu nedenle geniş bir yazmaç her yol arasında kısıtlamasız hareket anlamına gelmez.

Nerede yararlıdır

Bir görüntü işleme kütüphanesi bir vektörde 32 bayt bileşenini işlerken, bir veritabanı çekirdeği 8 adet 32 bit tam sayıyı karşılaştırabilir. Bu durum veri kapasitesini gösterir, vaat edilen bir hızlanmayı değil. Toplama işlemleri (gathers) yine de bellek yerelliğine bağlıdır ve bir döngü aritmetik genişlikten ziyade önbellek ıskalamaları, dallanmalar veya veri dönüşümü ile sınırlı kalabilir.

Destek ve etkinleştirme durumu nasıl kontrol edilir

Önce AVX donanım ve OSXSAVE/XCR0 kontrollerini gerçekleştirin. Ardından CPUID'nin yaprak 7'yi desteklediğini doğrulayın ve CPUID.07H.00H:EBX 5. bitini kontrol edin. Fiili konuk veya konteyner dağıtım ortamı içinde test edin ve varsa uygulamanın desteklenen tanılama arayüzünü kullanın.

Program hem uygun bir uygulama içermeli hem de bunu çalışma zamanında seçmelidir. Donanım numaralandırması, işletim sistemi tarafından etkinleştirilen yazmaç durumu ve ikili dosyanın derlenmiş temeli ayrı kontrollerdir. Bir sanal makine kasıtlı olarak ana bilgisayarından daha az özellik sunabilir ve bir kapsayıcı ana bilgisayar CPU'suna komut eklemez.

Özelliğin sağlamadığı durumlar

AVX2, otomatik bir mimari sonuç olarak FMA'yı içermez. Ayrıca tek başına AVX-512'yi, yapay zeka hızlandırma donanımını veya x86-64-v3 uygunluğunu da sağlamaz. Genel olarak AVX2 için derlenmiş bir yapı, başlatma kodu desteklenmeyen komutları zaten içeriyorsa, bir geri dönüş dağıtıcısı (fallback dispatcher) çalışmadan önce başarısız olabilir.

Uygulamada uyumluluk ve performans

İş yükünün tamamını temsili verilerle ölçün. Daha geniş vektörler, bellek trafiğini, eşitlemeyi veya dönüştürme maliyetlerini değiştirmeden komut sayısını azaltabilir. Komut gecikme süresi, işleme hızı ve güç davranışı tam mikro mimariye ve çalışma koşullarına bağlıdır.

Pratik bir doğrulama kontrol listesi

  1. İlgili tam işlemci veya platform modelini ve uygulama, işletim sistemi ve çalışma zamanı sürümlerini kaydedin. Gerçek hatanın veya gereksinimin metnini koruyun.
  2. Bu tam model için üretici referansını kontrol edin, ardından programın çalıştığı ortamda geçerli yeteneği ve etkinleştirilmiş durumu inceleyin.
  3. Seçilen ikili dosyanın veya arka ucun her gereksinimini karşılaştırın. Benzer şekilde adlandırılmış bir özellik, diğer ad veya genel teknoloji etiketi yeterli değildir.
  4. Uygulamanın hedeflenen uygulamayı seçtiğini onaylayın. Gereksinimler karşılanmadığında belgelenmiş tanılamalarını ve desteklenen bir geri dönüşü kullanın.
  5. Her seferinde desteklenen bir değişiklik yapın ve aynı iş yükünü tekrarlayın. Orijinal yapılandırmayı ve kurtarma yolunu kullanılabilir durumda tutun.

Özellik listeleniyor ancak yazılım kullanamıyorsa

Hata veren tam bileşenle başlayın. Bir donanım veritabanı kayıtlı yeteneği açıklar; işletim sistemi veya hipervizör farklı bir geçerli ortam sunabilir. Geçersiz komut hatası, gerçek hatalı komutun ve ikili yapının da incelenmesini gerektirir, çünkü bozulma veya ilgisiz, desteklenmeyen bir komut benzer bir belirti üretebilir.

Tam platform için desteklenen uygulama, sürücü veya çalışma zamanı sürümünü yükleyin ve gerekirse satıcının belgelenmiş temel veya geri dönüş derlemesini kullanın. Bir yazılım güncellemesi, işlemcide eksik olan bir komutu oluşturamaz. Bellenim ve güvenlik politikası değişiklikleri, genel bir optimizasyon tarifi yerine sistem üreticisinin prosedürünü ve bir kurtarma planını izlemelidir.

Bu açıklamanın kaynakları ve kapsamı

Intel 64 ve IA-32 Mimarileri Yazılım Geliştirici Kılavuzu · Linux çekirdeği: kullanıcı alanında XSTATE özelliklerini kullanma · x86-64 psABI: işlemci mimarisi ve mikro mimari seviyeleri

Bu referanslar mimari davranışı ve yazılım gereksinimlerini belirler. Bağlantılı bir donanım modeli sayfasındaki her özellik değerini bağımsız olarak doğrulamazlar. Model desteği için ilgili sayfanın üretici kanıtlarını kullanın ve geçerli sistem yapılandırmasını kontrol edin. Bu makale bir kıyaslama, sertifikasyon veya bağımsız inceleme tarihi sağlamaz.

Kaynaklar ve doğrulama

Editoryal mülkiyet: Feex. Bağımsız bir inceleme tarihi kaydedilmemiştir. Nasıl araştırıyoruz.

Bu makale yararlı oldu mu?

Evet veya hayır yeterlidir. İsterseniz bir neden seçin veya kısa bir not ekleyin.

Bu makale yararlı oldu mu?