मिनीफ्लोट: Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Floating-point values coded as few bits}} {{floating-point}} {{Computer architecture bit widths}} {{Use dmy dates|date=August 2019}} कम्प्य...")
 
No edit summary
Line 2: Line 2:
{{floating-point}}
{{floating-point}}
{{Computer architecture bit widths}}
{{Computer architecture bit widths}}
{{Use dmy dates|date=August 2019}}
[[ कम्प्यूटिंग | कम्प्यूटिंग]] में, मिनीफ़्लोट्स [[तैरनेवाला स्थल]] मान होते हैं जिन्हें बहुत कम [[ अंश |अंश]] के साथ दर्शाया जाता है। अनुमानतः, वे सामान्य प्रयोजन संख्यात्मक गणनाओं के लिए उपयुक्त नहीं हैं। इनका उपयोग विशेष प्रयोजनों के लिए किया जाता है, अधिकतर कंप्यूटर ग्राफ़िक्स में, जहां पुनरावृत्तियाँ छोटी होती हैं और सटीकता में सौंदर्य संबंधी प्रभाव होते हैं।<ref>{{cite journal |last1=Mocerino |first1=Luca |last2=Calimera |first2=Andrea |title=AxP: A HW-SW Co-Design Pipeline for Energy-Efficient Approximated ConvNets via Associative Matching |journal=  Applied Sciences|date=24 November 2021 |volume=11 |issue=23 |page=11164 |doi=10.3390/app112311164 |doi-access=free }}</ref> [[ यंत्र अधिगम |यंत्र अधिगम]] भी [[bfloat16]] जैसे समान प्रारूपों का उपयोग करती है। इसके अतिरिक्त, [[चल बिन्दु संख्या]] | फ़्लोटिंग-पॉइंट अंकगणित और [[आईईईई फ़्लोटिंग-पॉइंट मानक]] संख्याओं के गुणों और संरचनाओं को प्रदर्शित करने के लिए उन्हें कंप्यूटर-विज्ञान पाठ्यक्रमों में शैक्षणिक उपकरण के रूप में अक्सर सामने लाया जाता है।
[[ कम्प्यूटिंग ]] में, मिनीफ़्लोट्स [[तैरनेवाला स्थल]] मान होते हैं जिन्हें बहुत कम [[ अंश ]]्स के साथ दर्शाया जाता है। अनुमानतः, वे सामान्य प्रयोजन संख्यात्मक गणनाओं के लिए उपयुक्त नहीं हैं। इनका उपयोग विशेष प्रयोजनों के लिए किया जाता है, अधिकतर कंप्यूटर ग्राफ़िक्स में, जहां पुनरावृत्तियाँ छोटी होती हैं और सटीकता में सौंदर्य संबंधी प्रभाव होते हैं।<ref>{{cite journal |last1=Mocerino |first1=Luca |last2=Calimera |first2=Andrea |title=AxP: A HW-SW Co-Design Pipeline for Energy-Efficient Approximated ConvNets via Associative Matching |journal=  Applied Sciences|date=24 November 2021 |volume=11 |issue=23 |page=11164 |doi=10.3390/app112311164 |doi-access=free }}</ref> [[ यंत्र अधिगम ]] भी [[bfloat16]] जैसे समान प्रारूपों का उपयोग करती है। इसके अतिरिक्त, [[चल बिन्दु संख्या]] | फ़्लोटिंग-पॉइंट अंकगणित और [[आईईईई फ़्लोटिंग-पॉइंट मानक]] संख्याओं के गुणों और संरचनाओं को प्रदर्शित करने के लिए उन्हें कंप्यूटर-विज्ञान पाठ्यक्रमों में एक शैक्षणिक उपकरण के रूप में अक्सर सामने लाया जाता है।


16 बिट्स वाले मिनीफ़्लोट्स आधे परिशुद्धता | आधे-परिशुद्धता संख्या ([[एकल परिशुद्धता]] और दोहरी परिशुद्धता के विपरीत) हैं। 8 बिट या उससे भी कम बिट वाले मिनीफ्लोट भी हैं।
16 बिट्स वाले मिनीफ़्लोट्स आधे परिशुद्धता | आधे-परिशुद्धता संख्या ([[एकल परिशुद्धता]] और दोहरी परिशुद्धता के विपरीत) हैं। 8 बिट या उससे भी कम बिट वाले मिनीफ्लोट भी हैं।
Line 9: Line 8:
मिनीफ़्लोट्स को आईईईई फ़्लोटिंग-पॉइंट मानक मानक के सिद्धांतों का पालन करके डिज़ाइन किया जा सकता है। इस मामले में उन्हें [[असामान्य संख्या]] के बीच सीमा के लिए (स्पष्ट रूप से लिखित नहीं) नियमों का पालन करना होगा और अनंत और [[NaN]] के लिए विशेष पैटर्न रखना होगा। सामान्यीकृत संख्याओं को घातांक पूर्वाग्रह के साथ संग्रहीत किया जाता है। मानक का नया संशोधन, [[आईईईई 754-2008]], [[अर्ध-परिशुद्धता फ़्लोटिंग-पॉइंट प्रारूप]]|16-बिट बाइनरी मिनीफ़्लोट्स है।
मिनीफ़्लोट्स को आईईईई फ़्लोटिंग-पॉइंट मानक मानक के सिद्धांतों का पालन करके डिज़ाइन किया जा सकता है। इस मामले में उन्हें [[असामान्य संख्या]] के बीच सीमा के लिए (स्पष्ट रूप से लिखित नहीं) नियमों का पालन करना होगा और अनंत और [[NaN]] के लिए विशेष पैटर्न रखना होगा। सामान्यीकृत संख्याओं को घातांक पूर्वाग्रह के साथ संग्रहीत किया जाता है। मानक का नया संशोधन, [[आईईईई 754-2008]], [[अर्ध-परिशुद्धता फ़्लोटिंग-पॉइंट प्रारूप]]|16-बिट बाइनरी मिनीफ़्लोट्स है।


[[Radeon R300]] और [[Radeon R420]] GPU ने 7 बिट्स एक्सपोनेंट और 16 बिट्स (+1 अंतर्निहित) मंटिसा के साथ fp24 फ्लोटिंग-पॉइंट प्रारूप का उपयोग किया।<ref>{{Citation |chapter-url=http://developer.nvidia.com/gpugems/GPUGems2/gpugems2_chapter32.html |title=GPU Gems |chapter=Chapter 32. Taking the Plunge into GPU Computing |editor-first=Matt |editor-last=Pharr |first=Ian |last=Buck |isbn=0-321-33559-7  |date=2005-03-13 |access-date=2018-04-05}}.</ref>
[[Radeon R300]] और [[Radeon R420]] जीपीयू ने 7 बिट्स एक्सपोनेंट और 16 बिट्स (+1 अंतर्निहित) मंटिसा के साथ fp24 फ्लोटिंग-पॉइंट प्रारूप का उपयोग किया।<ref>{{Citation |chapter-url=http://developer.nvidia.com/gpugems/GPUGems2/gpugems2_chapter32.html |title=GPU Gems |chapter=Chapter 32. Taking the Plunge into GPU Computing |editor-first=Matt |editor-last=Pharr |first=Ian |last=Buck |isbn=0-321-33559-7  |date=2005-03-13 |access-date=2018-04-05}}.</ref>
Direct3D 9.0 में पूर्ण परिशुद्धता एक मालिकाना 24-बिट फ़्लोटिंग-पॉइंट प्रारूप है। माइक्रोसॉफ्ट के डी3डी9 (शेडर मॉडल 2.0) ग्राफिक्स [[एपीआई]] ने शुरू में एफपी24 (एटीआई के आर300 चिप के रूप में) और एफपी32 (एनवीडिया के एनवी30 चिप के रूप में) को पूर्ण परिशुद्धता के रूप में समर्थन दिया, साथ ही ग्राफिक्स द्वारा किए गए वर्टेक्स और पिक्सेल शेडर गणना के लिए एफपी16 को आंशिक परिशुद्धता के रूप में समर्थन दिया। हार्डवेयर.
 
Direct3D 9.0 में पूर्ण परिशुद्धता मालिकाना 24-बिट फ़्लोटिंग-पॉइंट प्रारूप है। माइक्रोसॉफ्ट के डी3डी9 (शेडर मॉडल 2.0) ग्राफिक्स [[एपीआई]] ने शुरू में एफपी24 (एटीआई के आर300 चिप के रूप में) और एफपी32 (एनवीडिया के एनवी30 चिप के रूप में) को पूर्ण परिशुद्धता के रूप में समर्थन दिया, साथ ही ग्राफिक्स द्वारा किए गए वर्टेक्स और पिक्सेल शेडर गणना के लिए एफपी16 को आंशिक परिशुद्धता के रूप में समर्थन दिया। हार्डवेयर.


== संकेतन ==
== संकेतन ==
Line 19: Line 19:
*बी प्रतिपादक पूर्वाग्रह है.
*बी प्रतिपादक पूर्वाग्रह है.


इसलिए, (एस, ई, एम, बी) द्वारा दर्शाया गया एक मिनीफ्लोट प्रारूप है, {{math|1=''S'' + ''E'' + ''M''}} बिट्स लंबे.
इसलिए, (एस, ई, एम, बी) द्वारा दर्शाया गया मिनीफ्लोट प्रारूप है, {{math|1=''S'' + ''E'' + ''M''}} बिट्स लंबे.


कंप्यूटर ग्राफ़िक्स में मिनीफ़्लोट्स का उपयोग कभी-कभी केवल अभिन्न मानों को दर्शाने के लिए किया जाता है। यदि एक ही समय में असामान्य मान मौजूद हों, तो न्यूनतम असामान्य संख्या 1 होनी चाहिए। पूर्वाग्रह मान होगा {{math|1=''B'' = ''E'' - ''M'' - 1}} इस मामले में, यह मानते हुए कि IEEE के अनुसार दो विशेष घातांक मानों का उपयोग किया जाता है।
कंप्यूटर ग्राफ़िक्स में मिनीफ़्लोट्स का उपयोग कभी-कभी केवल अभिन्न मानों को दर्शाने के लिए किया जाता है। यदि ही समय में असामान्य मान मौजूद हों, तो न्यूनतम असामान्य संख्या 1 होनी चाहिए। पूर्वाग्रह मान होगा {{math|1=''B'' = ''E'' - ''M'' - 1}} इस मामले में, यह मानते हुए कि आईईईई के अनुसार दो विशेष घातांक मानों का उपयोग किया जाता है।


(एस, ई, एम, बी) नोटेशन को फ़्लोटिंग-पॉइंट अंकगणित # फ़्लोटिंग-पॉइंट संख्याओं की रेंज | (बी, पी, एल, यू) प्रारूप में परिवर्तित किया जा सकता है {{math|(2, ''M'' + 1, ''B'' + 1, 2<sup>''S''</sup> - ''B'')}} (घातांक के आईईईई उपयोग के साथ)।
(एस, ई, एम, बी) नोटेशन को फ़्लोटिंग-पॉइंट अंकगणित # फ़्लोटिंग-पॉइंट संख्याओं की रेंज | (बी, पी, एल, यू) प्रारूप में परिवर्तित किया जा सकता है {{math|(2, ''M'' + 1, ''B'' + 1, 2<sup>''S''</sup> - ''B'')}} (घातांक के आईईईई उपयोग के साथ)।
Line 42: Line 42:
| style="background: #ffb2b4" | 0
| style="background: #ffb2b4" | 0
|}
|}
इस उदाहरण में, 1 साइन बिट, 4 एक्सपोनेंट बिट्स और 3 महत्वपूर्ण बिट्स (संक्षेप में, 1.4.3.−2 मिनीफ्लोट) के साथ 1 बाइट (8 बिट) में एक मिनीफ्लोट का उपयोग अभिन्न मूल्यों का प्रतिनिधित्व करने के लिए किया जाता है। सभी IEEE 754 सिद्धांत मान्य होने चाहिए. एकमात्र मुक्त मान घातांक पूर्वाग्रह है, जिसे हम पूर्णांकों के लिए -2 के रूप में परिभाषित करते हैं। अज्ञात घातांक को क्षण x के लिए बुलाया जाता है।
इस उदाहरण में, 1 साइन बिट, 4 एक्सपोनेंट बिट्स और 3 महत्वपूर्ण बिट्स (संक्षेप में, 1.4.3.−2 मिनीफ्लोट) के साथ 1 बाइट (8 बिट) में मिनीफ्लोट का उपयोग अभिन्न मूल्यों का प्रतिनिधित्व करने के लिए किया जाता है। सभी आईईईई 754 सिद्धांत मान्य होने चाहिए. एकमात्र मुक्त मान घातांक पूर्वाग्रह है, जिसे हम पूर्णांकों के लिए -2 के रूप में परिभाषित करते हैं। अज्ञात घातांक को क्षण x के लिए बुलाया जाता है।


भिन्न आधार में संख्याओं को इस प्रकार चिह्नित किया जाता है...{{sub|base}}, उदाहरण के लिए, 101{{sub|2}} = 5. बिट पैटर्न में उनके भागों को देखने के लिए स्थान होते हैं।
भिन्न आधार में संख्याओं को इस प्रकार चिह्नित किया जाता है...{{sub|base}}, उदाहरण के लिए, 101{{sub|2}} = 5. बिट पैटर्न में उनके भागों को देखने के लिए स्थान होते हैं।
Line 87: Line 87:
=== पूर्वाग्रह का मान ===
=== पूर्वाग्रह का मान ===


यदि न्यूनतम असामान्य मान (ऊपर दूसरी पंक्ति) 1 होना चाहिए{{citation needed|date=October 2019}}, x का मान x = 3 होना चाहिए। इसलिए, पूर्वाग्रह -2 होना चाहिए{{citation needed|date=October 2019}}; अर्थात्, संख्यात्मक घातांक प्राप्त करने के लिए प्रत्येक संग्रहीत घातांक को -2 से कम करना होगा या 2 से बढ़ाना होगा।
यदि न्यूनतम असामान्य मान (ऊपर दूसरी पंक्ति) 1 होना चाहिए, x का मान x = 3 होना चाहिए। इसलिए, पूर्वाग्रह -2 होना चाहिए; अर्थात्, संख्यात्मक घातांक प्राप्त करने के लिए प्रत्येक संग्रहीत घातांक को -2 से कम करना होगा या 2 से बढ़ाना होगा।


=== मानों की तालिका ===
=== मानों की तालिका ===


यह फ़्लोट को IEEE फ़्लोट के समान मानते समय पूर्वाग्रह 1 के साथ सभी संभावित मानों का एक चार्ट है।
यह फ़्लोट को आईईईई फ़्लोट के समान मानते समय पूर्वाग्रह 1 के साथ सभी संभावित मानों का चार्ट है।


{| class="wikitable" style="text-align:right; font-size:small"
{| class="wikitable" style="text-align:right; font-size:small"
Line 194: Line 194:
|  −Inf ||    NaN ||    NaN ||    NaN ||    NaN ||    NaN ||    NaN ||    NaN
|  −Inf ||    NaN ||    NaN ||    NaN ||    NaN ||    NaN ||    NaN ||    NaN
|}
|}
=== इस उदाहरण के गुण ===
=== इस उदाहरण के गुण ===


[[Image:MinifloatValues 1 4 3 -2 72.png|thumb|इंटीग्रल (1.4.3.−2) मिनीफ्लोट्स का चित्रमय प्रतिनिधित्व]]1 बाइट में इंटीग्रल मिनीफ़्लोट्स में −128 से +127 की सीमा वाले दो-पूरक पूर्णांक की तुलना में ±122880 की अधिक रेंज होती है। बड़ी रेंज की भरपाई खराब परिशुद्धता से होती है, क्योंकि केवल 4 मंटिसा बिट्स होते हैं, जो एक दशमलव स्थान से थोड़ा अधिक के बराबर होते हैं। उनके पास ±65504 रेंज के साथ आधे-सटीक मिनीफ्लोट्स की तुलना में अधिक रेंज है, जिसकी भरपाई अंशों की कमी और खराब परिशुद्धता से भी होती है।
[[Image:MinifloatValues 1 4 3 -2 72.png|thumb|इंटीग्रल (1.4.3.−2) मिनीफ्लोट्स का चित्रमय प्रतिनिधित्व]]1 बाइट में इंटीग्रल मिनीफ़्लोट्स में −128 से +127 की सीमा वाले दो-पूरक पूर्णांक की तुलना में ±122880 की अधिक रेंज होती है। बड़ी रेंज की भरपाई खराब परिशुद्धता से होती है, क्योंकि केवल 4 मंटिसा बिट्स होते हैं, जो दशमलव स्थान से थोड़ा अधिक के बराबर होते हैं। उनके पास ±65504 रेंज के साथ आधे-सटीक मिनीफ्लोट्स की तुलना में अधिक रेंज है, जिसकी भरपाई अंशों की कमी और खराब परिशुद्धता से भी होती है।


केवल 242 अलग-अलग मान हैं (यदि +0 और -0 को अलग माना जाता है), क्योंकि 14 बिट पैटर्न NaN का प्रतिनिधित्व करते हैं।
केवल 242 अलग-अलग मान हैं (यदि +0 और -0 को अलग माना जाता है), क्योंकि 14 बिट पैटर्न NaN का प्रतिनिधित्व करते हैं।
Line 204: Line 202:
0 और 16 के बीच के मानों का बिट पैटर्न मिनीफ्लोट या दो-पूरक पूर्णांक के समान होता है। भिन्न मान वाला पहला पैटर्न 00010001 है, जो मिनीफ्लोट के रूप में 18 और दो-पूरक पूर्णांक के रूप में 17 है।
0 और 16 के बीच के मानों का बिट पैटर्न मिनीफ्लोट या दो-पूरक पूर्णांक के समान होता है। भिन्न मान वाला पहला पैटर्न 00010001 है, जो मिनीफ्लोट के रूप में 18 और दो-पूरक पूर्णांक के रूप में 17 है।


यह संयोग नकारात्मक मानों के साथ बिल्कुल भी नहीं होता है, क्योंकि यह मिनीफ्लोट एक हस्ताक्षरित-परिमाण प्रारूप है।
यह संयोग नकारात्मक मानों के साथ बिल्कुल भी नहीं होता है, क्योंकि यह मिनीफ्लोट हस्ताक्षरित-परिमाण प्रारूप है।


दाईं ओर (ऊर्ध्वाधर) वास्तविक रेखा फ़्लोटिंग-पॉइंट मानों के अलग-अलग घनत्व को स्पष्ट रूप से दिखाती है - एक संपत्ति जो किसी भी फ़्लोटिंग-पॉइंट सिस्टम के लिए सामान्य है। इस अलग-अलग घनत्व के परिणामस्वरूप घातीय फ़ंक्शन के समान एक वक्र बनता है।
दाईं ओर (ऊर्ध्वाधर) वास्तविक रेखा फ़्लोटिंग-पॉइंट मानों के अलग-अलग घनत्व को स्पष्ट रूप से दिखाती है - संपत्ति जो किसी भी फ़्लोटिंग-पॉइंट सिस्टम के लिए सामान्य है। इस अलग-अलग घनत्व के परिणामस्वरूप घातीय फ़ंक्शन के समान वक्र बनता है।


हालाँकि वक्र सहज दिखाई दे सकता है, लेकिन ऐसा नहीं है। ग्राफ़ में वास्तव में अलग-अलग बिंदु होते हैं, और ये बिंदु अलग-अलग ढलान वाले रेखा खंडों पर स्थित होते हैं। एक्सपोनेंट बिट्स का मूल्य मंटिसा बिट्स की पूर्ण सटीकता निर्धारित करता है, और यह सटीकता है जो प्रत्येक रैखिक खंड की ढलान निर्धारित करती है।
हालाँकि वक्र सहज दिखाई दे सकता है, लेकिन ऐसा नहीं है। ग्राफ़ में वास्तव में अलग-अलग बिंदु होते हैं, और ये बिंदु अलग-अलग ढलान वाले रेखा खंडों पर स्थित होते हैं। एक्सपोनेंट बिट्स का मूल्य मंटिसा बिट्स की पूर्ण सटीकता निर्धारित करता है, और यह सटीकता है जो प्रत्येक रैखिक खंड की ढलान निर्धारित करती है।
Line 214: Line 212:
=== जोड़ ===
=== जोड़ ===


[[Image:MinifloatAddition 1 3 2 3 72.png|thumb|(1.3.2.3)-मिनीफ्लोट्स का जोड़]]ग्राफ़िक 6 बिट्स के साथ और भी छोटे (1.3.2.3)-मिनीफ़्लोट्स को जोड़ने को दर्शाता है। यह फ़्लोटिंग-पॉइंट सिस्टम IEEE 754 के नियमों का बिल्कुल पालन करता है। ऑपरेंड के रूप में NaN हमेशा NaN परिणाम उत्पन्न करता है। Inf − Inf और (−Inf) + Inf का परिणाम NaN (हरित क्षेत्र) भी होता है। Inf को बिना किसी परिवर्तन के परिमित मानों द्वारा बढ़ाया और घटाया जा सकता है। परिमित ऑपरेंड वाले योग अनंत परिणाम दे सकते हैं (अर्थात 14.0 + 3.0 = +Inf परिणामस्वरूप सियान क्षेत्र है, −Inf मैजेंटा क्षेत्र है)। परिमित ऑपरेंड की सीमा वक्र x + y = c से भरी होती है, जहां c हमेशा प्रतिनिधित्व योग्य फ्लोट मानों में से एक होता है (सकारात्मक और नकारात्मक परिणामों के लिए क्रमशः नीला और लाल)।
[[Image:MinifloatAddition 1 3 2 3 72.png|thumb|(1.3.2.3)-मिनीफ्लोट्स का जोड़]]ग्राफ़िक 6 बिट्स के साथ और भी छोटे (1.3.2.3)-मिनीफ़्लोट्स को जोड़ने को दर्शाता है। यह फ़्लोटिंग-पॉइंट सिस्टम आईईईई 754 के नियमों का बिल्कुल पालन करता है। ऑपरेंड के रूप में NaN हमेशा NaN परिणाम उत्पन्न करता है। Inf − Inf और (−Inf) + Inf का परिणाम NaN (हरित क्षेत्र) भी होता है। Inf को बिना किसी परिवर्तन के परिमित मानों द्वारा बढ़ाया और घटाया जा सकता है। परिमित ऑपरेंड वाले योग अनंत परिणाम दे सकते हैं (अर्थात 14.0 + 3.0 = +Inf परिणामस्वरूप सियान क्षेत्र है, −Inf मैजेंटा क्षेत्र है)। परिमित ऑपरेंड की सीमा वक्र x + y = c से भरी होती है, जहां c हमेशा प्रतिनिधित्व योग्य फ्लोट मानों में से होता है (सकारात्मक और नकारात्मक परिणामों के लिए क्रमशः नीला और लाल)।


=== घटाव, गुणा और भाग ===
=== घटाव, गुणा और भाग ===
Line 224: Line 222:
image:MinifloatDivision_1_3_2_3_72.png|विभाजन
image:MinifloatDivision_1_3_2_3_72.png|विभाजन
</gallery>
</gallery>
== एम्बेडेड उपकरणों में ==
== एम्बेडेड उपकरणों में ==
मिनीफ़्लोट्स का उपयोग आमतौर पर एम्बेडेड उपकरणों में भी किया जाता है,{{citation needed|date=May 2023}} विशेष रूप से [[माइक्रोकंट्रोलर्स]] पर जहां फ्लोटिंग-पॉइंट को सॉफ़्टवेयर में अनुकरण करने की आवश्यकता होगी। गणना को गति देने के लिए, मंटिसा आम तौर पर बिट्स के बिल्कुल आधे हिस्से पर कब्जा कर लेता है, इसलिए रजिस्टर सीमा स्वचालित रूप से बिना किसी बदलाव के भागों को संबोधित करती है।
मिनीफ़्लोट्स का उपयोग आमतौर पर एम्बेडेड उपकरणों में भी किया जाता है, विशेष रूप से [[माइक्रोकंट्रोलर्स]] पर जहां फ्लोटिंग-पॉइंट को सॉफ़्टवेयर में अनुकरण करने की आवश्यकता होगी। गणना को गति देने के लिए, मंटिसा आम तौर पर बिट्स के बिल्कुल आधे हिस्से पर कब्जा कर लेता है, इसलिए रजिस्टर सीमा स्वचालित रूप से बिना किसी बदलाव के भागों को संबोधित करती है।


== यह भी देखें ==
== यह भी देखें ==
Line 240: Line 236:
*{{cite web |first=Robert |last=Munafo |url=http://www.mrob.com/pub/math/floatformats.html |title=Survey of Floating-Point Formats |date=15 May 2016 |access-date=8 August 2016}}
*{{cite web |first=Robert |last=Munafo |url=http://www.mrob.com/pub/math/floatformats.html |title=Survey of Floating-Point Formats |date=15 May 2016 |access-date=8 August 2016}}
{{refend}}
{{refend}}
== अग्रिम पठन ==
== अग्रिम पठन ==
* [https://www.khronos.org/registry/DataFormat/specs/1.2/dataformat.1.2.html#11bitfp Khronos Vulkan unsigned 11-bit floating point format]
* [https://www.khronos.org/registry/DataFormat/specs/1.2/dataformat.1.2.html#11bitfp ख्रोनोस वल्कन ने 11-बिट फ़्लोटिंग पॉइंट प्रारूप को अहस्ताक्षरित किया]
* [https://www.khronos.org/registry/DataFormat/specs/1.2/dataformat.1.2.html#10bitfp Khronos Vulkan unsigned 10-bit floating point format]
* [https://www.khronos.org/registry/DataFormat/specs/1.2/dataformat.1.2.html#10bitfp ख्रोनोस वल्कन ने 10-बिट फ़्लोटिंग पॉइंट प्रारूप को अहस्ताक्षरित किया]
 
 
== बाहरी संबंध ==
== बाहरी संबंध ==
* [https://web.archive.org/web/20150702114550/http://oss.sgi.com/projects/ogl-sample/registry/ARB/half_float_pixel.txt OpenGL half float pixel]
* [https://web.archive.org/web/20150702114550/http://oss.sgi.com/projects/ogl-sample/registry/ARB/half_float_pixel.txt ओपनजीएल आधा फ्लोट पिक्सेल]
 
{{data types}}
[[Category: फ़्लोटिंग पॉइंट प्रकार]] [[Category: कंप्यूटर अंकगणित]]  
[[Category: फ़्लोटिंग पॉइंट प्रकार]] [[Category: कंप्यूटर अंकगणित]]  



Revision as of 22:26, 18 July 2023

कम्प्यूटिंग में, मिनीफ़्लोट्स तैरनेवाला स्थल मान होते हैं जिन्हें बहुत कम अंश के साथ दर्शाया जाता है। अनुमानतः, वे सामान्य प्रयोजन संख्यात्मक गणनाओं के लिए उपयुक्त नहीं हैं। इनका उपयोग विशेष प्रयोजनों के लिए किया जाता है, अधिकतर कंप्यूटर ग्राफ़िक्स में, जहां पुनरावृत्तियाँ छोटी होती हैं और सटीकता में सौंदर्य संबंधी प्रभाव होते हैं।[1] यंत्र अधिगम भी bfloat16 जैसे समान प्रारूपों का उपयोग करती है। इसके अतिरिक्त, चल बिन्दु संख्या | फ़्लोटिंग-पॉइंट अंकगणित और आईईईई फ़्लोटिंग-पॉइंट मानक संख्याओं के गुणों और संरचनाओं को प्रदर्शित करने के लिए उन्हें कंप्यूटर-विज्ञान पाठ्यक्रमों में शैक्षणिक उपकरण के रूप में अक्सर सामने लाया जाता है।

16 बिट्स वाले मिनीफ़्लोट्स आधे परिशुद्धता | आधे-परिशुद्धता संख्या (एकल परिशुद्धता और दोहरी परिशुद्धता के विपरीत) हैं। 8 बिट या उससे भी कम बिट वाले मिनीफ्लोट भी हैं।

मिनीफ़्लोट्स को आईईईई फ़्लोटिंग-पॉइंट मानक मानक के सिद्धांतों का पालन करके डिज़ाइन किया जा सकता है। इस मामले में उन्हें असामान्य संख्या के बीच सीमा के लिए (स्पष्ट रूप से लिखित नहीं) नियमों का पालन करना होगा और अनंत और NaN के लिए विशेष पैटर्न रखना होगा। सामान्यीकृत संख्याओं को घातांक पूर्वाग्रह के साथ संग्रहीत किया जाता है। मानक का नया संशोधन, आईईईई 754-2008, अर्ध-परिशुद्धता फ़्लोटिंग-पॉइंट प्रारूप|16-बिट बाइनरी मिनीफ़्लोट्स है।

Radeon R300 और Radeon R420 जीपीयू ने 7 बिट्स एक्सपोनेंट और 16 बिट्स (+1 अंतर्निहित) मंटिसा के साथ fp24 फ्लोटिंग-पॉइंट प्रारूप का उपयोग किया।[2]

Direct3D 9.0 में पूर्ण परिशुद्धता मालिकाना 24-बिट फ़्लोटिंग-पॉइंट प्रारूप है। माइक्रोसॉफ्ट के डी3डी9 (शेडर मॉडल 2.0) ग्राफिक्स एपीआई ने शुरू में एफपी24 (एटीआई के आर300 चिप के रूप में) और एफपी32 (एनवीडिया के एनवी30 चिप के रूप में) को पूर्ण परिशुद्धता के रूप में समर्थन दिया, साथ ही ग्राफिक्स द्वारा किए गए वर्टेक्स और पिक्सेल शेडर गणना के लिए एफपी16 को आंशिक परिशुद्धता के रूप में समर्थन दिया। हार्डवेयर.

संकेतन

एक मिनीफ्लोट का वर्णन आमतौर पर चार संख्याओं के टुपल का उपयोग करके किया जाता है, (एस, ई, एम, बी):

  • S साइन फ़ील्ड की लंबाई है। यह आमतौर पर या तो 0 या 1 होता है।
  • ई घातांक क्षेत्र की लंबाई है।
  • एम मंटिसा (महत्वपूर्ण) फ़ील्ड की लंबाई है।
  • बी प्रतिपादक पूर्वाग्रह है.

इसलिए, (एस, ई, एम, बी) द्वारा दर्शाया गया मिनीफ्लोट प्रारूप है, S + E + M बिट्स लंबे.

कंप्यूटर ग्राफ़िक्स में मिनीफ़्लोट्स का उपयोग कभी-कभी केवल अभिन्न मानों को दर्शाने के लिए किया जाता है। यदि ही समय में असामान्य मान मौजूद हों, तो न्यूनतम असामान्य संख्या 1 होनी चाहिए। पूर्वाग्रह मान होगा B = E - M - 1 इस मामले में, यह मानते हुए कि आईईईई के अनुसार दो विशेष घातांक मानों का उपयोग किया जाता है।

(एस, ई, एम, बी) नोटेशन को फ़्लोटिंग-पॉइंट अंकगणित # फ़्लोटिंग-पॉइंट संख्याओं की रेंज | (बी, पी, एल, यू) प्रारूप में परिवर्तित किया जा सकता है (2, M + 1, B + 1, 2S - B) (घातांक के आईईईई उपयोग के साथ)।

उदाहरण

Layout of an example 8-bit minifloat (1.4.3.−2)
sign exponent significand
0 0 0 0 0 0 0 0

इस उदाहरण में, 1 साइन बिट, 4 एक्सपोनेंट बिट्स और 3 महत्वपूर्ण बिट्स (संक्षेप में, 1.4.3.−2 मिनीफ्लोट) के साथ 1 बाइट (8 बिट) में मिनीफ्लोट का उपयोग अभिन्न मूल्यों का प्रतिनिधित्व करने के लिए किया जाता है। सभी आईईईई 754 सिद्धांत मान्य होने चाहिए. एकमात्र मुक्त मान घातांक पूर्वाग्रह है, जिसे हम पूर्णांकों के लिए -2 के रूप में परिभाषित करते हैं। अज्ञात घातांक को क्षण x के लिए बुलाया जाता है।

भिन्न आधार में संख्याओं को इस प्रकार चिह्नित किया जाता है...base, उदाहरण के लिए, 1012 = 5. बिट पैटर्न में उनके भागों को देखने के लिए स्थान होते हैं।

शून्य का निरूपण

0 0000 000 = 0

असामान्य संख्याएँ

महत्व को 0 से बढ़ाया गया है।

0 0000 001 = 0.0012 × 2x = 0.125 × 2x = 1 (न्यूनतम असामान्य संख्या)
...
0 0000 111 = 0.1112 × 2x = 0.875 × 2x = 7 (सबसे बड़ी असामान्य संख्या)

सामान्यीकृत संख्याएँ

महत्व को 1 से बढ़ाया गया है:

0 0001 000 = 1.0002 × 2x = 1 × 2x = 8 (न्यूनतम सामान्यीकृत संख्या)
0 0001 001 = 1.0012 × 2x = 1.125 × 2x=9
...
0 0010 000 = 1,0002 × 2x+1 = 1 × 2x+1 = 16
0 0010 001 = 1.0012 × 2x+1 = 1.125 × 2x+1 = 18
...
0 1110 000 = 10002 × 2x+13 = 1,000 × 2x+13 = 65536
0 1110 001 = 1.0012 × 2x+13 = 1.125 × 2x+13 = 73728
...
0 1110 110 = 1.1102 × 2x+13 = 1750 × 2x+13 = 114688
0 1110 111 = 1.1112 × 2x+13 = 1.875 × 2x+13 = 122880 (सबसे बड़ी सामान्यीकृत संख्या)

अनंत

0 1111 000 = +अनंत
1 1111 000 = −अनंत

यदि घातांक क्षेत्र का विशेष रूप से उपचार नहीं किया गया, तो मूल्य होगा

0 1111 000 = 1.0002 × 2x+14 = 217=131072

कोई संख्या नहीं

x 1111 yyy = NaN (यदि yyy ≠ 000)

आईईईई 754 के सबसे बड़े घातांक के विशेष प्रबंधन के बिना, सबसे बड़ा संभव मूल्य होगा

0 1111 111 = 1.1112 × 2x+14 = 1.875 × 217=245760

पूर्वाग्रह का मान

यदि न्यूनतम असामान्य मान (ऊपर दूसरी पंक्ति) 1 होना चाहिए, x का मान x = 3 होना चाहिए। इसलिए, पूर्वाग्रह -2 होना चाहिए; अर्थात्, संख्यात्मक घातांक प्राप्त करने के लिए प्रत्येक संग्रहीत घातांक को -2 से कम करना होगा या 2 से बढ़ाना होगा।

मानों की तालिका

यह फ़्लोट को आईईईई फ़्लोट के समान मानते समय पूर्वाग्रह 1 के साथ सभी संभावित मानों का चार्ट है।

... 000 ... 001 ... 010 ... 011 ... 100 ... 101 ... 110 ... 111
0 0000 ... 0 0.125 0.25 0.375 0.5 0.625 0.75 0.875
0 0001 ... 1 1.125 1.25 1.375 1.5 1.625 1.75 1.875
0 0010 ... 2 2.25 2.5 2.75 3 3.25 3.5 3.75
0 0011 ... 4 4.5 5 5.5 6 6.5 7 7.5
0 0100 ... 8 9 10 11 12 13 14 15
0 0101 ... 16 18 20 22 24 26 28 30
0 0110 ... 32 36 40 44 48 52 56 60
0 0111 ... 64 72 80 88 96 104 112 120
0 1000 ... 128 144 160 176 192 208 224 240
0 1001 ... 256 288 320 352 384 416 448 480
0 1010 ... 512 576 640 704 768 832 896 960
0 1011 ... 1024 1152 1280 1408 1536 1664 1792 1920
0 1100 ... 2048 2304 2560 2816 3072 3328 3584 3840
0 1101 ... 4096 4608 5120 5632 6144 6656 7168 7680
0 1110 ... 8192 9216 10240 11264 12288 13312 14336 15360
0 1111 ... Inf NaN NaN NaN NaN NaN NaN NaN
1 0000 ... -0 -0.125 -0.25 -0.375 -0.5 -0.625 -0.75 -0.875
1 0001 ... -1 -1.125 -1.25 -1.375 -1.5 -1.625 -1.75 -1.875
1 0010 ... -2 -2.25 -2.5 -2.75 -3 -3.25 -3.5 -3.75
1 0011 ... -4 -4.5 -5 -5.5 -6 -6.5 -7 -7.5
1 0100 ... −8 −9 −10 −11 −12 −13 −14 −15
1 0101 ... −16 −18 −20 −22 −24 −26 −28 −30
1 0110 ... −32 −36 −40 −44 −48 −52 −56 −60
1 0111 ... −64 −72 −80 −88 −96 −104 −112 −120
1 1000 ... −128 −144 −160 −176 −192 −208 −224 −240
1 1001 ... −256 −288 −320 −352 −384 −416 −448 −480
1 1010 ... −512 −576 −640 −704 −768 −832 −896 −960
1 1011 ... −1024 −1152 −1280 −1408 −1536 −1664 −1792 −1920
1 1100 ... −2048 −2304 −2560 −2816 −3072 −3328 −3584 −3840
1 1101 ... −4096 −4608 −5120 −5632 −6144 −6656 −7168 −7680
1 1110 ... −8192 −9216 −10240 −11264 −12288 −13312 −14336 −15360
1 1111 ... −Inf NaN NaN NaN NaN NaN NaN NaN

इस उदाहरण के गुण

इंटीग्रल (1.4.3.−2) मिनीफ्लोट्स का चित्रमय प्रतिनिधित्व

1 बाइट में इंटीग्रल मिनीफ़्लोट्स में −128 से +127 की सीमा वाले दो-पूरक पूर्णांक की तुलना में ±122880 की अधिक रेंज होती है। बड़ी रेंज की भरपाई खराब परिशुद्धता से होती है, क्योंकि केवल 4 मंटिसा बिट्स होते हैं, जो दशमलव स्थान से थोड़ा अधिक के बराबर होते हैं। उनके पास ±65504 रेंज के साथ आधे-सटीक मिनीफ्लोट्स की तुलना में अधिक रेंज है, जिसकी भरपाई अंशों की कमी और खराब परिशुद्धता से भी होती है।

केवल 242 अलग-अलग मान हैं (यदि +0 और -0 को अलग माना जाता है), क्योंकि 14 बिट पैटर्न NaN का प्रतिनिधित्व करते हैं।

0 और 16 के बीच के मानों का बिट पैटर्न मिनीफ्लोट या दो-पूरक पूर्णांक के समान होता है। भिन्न मान वाला पहला पैटर्न 00010001 है, जो मिनीफ्लोट के रूप में 18 और दो-पूरक पूर्णांक के रूप में 17 है।

यह संयोग नकारात्मक मानों के साथ बिल्कुल भी नहीं होता है, क्योंकि यह मिनीफ्लोट हस्ताक्षरित-परिमाण प्रारूप है।

दाईं ओर (ऊर्ध्वाधर) वास्तविक रेखा फ़्लोटिंग-पॉइंट मानों के अलग-अलग घनत्व को स्पष्ट रूप से दिखाती है - संपत्ति जो किसी भी फ़्लोटिंग-पॉइंट सिस्टम के लिए सामान्य है। इस अलग-अलग घनत्व के परिणामस्वरूप घातीय फ़ंक्शन के समान वक्र बनता है।

हालाँकि वक्र सहज दिखाई दे सकता है, लेकिन ऐसा नहीं है। ग्राफ़ में वास्तव में अलग-अलग बिंदु होते हैं, और ये बिंदु अलग-अलग ढलान वाले रेखा खंडों पर स्थित होते हैं। एक्सपोनेंट बिट्स का मूल्य मंटिसा बिट्स की पूर्ण सटीकता निर्धारित करता है, और यह सटीकता है जो प्रत्येक रैखिक खंड की ढलान निर्धारित करती है।

अंकगणित

जोड़

(1.3.2.3)-मिनीफ्लोट्स का जोड़

ग्राफ़िक 6 बिट्स के साथ और भी छोटे (1.3.2.3)-मिनीफ़्लोट्स को जोड़ने को दर्शाता है। यह फ़्लोटिंग-पॉइंट सिस्टम आईईईई 754 के नियमों का बिल्कुल पालन करता है। ऑपरेंड के रूप में NaN हमेशा NaN परिणाम उत्पन्न करता है। Inf − Inf और (−Inf) + Inf का परिणाम NaN (हरित क्षेत्र) भी होता है। Inf को बिना किसी परिवर्तन के परिमित मानों द्वारा बढ़ाया और घटाया जा सकता है। परिमित ऑपरेंड वाले योग अनंत परिणाम दे सकते हैं (अर्थात 14.0 + 3.0 = +Inf परिणामस्वरूप सियान क्षेत्र है, −Inf मैजेंटा क्षेत्र है)। परिमित ऑपरेंड की सीमा वक्र x + y = c से भरी होती है, जहां c हमेशा प्रतिनिधित्व योग्य फ्लोट मानों में से होता है (सकारात्मक और नकारात्मक परिणामों के लिए क्रमशः नीला और लाल)।

घटाव, गुणा और भाग

अन्य अंकगणितीय संक्रियाओं को इसी तरह चित्रित किया जा सकता है:

एम्बेडेड उपकरणों में

मिनीफ़्लोट्स का उपयोग आमतौर पर एम्बेडेड उपकरणों में भी किया जाता है, विशेष रूप से माइक्रोकंट्रोलर्स पर जहां फ्लोटिंग-पॉइंट को सॉफ़्टवेयर में अनुकरण करने की आवश्यकता होगी। गणना को गति देने के लिए, मंटिसा आम तौर पर बिट्स के बिल्कुल आधे हिस्से पर कब्जा कर लेता है, इसलिए रजिस्टर सीमा स्वचालित रूप से बिना किसी बदलाव के भागों को संबोधित करती है।

यह भी देखें

संदर्भ

  1. Mocerino, Luca; Calimera, Andrea (24 November 2021). "AxP: A HW-SW Co-Design Pipeline for Energy-Efficient Approximated ConvNets via Associative Matching". Applied Sciences. 11 (23): 11164. doi:10.3390/app112311164.
  2. Buck, Ian (2005-03-13), "Chapter 32. Taking the Plunge into GPU Computing", in Pharr, Matt (ed.), GPU Gems, ISBN 0-321-33559-7, retrieved 2018-04-05.

अग्रिम पठन

बाहरी संबंध