Fast Trigonometric Functions using the RLIBM Approach
Park, Nagarakatte
This paper describes our experience developing polynomial approximations for trigonometric functions that produce correctly rounded results for multiple representations and rounding modes using the RLIBM approach. A key challenge with trigonometric functions concerns range reduction with "pi", which reduces a given input in the domain of a 32-bit float to a small domain. Any rounding error in the value of "pi" is amplified during range reduction, which can result in wrong results. We describe our experience implementing fast range reduction techniques that maintain a large number of bits of "pi" both with floating-point and integer computations. The resulting implementations for trigonometric functions are fast and produce correctly rounded results for all inputs for multiple representations up to 32-bits with a single implementation.
academic
RLIBM दृष्टिकोण का उपयोग करके तीव्र त्रिकोणमितीय फलन
यह पेपर RLIBM पद्धति का उपयोग करके त्रिकोणमितीय फलन बहुपद सन्निकटन विकसित करने के अनुभव का वर्णन करता है, जो कई प्रतिनिधित्व और पूर्णांकन मोड के लिए सही पूर्णांकित परिणाम उत्पन्न कर सकता है। त्रिकोणमितीय फलनों की मुख्य चुनौती π से संबंधित श्रेणी में कमी है, जो 32-बिट फ्लोटिंग पॉइंट डोमेन में इनपुट को छोटे डोमेन में कम करती है। π मान में कोई भी पूर्णांकन त्रुटि श्रेणी में कमी की प्रक्रिया के दौरान बढ़ाई जाती है, जिससे गलत परिणाम हो सकते हैं। लेखक तीव्र श्रेणी में कमी तकनीकों को लागू करने के अनुभव का वर्णन करते हैं, जो फ्लोटिंग पॉइंट और पूर्णांक गणना दोनों में π के बड़ी संख्या में बिट्स को बनाए रखते हैं। अंतिम त्रिकोणमितीय फलन कार्यान्वयन तीव्र है और सभी इनपुट के लिए सही पूर्णांकित परिणाम उत्पन्न करता है, जो 32 बिट तक के कई प्रतिनिधित्व का समर्थन करता है और केवल एक कार्यान्वयन की आवश्यकता है।
सही पूर्णांकन की चुनौती: वैज्ञानिक गणना व्यापक रूप से गणितीय पुस्तकालयों द्वारा प्रदान किए गए बुनियादी फलनों का उपयोग करती है, लेकिन सभी इनपुट के लिए सही पूर्णांकित परिणाम उत्पन्न करना अत्यंत कठिन है ("तालिका निर्माता की दुविधा"), मुख्यधारा की गणितीय पुस्तकालयें सभी इनपुट के लिए सही परिणाम उत्पन्न नहीं कर सकती हैं।
पोर्टेबिलिटी और पुनरुत्पादनीयता समस्याएँ: सही पूर्णांकन की कमी के कारण अनुप्रयोग विभिन्न मशीनों पर पूरी तरह से भिन्न परिणाम उत्पन्न करते हैं, जो पोर्टेबिलिटी और पुनरुत्पादनीयता को प्रभावित करता है।
कई प्रतिनिधित्व प्रारूपों की आवश्यकता: कस्टम प्रारूपों (जैसे bfloat16, tensorfloat32, FP8) की वृद्धि के साथ, एक संदर्भ पुस्तकालय की आवश्यकता है जो कई प्रतिनिधित्व और पूर्णांकन मोड के लिए सही परिणाम प्रदान कर सके।
Minimax बहुपद सन्निकटन: पारंपरिक विधि सभी इनपुट की अधिकतम त्रुटि को कम करने वाले बहुपद सन्निकटन उत्पन्न करती है, लेकिन जब वास्तविक मान आउटपुट पूर्णांकन सीमा के बहुत करीब होता है, तो स्वतंत्रता की डिग्री में उल्लेखनीय कमी होती है।
प्रदर्शन और सही परिणामों का व्यापार: मौजूदा पुस्तकालयें प्रदर्शन (जैसे Payne-Hanek कार्यान्वयन) या सही परिणामों (जैसे GCC की libm) के पहलू में व्यापार करते हैं।
कुशल श्रेणी में कमी तकनीकें: फ्लोटिंग पॉइंट और पूर्णांक संचालन को जोड़ने वाली कुशल श्रेणी में कमी एल्गोरिदम विकसित किया, जो सही परिणाम उत्पन्न करने के लिए पर्याप्त π बिट्स को बनाए रख सकता है।
बहु-प्रतिनिधित्व एकल कार्यान्वयन: एक एकल बहुपद सन्निकटन लागू किया, जो 10-बिट से 32-बिट के कई प्रतिनिधित्व और सभी मानक पूर्णांकन मोड के लिए सही पूर्णांकित परिणाम उत्पन्न कर सकता है।
प्रदर्शन अनुकूलन: पूर्णांक-आधारित श्रेणी में कमी फ्लोटिंग पॉइंट रणनीति की तुलना में 19% प्रदर्शन में सुधार करता है, समग्र रूप से मुख्यधारा की पुस्तकालयों की तुलना में तेज़ या तुलनीय प्रदर्शन है।
संपूर्ण त्रिकोणमितीय फलन पुस्तकालय: sin, cos, tan फलनों के लिए तीव्र और सही कार्यान्वयन प्रदान किया।
RLIBM विधि की मुख्य अंतर्दृष्टि सही पूर्णांकित परिणाम को सीधे सन्निकटित करना है, न कि फलन के वास्तविक मान को। दिए गए इनपुट के लिए सही पूर्णांकित परिणाम के लिए, एक वास्तविक मान अंतराल मौजूद है, जिसके भीतर कोई भी मान सही परिणाम में पूर्णांकित होगा। यह minimax विधि की तुलना में अधिक स्वतंत्रता प्रदान करता है (सभी इनपुट के लिए 1 ULP)।
कई प्रतिनिधित्वों का समर्थन करने के लिए, RLIBM परियोजना (n+2)-बिट प्रतिनिधित्व का बहुपद सन्निकटन उत्पन्न करने का प्रस्ताव देती है, round-to-odd पूर्णांकन मोड का उपयोग करते हुए। इस दृष्टिकोण के लाभ हैं:
round-to-odd परिणाम लक्ष्य प्रतिनिधित्व में सीधे पूर्णांकन के लिए आवश्यक सभी जानकारी को संरक्षित करता है
बाद में कम बिट-चौड़ाई प्रतिनिधित्व में पूर्णांकन सही परिणाम उत्पन्न करता है
यह पेपर संख्यात्मक विश्लेषण, फ्लोटिंग पॉइंट संचालन और सही पूर्णांकन क्षेत्र के महत्वपूर्ण साहित्य का हवाला देता है, जिसमें शामिल हैं:
Muller की बुनियादी फलन संदर्भ पुस्तक
MPFR उच्च परिशुद्धता पुस्तकालय
Payne-Hanek श्रेणी में कमी एल्गोरिदम
IEEE-754 फ्लोटिंग पॉइंट मानक संबंधित अनुसंधान
यह पेपर संख्यात्मक गणना क्षेत्र में महत्वपूर्ण योगदान देता है, सैद्धांतिक विधियों को व्यावहारिक उच्च-प्रदर्शन कार्यान्वयन में सफलतापूर्वक परिवर्तित करता है, और वैज्ञानिक गणना में सही पूर्णांकन समस्या के लिए प्रभावी समाधान प्रदान करता है।