मैं आज researchers discovering that NVidia's Phys-X libraries use x87 FP vs. SSE2 पढ़ रहा था। स्पष्ट रूप से यह समांतर डेटासेट के लिए उप-शीर्ष होगा जहां गति सटीकता को टंप करता है। हालांकि, लेख लेखक उद्धृत करने के लिए पर चला जाता है:विस्तारित (80-बिट) x87 में डबल फ्लोटिंग पॉइंट, एसएसई 2 नहीं - हम इसे याद नहीं करते हैं?
इंटेल देर 2000 में पी 4 की शुरूआत के साथ x87 के उपयोग को हतोत्साहित एएमडी 2003 में K8 के बाद से x87 पदावनत, x86-64 के रूप में शुरू SSE2 के साथ परिभाषित किया गया है समर्थन; वीआईए के सी 7 ने 2005 से एसएसई 2 का समर्थन किया है। विंडोज़ के 64-बिट संस्करणों में, x87 को उपयोगकर्ता-मोड के लिए बहिष्कृत किया गया है, और पूरी तरह से कर्नेल-मोड में प्रतिबंधित है। उद्योग में काफी हर किसी को 2005 के बाद से x87 अधिक SSE की सिफारिश की है और जब तक सॉफ्टवेयर एक एम्बेडेड पेंटियम पर चलाने के लिए या 486.
मैं इस बारे में सोचा है वहाँ, कोई कारणों x87 उपयोग करने के लिए कर रहे हैं। मुझे पता है कि x87 मूल्यों की गणना करने के लिए आंतरिक रूप से 80-बिट विस्तारित युगल का उपयोग करता है, और एसएसई 2 नहीं करता है। क्या इससे कोई फर्क नहीं पड़ता? यह मेरे लिए आश्चर्यजनक लगता है। मुझे पता है कि जब मैं विमान में बिंदुओं, रेखाओं और बहुभुजों पर गणना करता हूं, तो घटाव करते समय मूल्य आश्चर्यजनक रूप से गलत हो सकते हैं, और परिशुद्धता की कमी के कारण क्षेत्र गिर सकते हैं और एक-दूसरे को लाइन कर सकते हैं। 80-बिट मान बनाम 64-बिट मानों का उपयोग करने में मदद मिल सकती है, मैं कल्पना करूंगा।
क्या यह गलत है? यदि नहीं, तो x87 चरणबद्ध होने पर विस्तारित डबल एफपी संचालन करने के लिए हम क्या उपयोग कर सकते हैं?
वास्तव में आपके प्रश्न का उत्तर नहीं है, लेकिन व्यक्तिगत रूप से मैं 128-बिट आईईईई 754 बाइनरी प्रारूप मुख्यधारा बनने की उम्मीद कर रहा हूं। –
@ मार्क - गंभीरता से, बस इतना समय क्या ले रहा है? इससे पहले कि AVX एक मानक हो सकता है ... – codekaizen
[यह] (https://www.cs.uaf.edu/2012/fall/cs301/lecture/11_02_other_float.html) कारण क्या था इसका एक अच्छा जवाब है x87 को हतोत्साहित करने के लिए। और हां, एसएसई की गणना कम सटीक है, यह आधुनिक जेआईटी-कंपाइलर्स (पारंपरिक x87- आधारित कंपाइलर्स की तुलना में) पर स्पष्ट रूप से देखी जाती है। –