Harika teknik inceleme: Xilinx cihazlarında INT8 kullanarak yerleşik görmenin geliştirilmesini optimize edin

WP490 (v1.0) 10 Mart 2017

Yazar: Yao Fu, Ephrem Wu, Varun Santhaseelan, Kristof Denolf, Kamran Khan ve Vinod Kathail

Xilinx INT8 optimizasyonu, derin öğrenme çıkarımını ve geleneksel bilgisayarla görme işlevlerini kullanan yerleşik görme uygulamaları için en mükemmel performansı ve enerji açısından verimli hesaplama yöntemini sağlar.

Diğer FPGA DSP mimarileriyle karşılaştırıldığında, Xilinx'in entegre DSP mimarisi, INT8 derin öğrenme işlemlerinde çözüm düzeyindeki performansın 1.75 katına ulaşabilir.

özet

Bu teknik incelemede, Xilinx DSP48E2 yongalarında uygulanan gömülü görüntü uygulamaları için INT8 işlemlerinin kullanımı, derin öğrenme çıkarımı ve bilgisayarla görme işlevleri ve bu çözümün diğer FPGA'larla nasıl karşılaştırıldığı anlatılmaktadır. Aynı miktarda kaynak kullanan diğer FPGA'larla karşılaştırıldığında, Xilinxin DSP mimarisi, INT8 çarpma-biriktirme (MACC) işlemlerinin en yüksek çözüm düzeyi performansının 1,75 katına ulaşabilir. Gömülü görüntü uygulamaları doğruluktan ödün vermeden daha düşük bit doğruluğu kullanabildiğinden, verimli bir INT8 uygulaması gereklidir.

Xilinx'in DSP mimarisi ve kitaplığı, INT8 işlemleri için özenle optimize edilmiştir. Bu teknik incelemede, aynı çekirdek ağırlığını paylaşırken iki paralel INT8 MACC işlemini işlemek için DSP48E2 Slice'ın Xilinx 16nm ve 20nm All Programmable cihazlarda nasıl kullanılacağı açıklanmaktadır. Bu teknik inceleme, Xilinx'in benzersiz teknolojisini kullanmak için minimum giriş bit genişliğinin neden 24 bit olduğunu da açıklamaktadır. Ek olarak, bu teknik incelemede DSP48E2 diliminin SIMD modunda temel aritmetik işlemler için nasıl kullanılacağı da ayrıntılarıyla anlatılmaktadır. Ayrıca derin öğrenme veya diğer bilgisayarla görme işleme görevleri alanında gömülü görme için bu işlevlerin nasıl kullanılacağına dair örnekler de sağlar.

Derin öğrenme ve bilgisayarla görme için INT8

Gömülü görme, gömülü bir platformda gerçek dünya amaçları için bilgisayarla görme algoritmalarının gerçekleştirilmesini ifade eden profesyonel bir terimdir. Bilgisayarla görme algoritmaları son yıllarda önemli ölçüde iyileştirilmiş olsa da, güç tüketimini azaltırken bu tür karmaşık ve hesaplama açısından yoğun algoritmaları gömülü platformlara aktarmak büyük bir zorluktur. Filtreleme ve köşe algılama gibi geleneksel bilgisayar görme algoritmaları veya derin öğrenme algoritmaları için, daha düşük güç tüketimiyle daha fazla işlem gerçekleştirmek sonsuz bir ihtiyaçtır.

Derin sinir ağları, birçok uygulamanın sürekli gelişimini teşvik etmek ve bunları yeniden tanımlamak için insan düzeyinde AI yeteneklerine güveniyor. Bu tür algoritmalar tarafından sağlanan ultra yüksek hassasiyet göz önüne alındığında, bu ağlar, gömülü cihazlardaki ana iş yüküdür. Daha doğru derin öğrenme modelleri geliştirildikçe, karmaşıklıkları da yüksek hesaplama yoğunluğu ve yüksek bellek bant genişliği açısından zorlukları beraberinde getiriyor. Enerji verimliliği gereksinimleri, yeni derin öğrenme çıkarım modellerinin geliştirilmesinde yeniliği yönlendiriyor. Bu modeller, düşük hesaplama yoğunluğu ve bellek bant genişliği gerektirir, ancak doğruluk ve verimden ödün vermemelidir. Bu ek yükün azaltılması, sonuçta enerji verimliliğini artıracak ve gerekli toplam güç tüketimini azaltacaktır.

Hesaplama işleminde güç tasarrufu sağlamanın yanı sıra, daha düşük bit genişliği hesaplamaları, bellek bant genişliği için gereken güç tüketimini de azaltabilir, çünkü aynı sayıda bellek işlemi olması koşuluyla aktarılan bit sayısı azalır.

Araştırmalar, aynı doğruluğu korumak için derin öğrenme çıkarımının kayan nokta hesaplamaları gerektirmediğini ve görüntü sınıflandırma gibi birçok uygulamanın kabul edilebilir çıkarım doğruluğunu sürdürmek için yalnızca INT8 veya daha düşük sabit nokta hesaplama doğruluğunu gerektirdiğini göstermiştir. Tablo 1, dinamik sabit nokta parametrelerini ve ince ayar ağının çıktısını, evrişimli katmanı ve tamamen bağlı katmanı listeler. Parantez içindeki sayılar, ince ayar yapılmadan doğruluğu temsil eder.

Tablo 1: Sabit nokta doğruluğuna sahip CNN modeli

Derin öğrenme için INT8 işlemlerinin optimizasyonu, çok sayıda geleneksel bilgisayarla görme işlevine de doğrudan uygulanabilir. Bu algoritmalar genellikle 8 bit ila 16 bit tam sayı ifadelerinde çalışır. OpenVX , her kanal için INT8 ifadelerinin kullanımını belirleyen yakın zamanda önerilen bir bilgisayar görme standardıdır. Çoğu bilgisayarla görme uygulaması bir dereceye kadar filtreleme gerektirir ve filtreleme, bir dizi iç ürün işlemine bölünebilir. Xilinx DSP48E2 dilimindeki SIMD işlem modu, görüntü algoritmasında yer alan işlemlerin gerçekleştirilmesi için ek seçenekler sağlar.

Xilinx DSP Slice üzerinde INT8 işlemi

UltraScale ve UltraScale + FPGA'daki Xilinx DSP48E2 Slice, Zynq UltraScale + MPSoC (Programmable Logic), bir çarpma ve toplama işlemini tamamlamak için tasarlanmıştır ve bir saat döngüsü içinde 18x27-bit çarpma ve 48-bit biriktirmeyi verimli bir şekilde gerçekleştirebilir Şekil 1'de gösterildiği gibi. Geri döngü kullanmanın veya birden çok DSP48E2 dilimini bağlamanın yanı sıra, çoklu biriktirme (MACC) de Xilinx cihazları kullanılarak verimli bir şekilde tamamlanabilir.

Şekil 1: MACC modunu kullanan DSP48E2 dilim

INT8 hesaplamasının kendisi 27 bitlik geniş bant genişliğinden faydalanabilir. Geleneksel uygulamalarda, ön toplayıcılar genellikle (A + B) xC tipi işlemleri verimli bir şekilde uygulamak için kullanılır, ancak bu tür işlemler derin öğrenme ve bilgisayarla görme uygulamalarında yaygın olarak kullanılmaz. (A + B) xC'nin sonucu, AxC ve BxC'ye ayrıştırılır ve ardından tipik derin öğrenme ve bilgisayarla görerek hesaplama gereksinimlerine uygun hale getirmek için ayrı bir veri akışında toplanır.

INT8 MACC işlemleri için 18x27 bitlik bir çarpana sahip olmak çok avantajlıdır. Çarpanın girişlerinden en az biri, bir DSP48E2 diliminde aynı anda iki INT8 MACC işlemi gerçekleştirmek için en az 24 bit olmalı ve taşıma toplayıcısı 32 bit genişliğinde olmalıdır. 27-bit giriş, 1.75 kat çözüm performansı iyileştirmesi elde etmek için 48-bit akümülatör ile birleştirilebilir (DSP çarpanının INT8 MACC'ye oranı 1.75: 1'dir). Diğer üreticiler tarafından sağlanan FPGA'lar, tek bir DSP modülünde yalnızca 18x19 çarpanlar sağlar ve DSP çarpanlarının INT8 MACC'ye oranı yalnızca 1: 1'dir.

Ölçeklenebilir INT8 optimizasyonu

Amaç, a, b ve c girişlerini verimli bir şekilde kodlamanın bir yolunu bulmaktır, böylece a, b ve c arasındaki çarpma sonucu kolayca bir x c ve b x c'ye ayrıştırılabilir. Ortak girdi c verildiğinde, bu yöntemin 2 ortak katsayı verisi olan tek bir talimat olduğu sonucuna varılabilir.

INT8 çarpımı gibi düşük kesinlikli hesaplamalarda, yüksek sıralı 10 bitlik veya 19 bitlik giriş 0 veya 1 ile doldurulur ve yalnızca 1 bit bilgi taşır. Son 45 bitlik ürünün üst 29 biti için durum aynıdır. Bu şekilde, yüksek sıralı 19 bit, düşük sıralı 8 bit ve 16 bit girişleri etkilemeden başka bir işlem için kullanılabilir.

Genel olarak, kullanılmayan yüksek bitleri başka bir hesaplamada kullanmak için iki kurala uymanız gerekir:

1. Yüksek konum, alt konum hesaplamasını etkilememelidir.

2. Düşük seviyeli hesaplamaların yüksek seviyeler üzerindeki herhangi bir etkisi tespit edilebilir ve kurtarılabilir olmalıdır.

Yukarıdaki kuralları karşılamak için, yüksek sıralı ürün sonucunun en önemsiz biti, düşük sıralı 16 biti girmemelidir. Bu nedenle, yüksek sıralı giriş en azından 17. bitten başlamalıdır. 8 bitlik yüksek bir giriş için toplam giriş genişliği en az 16 + 8 = 24 bittir. Bu minimum 24 bitlik giriş boyutu, yalnızca bir çarpanın aynı anda iki çarpma gerçekleştirebileceğini garanti edebilir, ancak yine de 1.75 katlık genel MACC verimini elde etmek için yeterlidir.

Sonraki adım, ac ve bc'yi bir DSP48E2 diliminde paralel olarak hesaplamaktır. DSP48E2 dilimi, 27 bitlik bir ön toplayıcı (giriş ve çıkış hem 27 bit genişliğindedir) hem de 27x18 çarpanı olan bir aritmetik birim olarak kullanılır. Şekil 2'ye bakınız.

1. Ön toplayıcı aracılığıyla DSP48E2 çarpanının 27 bitlik p portundaki 8 bitlik a ve b girişini 2 bit vektörün olabildiğince ayrılabilmesi için paketleyin. A girişi yalnızca 18 bit sola kaydırılır, böylece ilk terimden elde edilen 27 bitlik sonuçtaki iki işaret biti a, b'de önlenir < Ön toplayıcıda 0 ve a = 128 olduğunda bir taşma meydana gelir. A'nın kaydırma miktarı 18'dir ve bu, DSP48E2 çarpanının B bağlantı noktasının genişliğiyle tam olarak aynıdır.

Şekil 2: 8 bit optimizasyon

2. DSP48E227x18 çarpanı, paketlenmiş 27-bit port p ile 18-bit c'de iki tamamlayıcı formatta ifade edilen 8-bitlik katsayının çarpımını hesaplamak için kullanılır. Şimdi 45 bitlik ürün, ikisinin tümleyen biçiminde iki 44 bitlik terimin toplamıdır: 18 bit ve bc ile sola kaydırılan ac.

Sonradan toplayıcı, ayrı yüksek sipariş ürün terimlerini ve düşük sipariş ürün terimlerini içeren yukarıda bahsedilen 45 bitlik ürünü biriktirmek için kullanılabilir. Tek bir 45 bitlik ürün biriktirirken, yüksek ve düşük sipariş şartları düzeltilir ve biriktirilir. Nihai toplama sonucunun taşma değeri yoksa, basit işlemlerle ayrılabilir.

Bu yöntemin sınırlaması, her bir DSP48E2 diliminin biriktirebileceği ürün terimlerinin sayısıdır. Yüksek mertebeden mal ile düşük mertebeden mal arasında her zaman iki bit muhafaza edildiği için (Şekil 3), düşük mertebeden malda taşma olmaksızın 7 adede kadar malın biriktirilebileceği garanti edilebilir. Yedi ürün teriminden sonra, bu sınırlamanın üstesinden gelmek için ek DSP48E2 dilimlerine ihtiyaç vardır. 7x2 INT8 çarpma-toplama işlemleri gerçekleştiren INT8 MACC işlemlerinin verimliliği, aynı sayıda çarpana sahip rakip cihazlara göre 1,75 kat artırılmıştır.

Gerçek kullanım durumlarının gereksinimlerine göre, bu yöntemin birçok çeşidi vardır. Değiştirilmiş doğrusal birimleri (ReLU) kullanan evrişimli sinir ağları, negatif olmayan etkinleştirmeler üretirken, işaretsiz INT8 formatı, fazladan bir doğruluk biti ve en yüksek verim artışının 1,78 katı üretir.

Şekil 3: İki INT8 çarpma işlemini tek bir DSP48E2 dilimiyle paketleme

DSP48E2 SIMD modu

DSP48E2 diliminin son toplayıcı, paralel toplama, çıkarma, biriktirme veya bitsel mantık işlemleri gerçekleştirmek için dört adet 12 bitlik veya iki 24 bitlik SIMA ALU'ya (bkz. Şekil 4) bölünür. SIMD modunda, DSP48E2 diliminin ön toplayıcısı ve çarpanı kullanılamaz. Her döngüde, ALUMODE veri yolu seçim işlemini kontrol eder ve OPMODE, W, X, Y ve Z işlenenlerini seçmek için veri yolunu kontrol eder. 24 bitlik işlemleri göz önünde bulundurursanız, DSP48E2 diliminin P kaydı, iki giriş dizisinin işlenmesinin sonuçlarını saklayabilir. Her diziyi, döngü başına bir öğe olacak şekilde sırayla toplayın. Böylece çıktı, döngü başına iki yeni sonuç olur. Ayrıntılı talimatlar için lütfen "UltraScale Mimarisi DSP Slice Kullanıcı Kılavuzu" na (UG579) ("SIMD", "ALUMODE" ve "OPMODE" anahtar sözcükleri) bakın.

Şekil 4: DSP48E2 çift 24 bit SIMD modu

INT8 optimizasyonunu derin öğrenme uygulamalarıyla eşleştirme

Yeni sinir ağının çoğu bu ilk kavramsal modelden türetilmiştir. Şekil 5'e bakın.

Şekil 5: Kavram ve derin sinir ağı

Standart algılayıcı yapısından önemli bir gelişme olmasına rağmen, modern derin öğrenmenin temel işlemleri (derin sinir ağları (DNN) olarak da bilinir) hala algılayıcı benzeri işlemlerdir, ancak daha büyük bir genel ölçeğe ve daha derinlere sahiptir. Yığın algılayıcı yapısı. Şekil 5, algılayıcının temel işlemlerini göstermektedir. Her tipik derin öğrenme çıkarımında, birden çok katmandan geçer ve sonunda milyonlarca ila milyarlarca kez tekrarlanır. Şekil 6'da gösterildiği gibi, sinir ağı katmanında, her bir m algılayıcı / nöron çıktısını hesaplamak için ana hesaplama işlemleri şunları içerir:

Tüm n giriş örneğini al

Karşılık gelen çekirdek ağırlığı ile çarpın

Ve sonuçları biriktirin

Bunların arasında: f (x), seçilen herhangi bir etkinleştirme işlevi olabilir.

Şekil 6: Derin öğrenmedeki algılar

Toplamın hassasiyeti INT8 ile sınırlıysa, ürünlerin toplamı, INT8 optimizasyon yönteminde tanıtılan paralel MACC'nin ilkidir. İkinci ürün toplamı aynı girdiyi kullanır, ancak çekirdek ağırlıkları farklıdır. İkinci algılayıcı / nöronun çıktısı

Şekil 7'ye bakınız.

Şekil 7: İki ürün toplamını paralel olarak elde etmek için paylaşılan girdiyi kullanma

Değeri 18 bit sola kaydırmak için INT8 optimizasyon yöntemini kullanarak, her bir DSP48E2 dilimi nihai çıktı değerinin kısmi ve bağımsız bir parçasını alır. Her bir DSP48E2 dilimi için kullanılan toplayıcı 48 bit genişliğindedir ve sonraki dilime bağlıdır. Kaydırma doygunluğunun hesaplamaları etkilemesini önlemek için, bağlı modüllerin sayısı 7 ile sınırlıdır, yani toplam n giriş örneği için 2n MACC ve n DSP dilimi kullanılır.

Tipik bir DNN, katman başına yüzlerce ila binlerce giriş örneğine sahiptir. Ancak 7 öğenin biriktirilmesi tamamlandıktan sonra, 48 bitlik toplayıcının düşük değerli öğeleri doygun hale gelebilir, bu nedenle 7 öğenin toplamı için fazladan bir DSP48E2 dilimi gerekir. Bu, her 7 DSP48E2 dilimine ve 14 MACC'ye, artı aşırı doygunluğu önlemek için bir DSP48E2 dilimine eşdeğerdir ve 7/4 veya 1.75 kat daha fazla iş hacmi artışı sağlar.

Evrişimli Sinir Ağlarında (CNN), evrişimli katman genellikle paralel MACC işlemlerinin axw ve bxw tiplerini oluşturmak için aynı ağırlık kümesini kullanır. Bu nedenle, girdi paylaşımına ek olarak ağırlık paylaşımı da kullanılabilir (bkz. Şekil 8).

Şekil 8: Ağırlık paylaşımı ve girdi paylaşımının karşılaştırması

INT8 bağlantılı MACC oluşturmanın diğer yolları

INT8 bağlantı MACC'sini oluşturmak için DSP48E2 diliminin çalışma frekansına benzer olan programlanabilir mantıktaki mevcut LUT'ları (yani, tasarımın geri kalanı tarafından kullanılmayan LUT'lar) kullanabilirsiniz.

Mevcut LUT'ları kullanmak, derin öğrenme performansını önemli ölçüde artırabilir, bazı durumlarda 3 kata kadar. Çoğu durumda, diğer FPGA olmayan mimariler için, mevcut derin öğrenme işlemleri hesaplanırken bu mevcut bilgi işlem kaynakları dikkate alınmaz.

Xilinx FPGA'ları ve MPSoC'lerdeki programlama mantığı benzersizdir çünkü farklı iş yüklerini paralel ve verimli bir şekilde idare edebilir. Örneğin, Xilinx FPGA ve MPSoC, CNN görüntü sınıflandırması, ağ şifreleme ve veri sıkıştırmasını paralel olarak gerçekleştirebilir. Bu derin öğrenme performans karşılaştırma analizi, MACC LUT'u dikkate almaz çünkü genel LUT, diğer paralel işlevleri gerçekleştirmek için kullanıldığında, MACC işlevini gerçekleştirmek için kullanılandan daha değerlidir.

INT8 optimizasyonunu bilgisayarla görme işlevleriyle eşleştirme

Khronos OpenVX standardı, aşağıdaki kullanım durumları için özellikle önemli olan bir dizi bilgisayarla görme işleme modülünü tanımlar: yüz, vücut ve hareket izleme; akıllı video gözetimi; gelişmiş sürücü destek sistemleri (ADAS); nesne ve sahne yeniden üretimi; artırılmış gerçeklik; görsel inceleme; robotlar vb. . Tablo 2, INT8 optimizasyonuna uygulanabilen bilgisayarla görme ile ilgili işlevleri göstermektedir.

Tablo 2: Bilgisayarla görme işlevleri için INT8 optimizasyonu

Ölçeklenebilir INT8 optimizasyonu, aynı anda paylaşılan katsayılarla iki veri öğesinin işlenmesinin uyumluluğunu kontrol edebilir. SIMD, DSP48E2 dilimindeki dört işlenen ve operatörden yararlanabilecek modülleri kontrol edebilir. Verileri ve ağırlıkları 8 bitlik sınırı izleyen filtreyle ilgili tüm modüller, bu ölçeklenebilir INT8 yönteminden yararlanabilir. Temel görüntü aritmetiğini içeren diğer modüllerin çoğu (toplama / çıkarma veya karşılaştırma, vb.) DSP48E2'nin SIMD işlemlerini kullanabilir.

Ölçeklenebilir INT8 ile optimize edilmiş özel 2D evrişim

Bilgisayarla görme işlevsel ortamında, çoğu ön işleme görevi belirli bir derecede filtrelemeyi içerir. Görüntüler esas olarak kanal başına 8 bit olarak ifade edildiğinden, derin öğrenme uygulamalarında INT8 işlemlerinin optimizasyonu görüntü işlemede iki boyutlu filtreleme işlemlerine uygulanabilir. Tek sınırlama, filtredeki katsayıların doğruluğunun 8 bit olarak ifade edilebilmesi gerektiğidir. Bu genellikle Sobel, Scharr, Laplacian veya diğer kenar algılama filtreleri gibi yaygın filtreler için geçerlidir.

DSP48E2 diliminde ikili çarpan modundan yararlanmak için aşağıdaki yöntemlerden birini kullanın:

Çoklu piksel çıkışı ile aynı kanalda çalışın: Bu modda, iki çıkış pikseli paralel olarak hesaplanabilir. Filtre katsayıları görüntüdeki pikseller arasında paylaşıldığı için, (x, y) ve (x, y + 1) konumlarındaki pikseller aynı anda hesaplanabilir. Filtre hesaplama sırasına göre, her filtre katsayısı iki farklı giriş pikseli ile çarpılır. Bu, programlanabilir mantıkta sağlanan kaynaklar değişmeden kalırken performansın 1,75 kat artırıldığı anlamına gelir.

Farklı kanalların veya görüntülerin çok pikselli çıkışını hesaplayın: İşlenmekte olan görüntünün birden fazla kanalı varsa ve filtre farklı kanallar arasında paylaşılıyorsa, filtre katsayıları aynı konumdaki (x, y) pikseller için birden çok kanal arasında paylaşılabilir. Aynı yöntem, aynı anda birden fazla görüntüyü hesaplamak için genişletilebilir.

SIMD işlemini kullanan medyan filtresi

Görüntü işlemede yaygın olarak kullanılan medyan filtre, gürültü azaltma için de kullanılır. Bir görüntü üzerinde medyan filtresi kullanmak, görüntünün önceden ayarlanmış boyutta bir pencere ile taranmasını, pencereye giren piksellerin medyan değerinin hesaplanmasını ve merkez pikselin medyan değeriyle değiştirilmesini içerir. Medyan hesaplaması yüksek hesaplama yoğunluğuna sahiptir. Değerleri sıralamayı ve ardından listenin ortasındaki değeri bulmayı içerir. Sıralama süreci, bir karşılaştırma işlemleri dizisidir.

Medyan filtresini uygulamak için DSP'yi programlanabilir mantıkta kullanmak için algoritma değiştirilebilir. Her bir karşılaştırma işlemi, çıkarma işlemine ve sonraki işaret bit kontrolüne bölünebilir. Çıkarma işlemleri için DSP48E2 dilim, dört 12 bitlik veya iki 24 bitlik modda işlemler gerçekleştirebilir. DSP48E2 Slice'dan tam olarak yararlanmak için, birden fazla piksel paralel olarak çalıştırılabilir. Her pikselin tek bir kanal olduğu ve derinliğin 12 bitten az olduğu varsayıldığında, dört çıkış pikseli aynı anda işlenebilir. Her çıktı pikseli için birden fazla sıralama işlemi vardır ve bu sıralama işlemlerinin tümü DSP48E2 Slice'daki çıkarma işlemlerini kullanabilir. Sonucun işaret biti, minimum mantık kullanılarak DSP48E2 diliminin dışında kontrol edilebilir. Toplam karşılaştırma sayısı, değerleri sıralamak için kullanılan algoritmaya bağlıdır.

Şekil 9: Medyan filtresinin DSP48E2 çalışma modu

rekabet analizi

Rekabet analizinde Intel (eski adıyla Altera) Arria 10 cihazları ile Xilinxin Zynq® UltraScale + MPSoC karşılaştırması kullanıldı. Yerleşik görsel denetim uygulamalarının hesaplama verimliliğini karşılaştırırken, seçilen aygıtlar benzer DSP yoğunluğuna ve aygıt güç tüketimine sahiptir:

Arria 10 SoC: SX220, SX270 ve SX480

Zynq UltraScale + MPSoC: ZU3, ZU7 ve ZU9 cihazları

Odak noktası, derin öğrenme ve bilgisayar görüşü dahil birçok uygulamada kullanılabilen genel MACC performansını karşılaştırmaktır.

Intel'in MACC performansı, ön ekleyiciler kullanan operatörlere dayanmaktadır. Ancak bu tür bir gerçekleştirme şeması, bireysel ürün terimleri yerine ürün terimlerinin toplamını üretir. Bu nedenle, Intel'in ön toplayıcısı, verimli derin öğrenme veya bilgisayarla görme işlemleri için uygun değildir.

Bu hesaplama verimliliği analizinde, her bir cihazın güç tüketimi, Xilinx'in 2016.4 Güç Tahmin aracı ve Intel'in 16.0.1 EPE Güç Tahmin aracı kullanılarak tahmin edilir ve aşağıdaki varsayımlara dayanır:

1.% 90 TTP doluluk oranı

2. Intel aygıt hızı derecesi: 2L, maksimum frekansta güç kaynağı voltajı 0,9V'dur

3. Xilinx cihaz hız derecesi 1L, güç kaynağı voltajı maksimum frekansta 0.72V

4. Saat oranı DSP Fmax olduğunda mantık kullanımı% 70'tir

5. Saat hızı, DSP'nin maksimum frekansının yarısı olduğunda, blok RAM kullanım oranı% 90'dır.

6. DSP devir oranı% 12,5

7. Güç tüketimi özellikleri: "tipik güç tüketimi"

Şekil 10, derin öğrenme ve bilgisayarla görme işlemleri arasındaki enerji verimliliği karşılaştırmasını göstermektedir. Intelin Arria 10 SoC cihazları ile karşılaştırıldığında, Xilinx cihazları derin öğrenme ve bilgisayarla görme işlemlerinin hesaplama verimliliğini 3-7 kat artırabilir.

Şekil 10: INT8 derin öğrenme ve bilgisayarla görme enerji verimliliğinin karşılaştırılması: Xilinx ve Intel

sonuç olarak

Bu teknik incelemede, 1,75 kat performans iyileştirmesi elde etmek için Xilinx DSP48E2 Slice'da INT8 derin öğrenme ve bilgisayarla görme işlemlerinin nasıl optimize edileceği anlatılmaktadır. Xilinx DSP48E2 dilimi, aynı çekirdek ağırlıklarını paylaşırken iki paralel INT8 MACC işlemini işlemek için kullanılabilir. INT8'i verimli bir şekilde uygulamak için, yalnızca Xilinx DSP48E2 Slice tarafından desteklenen 24 bitlik bir giriş genişliği gereklidir. Aynı avantaj, filtreleme görevleri ve diğer görüntü işleme görevleri gibi bilgisayarla görme işlemleri için de kullanılabilir. Xilinx'in DSP48E2 Slice'ın SIMD modu, dört adet 12-bit veya iki 24-bit SIMD işlemi gerçekleştirmek için yeni bir yol sağlar.

Kısacası, Xilinxin Zynq UltraScale + MPSoC'si, INT8 iş yükleri için çok uygundur, bu da onu gömülü görme alanında çok sayıda uygulamayı hızlandırmak için ideal bir seçim haline getirir. Xilinx, yerleşik görme uygulamalarında derin öğrenme ve bilgisayarla görme işlevlerini hızlandırmak için yeni yazılım / donanım tabanlı yöntemler geliştirmeye devam ediyor.

Orijinal metni okumak için aşağıya tıklayın, bu tanıtım belgesini indirebilirsiniz

Bugün bu küçük kardeşler 2 milyarlık "küçük hedefi" tamamladılar!
önceki
Yüksek sıcaklıklı araçlar için bu yerler kontrol edilmeli ve bakımı yapılmalıdır
Sonraki
Kuru ürünler! Kötü seyahat giden seyahatler tarafından görülen düşük maliyetli havayollarının bir koleksiyonu
Sınırsız "çekirdek" hareket sağlayın Düşük güçlü kablosuz sensör ağı Profesör Majid Nabi, Eindhoven Teknoloji Üniversitesi
Birlikte "aya kaçmayı" kabul ettiler, ancak ikisi de gözaltına alındı!
4S mağazasını kandırmayın, dört tekerleğin hizalanması yalnızca bu durumlarda gereklidir
Bu sekizi yapın, arabanız yakıt tasarrufu sağlayabilir!
10.000 kişi tarafından duyulmamış olabilecek, Avrupa tarzı güzelliği ve varışta vize ile süper popüler olmayan bir destinasyon
Japon ve Koreli olmayan bu SUV'ların ev ihtiyaçlarını karşılamanın yanı sıra yüz
Başlangıçta sadece bir çöplüktü, ancak on yıllar sonra doğal bir mücevher plajı haline geldi!
İnsanların% 90'ı bu 5 noktayı okuduktan sonra araba almayı öğrendi
Yeni enerji araçlarının çevreci ve yakıt tasarruflu olduğu söyleniyor, neden satılamıyor?
Xilinx reVISIONTM yığın yayın arka plan analizi
ABD Saldırganlığına Direnmek ve Kore'ye Yardım Etmek İçin Savaşın Yıldönümü Ulusun kuruluşu için bu savaşı her zaman hatırlayın!
To Top