Ahududu Pi Donanım Kayan Nokta desteği var mı?


34

ARM aygıtlarında yumuşak yüzdürme algoritmaları kullanmanın en iyisi olduğunu söyleyen birkaç makale var, çünkü çok az sayıda ARM yongası sert yüzer işlemcilere sahip. Öyleyse, RPI'nın sabit bir yüzdürme desteği var mı? Eğer öyleyse, bu yumuşak yüzer daha hızlı mı? (Olmalı, değil mi?)

Yanıtlar:


30

SSS’ye göre , Ahududu Pi kayan nokta desteği ile bir ARM 11 çip kullanıyor:

Hangi SoC kullanıyorsunuz

SoC bir Broadcom BCM2835'tir. Bu, 700MHz'de çalışan kayan noktalı bir ARM1176JZFS ve bir Videocore 4 GPU içerir. GPU, 40 MBits / s'de H.264 kullanarak BluRay kalitesinde oynatma özelliğine sahiptir. Ürünle verilen OpenGL ES2.0 ve OpenVG kütüphanelerini kullanarak erişilen hızlı bir 3D çekirdeğe sahiptir.

Bu, yumuşak şamandıradan daha hızlı olacaktır (eğer olmasaydı, şaşırırdım!), Donanım desteği olmayan sistemlerde, özellikle yüzer tarafından sunulan aralığa ihtiyaç duymuyorsanız sabit nokta işlemden yararlanmak için genellikle daha iyi bir fikirdir. nokta hassasiyeti.


9

Donanım kayan nokta desteği var. Bildiğim kadarıyla bu RPI (henüz) için sağlanan varsayılan Debian dağıtımında mevcut değil. Arch hakkında pek emin değilim, ancak eğer destek almazlarsa, yakında olacağını tahmin ediyorum.

RPI'mda Gentoo var, bu yüzden varsayılan olarak sabit şamandıra desteği ile derlenmiş her şeye sahibim. Hızlı :)

CFLAGS="-O2 -pipe -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard"
CXXFLAGS="${CFLAGS}"
CHOST="armv6j-hardfloat-linux-gnueabi"

(elbette, karışıklık ve çapraz derleme, yaygın olarak kullanılıyor!)


Xiol, Gentoo Sisteminizde bir Unixbench-Benchmark yapabilir ve sonuçları gönderebilir misiniz? Soft-fpu ve hard-fpu arasındaki performans farkı oldukça büyük olduğundan, kesinlikle kıyaslama yapmak ilginç olacaktır. Copypaste.at/2012/06/raspberry-pi-und-debian-7-wheezy-soft.html'e göre (üzgünüm, alman dili) whetstone benchmarkı Raspian (ARMHF arch w / HardFPU) ile RPI karşısında yaklaşık 10 kat daha hızlı Önerilen Debian (ARMF w / SoftFPU ile birlikte). GenToo için daha büyük olması gerektiğini düşünüyorum.

6

Öyleyse, RPI'nın sabit bir yüzdürme desteği var mı?

Evet, özellikle (orijinal Pi'de) VFPv2.

Eğer öyleyse, bu yumuşak yüzer daha hızlı mı?

Evet

ARM aygıtlarında yumuşak yüzdürme algoritmaları kullanmanın en iyisi olduğunu söyleyen birkaç makale var, çünkü çok az sayıda ARM yongası sert yüzer işlemcilere sahip.

2007'de koldaki kayan nokta bir karışıklıktı, pek çok çipin hiç bir FPU'su yoktu. Sık sık, birbirinden farklı ve uyumsuz olanlardan biri vardı. Daha da kötüsü Debian kolu (o sırada en büyük kol linux dağıtımlarından biri) FPA adlı FPU için inşa edilmiş tarihsel nedenlerden ötürü, çok az cips vardı ve kayan nokta için çekirdek emülasyonuna dayanıyordu (yazılım kayan nokta yavaş, çekirdek takli kayan nokta daha yavaş). Diğer dağıtımlardaki durumun benzer olduğunu düşünüyorum, ancak bu konuda olumlu değilim.

O zamanki karışıklık göz önüne alındığında, en iyi seçeneğin EABI'nin temel (yumuşak yüzer) versiyonunu kullanarak bir EABI portu yapmak olduğu yönünde bir karar verildi. Bu ABI, isteğe bağlı olarak FPU kullanırken kodun ABI taban çizgisini kullanabileceği şekilde tasarlanmıştır. O zamanki fikir, dağıtımın çekirdeğinin yazılım kayan nokta kullanılarak inşa edileceği ve ardından ağır kullanılan kayan noktanın donanım kayan nokta ile inşa edilebileceği ancak yine de temel (yumuşak kayan nokta) ABI kullanılarak oluşturulabileceği spesifik koddu. Bu liman Debian dünyasında "armel" olarak biliniyordu.

Ancak "donanım kayan nokta kullanılarak oluşturulan özel paketler" biti gerçekten işe yaramadı. Uygulamada birkaç paket böyle bir şeyi yapmak için can atıyordu ve ayrıca tamsayı ve kayan nokta kayıtları arasında karışma değerlerinin ek yükü vardı.

2011’e hızlı bir şekilde devam etti ve durum oldukça değişti. Arm, agresif bir şekilde VFP'yi zorluyordu ve "uygulama işlemcileri" nin büyük çoğunluğunu (moblie telefonlarda ve simliar'da bulduğunuz türden) benimsemişti. Bir dizi büyük linux dağıtımı (başlangıçta en azından Debian, Ubuntu ve Fedora, daha sonra), donanım kayan nokta ve sert kayan ABI kullanarak portları seçti. Maalesef Pi için bu dağıtımlar (Pi'nin piyasaya sürüldüğü zamanlar boyunca tamamlanmış olan) genellikle asgari donanım gereksinimlerini VFPv3_d16 ile ARMv7 olarak belirledi, böylece Pi'de çalışmayacaklardı.

Böylece Pi fanlar donanım kayan nokta ve sert kayan ABI kullanan ancak pi üzerinde çalışan derleyici ayarlarıyla inşa edilen pi'ye özgü dağıtım türleri üzerinde çalışmaya başladı.


5

18 Eylül 2012'den bu yana, Arch Linux ARM aynı zamanda sabit bir şamandıra desteğine de sahiptir. Bu duyuruyu oku:

Bugün Raspberry Pi ve Via APC-IO'da bulunan VFP kayan nokta ünitesini desteklemek için yapılan tüm paketlerle yeni armv6 sabit havuzlu depoları halka açıyoruz. Armv5 yumuşak şamandıra deposu ile yeni armv6h deposu arasında yükseltme yolu bulunmadığından, Raspberry Pi için yeni bir kurulum resmi yayınladık. Resme bağlantı ana sitemizdeki Pi'nin Kurulum sayfasında mevcuttur. Bu görüntü aynı zamanda sysvinit ve initscripts yerine systemd için ayarlanmıştır, bu nedenle önyükleme süreleri daha hızlıdır ve yükleme sonunda Arch'ta kalıcı hale gelen değişiklikler için geleceğe yöneliktir.

Arch Linux ARM Ahududu Pi


4

Evet, diğerleri de belirttiği gibi Ahududu Pi sert şamandıra desteğine sahip. İşletim sistemi Raspbian'a göz atın .

Raspbian, Raspberry Pi'de çalışacak optimize edilmiş "sert yüzdürme" kodunu üretmek için ayarlanmış derleme ayarlarına sahip resmi olmayan bir Debian Wheezy armhf limanıdır. Bu, kayan nokta aritmetik işlemlerini yoğun şekilde kullanan uygulamalar için önemli ölçüde daha hızlı performans sağlamalıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.