İçeriğe atla

FMA ve FMA3

Mimari referansıFeex

Ayrıca FMA, FMA3 olarak da adlandırılır

FMA, kayan noktalı bir çarpma ve toplama işlemini tek bir nihai yuvarlama ile hesaplar. FMA3, üç işlenenli x86 kaynaştırılmış çarpma-toplama buyruk ailesini ifade eder; AVX2'den ayrı olarak listelenir.

Bilmeniz gerekenler

FMA, kayan noktalı bir çarpma ve toplama işlemini tek bir nihai yuvarlama ile hesaplar. FMA3, üç işlenenli x86 kaynaştırılmış çarpma-toplama buyruk ailesini ifade eder; AVX2'den ayrı olarak listelenir.

Nasıl çalışır

Kaynaştırılmış bir işlem, hedef biçime yuvarlamadan önce bir çarpımı ve toplamı tek bir aritmetik işlem olarak değerlendirir. Bu, önce çarpma yuvarlansaydı kaybolacak olan bir katkıyı koruyabilir. 132, 213 ve 231 buyruk biçimleri, hangi işlenenlerin çarpımı, toplananı ve üzerine yazılan hedefi sağlayacağını seçer. Skaler ve paketlenmiş biçimler farklı hat (lane) davranışlarına sahiptir.

Nerede yararlıdır

Polinom değerlendirmesi, matris çarpımı ve dijital filtreler aritmetik işlemleri birleştirmek için FMA kullanabilir. Kaynaştırılmış sonuç, kasıtlı olarak iki ayrı işlem kullanan bir programdan farklı olabilir. Bu nedenle, buyruk kullanılabilirliğinin yanı sıra derleyici daraltma (contraction) ayarları ve sayısal tekrarlanabilirlik gereksinimleri de önem taşır.

Destek ve etkinleştirme durumu nasıl kontrol edilir

VEX FMA3 buyrukları için, tam AVX işletim sistemi durumu denetimleriyle birlikte CPUID.01H:ECX 12. bitini kontrol edin. EVEX biçimleri kullanılıyorsa, bu biçimlerin gerektirdiği ek AVX-512 alt kümelerini ve durumunu kontrol edin. Yeniden derleme sonrasında sayısal sonuçlar değiştiğinde derleyici bayraklarını inceleyin.

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

FMA, her kayan nokta ifadesinin fazladan duyarlıkla değerlendirildiği anlamına gelmez ve derleyici ayarları genelinde özdeş sonuçları garanti etmez. FMA4 farklı bir buyruk ailesidir. Ne tek başına AVX ne de AVX2, FMA3 desteğini kanıtlar.

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

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?