ดังนั้น RPi มีการสนับสนุนแบบลอยอย่างหนักหรือไม่?
ใช่โดยเฉพาะ (บน Pi ดั้งเดิม) VFPv2
ถ้าเป็นเช่นนั้นมันจะเร็วหรือไม่?
ใช่
มีบทความอยู่สองสามบทความที่บอกว่าเป็นการดีที่สุดที่จะใช้อัลกอริทึมแบบลอยอย่างนุ่มนวลบนอุปกรณ์ ARM เนื่องจากชิป ARM จำนวนน้อยมากที่มีตัวประมวลผลร่วมลอยตัวยาก
ย้อนกลับไปในปีพ. ศ. 2550 จุดลอยตัวบนแขนมีความยุ่งเหยิงชิปจำนวนมากไม่มี FPU เลย ผู้ที่มักจะมีหนึ่งในหลาย ๆ ที่แตกต่างและเข้ากันไม่ได้ แขนที่แย่ Debian (หนึ่งในลินุกซ์แขนใหญ่ในเวลานั้น) เป็นเหตุผลทางประวัติศาสตร์ที่สร้างขึ้นสำหรับ FPU ที่เรียกว่า FPA ซึ่งมีชิปน้อยมากและส่วนใหญ่อาศัยการจำลองเคอร์เนลสำหรับจุดลอยตัว (ซอฟท์แวร์ลอยช้า ช้ากว่า) ฉันคิดว่าสถานการณ์ใน distros อื่น ๆ ที่คล้ายกัน แต่ฉันไม่ได้บวกกับที่
เมื่อพิจารณาถึงความยุ่งเหยิงในเวลานั้นการเลือกส่วนที่ดีที่สุดคือการทำพอร์ต EABI โดยใช้ EABI เวอร์ชั่นพื้นฐาน ABI นี้ได้รับการออกแบบในลักษณะที่รหัสสามารถใช้ baseline ABI ในขณะที่เลือกใช้ FPU แนวคิดในเวลานั้นคือแกนกลางของ distro จะถูกสร้างขึ้นโดยใช้จุดลอยตัวของซอฟต์แวร์และจากนั้นรหัสเฉพาะที่จุดลอยตัวที่ใช้หนักจะถูกสร้างขึ้นด้วยจุดลอยตัวของฮาร์ดแวร์ แต่ยังคงใช้ baseline (soft float) ABI พอร์ตนี้เป็นที่รู้จักในโลก Debian ว่า "armel"
อย่างไรก็ตาม "แพคเกจเฉพาะที่สร้างขึ้นโดยใช้จุดลอยฮาร์ดแวร์" ไม่ได้ผลจริงๆ ในทางปฏิบัติแพคเกจไม่กี่ใส่ใจที่จะทำสิ่งนั้นและยังมีค่าโสหุ้ยของการสับรอบระหว่างจำนวนเต็มและจุดลงทะเบียน
กรอไปข้างหน้าอย่างรวดเร็วถึงปี 2011 และสถานการณ์ได้เปลี่ยนไปอย่างมาก Arm ได้ผลักดัน VFP อย่างจริงจังและ "ตัวประมวลผลแอปพลิเคชัน" ส่วนใหญ่ (เรียงลำดับของสิ่งที่คุณพบในโทรศัพท์มือถือและ Simliar) ได้นำมาใช้ ลินุกซ์สำคัญจำนวนหนึ่ง (อย่างน้อย Debian, Ubuntu และ Fedora ในขั้นต้นและอื่น ๆ ในภายหลัง) เลือกที่จะทำพอร์ตโดยใช้ฮาร์ดแวร์ floating point และ hard float ABI น่าเสียดายสำหรับ Pi เหล่านี้ distros (ซึ่งถึง compleition รอบเวลา Pi ถูกปล่อย) โดยทั่วไปกำหนดความต้องการฮาร์ดแวร์ขั้นต่ำของพวกเขาเป็น ARMv7 กับ VFPv3_d16 ดังนั้นพวกเขาจะไม่ทำงานบน Pi
ดังนั้นแฟน Pi จึงเริ่มทำงานกับตัวแปร distro เฉพาะ pi ซึ่งใช้จุดลอยตัวของฮาร์ดแวร์และ hard float ABI แต่ถูกสร้างขึ้นด้วยการตั้งค่าคอมไพเลอร์ที่จะทำงานบน pi