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

From Vigyanwiki
No edit summary
No edit summary
 
(7 intermediate revisions by 3 users not shown)
Line 2: Line 2:
{{floating-point}}
{{floating-point}}
{{Computer architecture bit widths}}
{{Computer architecture bit widths}}
[[ कम्प्यूटिंग | कम्प्यूटिंग]] में, मिनीफ़्लोट्स [[तैरनेवाला स्थल]] मान होते हैं जिन्हें बहुत कम [[ अंश |अंश]] के साथ दर्शाया जाता है। अनुमानतः, वे सामान्य प्रयोजन संख्यात्मक गणनाओं के लिए उपयुक्त नहीं हैं। इनका उपयोग विशेष प्रयोजनों के लिए किया जाता है, अधिकतर कंप्यूटर ग्राफ़िक्स में, जहां पुनरावृत्तियाँ छोटी होती हैं और सटीकता में सौंदर्य संबंधी प्रभाव होते हैं।<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]] जैसे समान प्रारूपों का उपयोग करती है। इसके अतिरिक्त, फ़्लोटिंग-पॉइंट अंकगणित और [[आईईईई फ़्लोटिंग-पॉइंट मानक|आईईईई 754 फ़्लोटिंग-पॉइंट मानक]] संख्याओं के गुणों और संरचनाओं को प्रदर्शित करने के लिए उन्हें कंप्यूटर-विज्ञान पाठ्यक्रमों में शैक्षणिक उपकरण के रूप में अधिकांशतः सामने लाया जाता है।


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


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


[[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>
[[Radeon R300|रेडियन आर300]] और [[Radeon R420|रेडियन]] [[Radeon R420|आर420]] जीपीयू ने 7 बिट्स एक्सपोनेंट और 16 बिट्स (+1 अंतर्निहित) मैन्टिसा के साथ "एफपी24" फ्लोटिंग-पॉइंट प्रारूप का उपयोग किया जाता है।<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> इस प्रकार डायरेक्ट3डी 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 को आंशिक परिशुद्धता के रूप में समर्थन दिया। हार्डवेयर.


== संकेतन ==
== संकेतन ==
एक मिनीफ्लोट का वर्णन आमतौर पर चार संख्याओं के टुपल का उपयोग करके किया जाता है, (एस, ई, एम, बी):
मिनीफ्लोट का वर्णन सामान्यतः चार संख्याओं के टुपल का उपयोग करके किया जाता है, (एस, ई, एम, बी):
* S साइन फ़ील्ड की लंबाई है। यह आमतौर पर या तो 0 या 1 होता है।
* एस संकेत क्षेत्र की लंबाई है। यह सामान्यतः या तब 0 या 1 होता है।
* ई घातांक क्षेत्र की लंबाई है।
* ई घातांक क्षेत्र की लंबाई होती है।
* एम मंटिसा (महत्वपूर्ण) फ़ील्ड की लंबाई है।
* एम मंटिसा (महत्वपूर्ण) क्षेत्र की लंबाई होती है।
*बी प्रतिपादक पूर्वाग्रह है.
*बी प्रतिपादक पूर्वाग्रह होता है.


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


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


== उदाहरण ==
== उदाहरण ==


{| class="wikitable" style="text-align: center"
{| class="wikitable" style="text-align: center"
|+Layout of an example 8-bit minifloat (1.4.3.−2)
|+उदाहरण 8-बिट मिनीफ्लोट का लेआउट (1.4.3.−2)
! width=12.5% | sign
! width=12.5% | संकेत
! width=50% colspan="4" | exponent
! width=50% colspan="4" | प्रतिपादक
! width=37.5% colspan="3" | significand
! width=37.5% colspan="3" | महत्व
|-
|-
| style="background: #d5ffff" | 0
| style="background: #d5ffff" | 0
Line 42: Line 40:
| style="background: #ffb2b4" | 0
| style="background: #ffb2b4" | 0
|}
|}
इस उदाहरण में, 1 साइन बिट, 4 एक्सपोनेंट बिट्स और 3 महत्वपूर्ण बिट्स (संक्षेप में, 1.4.3.−2 मिनीफ्लोट) के साथ 1 बाइट (8 बिट) में मिनीफ्लोट का उपयोग अभिन्न मूल्यों का प्रतिनिधित्व करने के लिए किया जाता है। सभी आईईईई 754 सिद्धांत मान्य होने चाहिए. एकमात्र मुक्त मान घातांक पूर्वाग्रह है, जिसे हम पूर्णांकों के लिए -2 के रूप में परिभाषित करते हैं। अज्ञात घातांक को क्षण x के लिए बुलाया जाता है।
इस उदाहरण में, 1 संकेत बिट, 4 एक्सपोनेंट बिट्स और 3 महत्वपूर्ण बिट्स (संक्षेप में, 1.4.3.−2 मिनीफ्लोट) के साथ 1 बाइट (8 बिट) में मिनीफ्लोट का उपयोग अभिन्न मूल्यों का प्रतिनिधित्व करने के लिए किया जाता है। इस प्रकार सभी आईईईई 754 सिद्धांत मान्य होते है। एकमात्र मुक्त मान घातांक पूर्वाग्रह होता है, जिसे हम पूर्णांकों के लिए -2 के रूप में परिभाषित करते हैं। अतः अज्ञात घातांक को क्षण एक्स के लिए बुलाया जाता है।


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


===शून्य का निरूपण ===
===शून्य का निरूपण ===
Line 50: Line 48:


=== असामान्य संख्याएँ ===
=== असामान्य संख्याएँ ===
महत्व को 0 से बढ़ाया गया है।
महत्व को "0" से बढ़ाया गया है।
  0 0000 001 = 0.001<sub>2</sub> × 2<sup>x</sup> = 0.125 × 2<sup>x</sup> = 1 (न्यूनतम असामान्य संख्या)
  0 0000 001 = 0.001<sub>2</sub> × 2<sup>x</sup> = 0.125 × 2<sup>x</sup> = 1 (न्यूनतम असामान्य संख्या)
  ...
  ...
Line 56: Line 54:


=== सामान्यीकृत संख्याएँ ===
=== सामान्यीकृत संख्याएँ ===
महत्व को 1 से बढ़ाया गया है:
महत्व को "1" से बढ़ाया गया है।


  0 0001 000 = 1.000<sub>2</sub> × 2<sup>x</sup> = 1 × 2<sup>x</sup> = 8 (न्यूनतम सामान्यीकृत संख्या)
  0 0001 000 = 1.000<sub>2</sub> × 2<sup>x</sup> = 1 × 2<sup>x</sup> = 8 (न्यूनतम सामान्यीकृत संख्या)
Line 74: Line 72:
  1 1111 000 = −अनंत
  1 1111 000 = −अनंत


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


  0 1111 000 = 1.000<sub>2</sub> × 2<sup>x+14</sup> = 2<sup>17</sup>=131072
  0 1111 000 = 1.000<sub>2</sub> × 2<sup>x+14</sup> = 2<sup>17</sup>=131072


=== कोई संख्या नहीं ===
=== कोई संख्या नहीं ===
  x 1111 yyy = NaN (यदि yyy ≠ 000)
  x 1111 yyy = एनएएन (यदि yyy ≠ 000)


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


  0 1111 111 = 1.111<sub>2</sub> × 2<sup>x+14</sup> = 1.875 × 2<sup>17</sup>=245760
  0 1111 111 = 1.111<sub>2</sub> × 2<sup>x+14</sup> = 1.875 × 2<sup>17</sup>=245760
Line 87: Line 85:
=== पूर्वाग्रह का मान ===
=== पूर्वाग्रह का मान ===


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


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


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


{| class="wikitable" style="text-align:right; font-size:small"
{| class="wikitable" style="text-align:right; font-size:small"
Line 143: Line 141:
|-
|-
! 0 1111 ...
! 0 1111 ...
|    Inf ||    NaN ||    NaN ||    NaN ||    NaN ||    NaN ||    NaN ||    NaN
|    आईएनएफ ||    एनएएन ||    एनएएन ||    एनएएन ||    एनएएन ||    एनएएन ||    एनएएन ||    एनएएन
|-
|-
! 1 0000 ...
! 1 0000 ...
Line 192: Line 190:


! 1 1111 ...
! 1 1111 ...
−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 बिट पैटर्न एनएएन का प्रतिनिधित्व करते हैं।


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


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


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


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


== अंकगणित ==
== अंकगणित ==
Line 212: Line 210:
=== जोड़ ===
=== जोड़ ===


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


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


अन्य अंकगणितीय संक्रियाओं को इसी तरह चित्रित किया जा सकता है:
अन्य अंकगणितीय संक्रियाओं को इसी प्रकार चित्रित किया जा सकता है।
<gallery>
<gallery>
   image:MinifloatSubtraction_1_3_2_3_72.png|घटाव
   image:MinifloatSubtraction_1_3_2_3_72.png|घटाव
Line 223: Line 221:
</gallery>
</gallery>
== एम्बेडेड उपकरणों में ==
== एम्बेडेड उपकरणों में ==
मिनीफ़्लोट्स का उपयोग आमतौर पर एम्बेडेड उपकरणों में भी किया जाता है, विशेष रूप से [[माइक्रोकंट्रोलर्स]] पर जहां फ्लोटिंग-पॉइंट को सॉफ़्टवेयर में अनुकरण करने की आवश्यकता होगी। गणना को गति देने के लिए, मंटिसा आम तौर पर बिट्स के बिल्कुल आधे हिस्से पर कब्जा कर लेता है, इसलिए रजिस्टर सीमा स्वचालित रूप से बिना किसी बदलाव के भागों को संबोधित करती है।
मिनीफ़्लोट्स का उपयोग सामान्यतः एम्बेडेड उपकरणों में भी किया जाता है, विशेष रूप से [[माइक्रोकंट्रोलर्स]] पर जहां फ्लोटिंग-पॉइंट को सॉफ़्टवेयर में अनुकरण करने की आवश्यकता होती है। इस प्रकार गणना को गति देने के लिए, मंटिसा सामान्यतः बिट्स के बिल्कुल आधे भाग पर कब्जा कर लेता है, इसलिए रजिस्टर सीमा स्वचालित रूप से बिना किसी परिवर्तन के भागों को संबोधित करती है।


== यह भी देखें ==
== यह भी देखें ==
Line 229: Line 227:
* अर्ध-परिशुद्धता फ़्लोटिंग-पॉइंट प्रारूप
* अर्ध-परिशुद्धता फ़्लोटिंग-पॉइंट प्रारूप
* [[bfloat16 फ़्लोटिंग-पॉइंट प्रारूप]]
* [[bfloat16 फ़्लोटिंग-पॉइंट प्रारूप]]
* जी.711#ए-कानून|जी.711 ए-कानून
* जी.711 ए-नियम


== संदर्भ ==
== संदर्भ ==
Line 241: Line 239:
== बाहरी संबंध ==
== बाहरी संबंध ==
* [https://web.archive.org/web/20150702114550/http://oss.sgi.com/projects/ogl-sample/registry/ARB/half_float_pixel.txt ओपनजीएल आधा फ्लोट पिक्सेल]
* [https://web.archive.org/web/20150702114550/http://oss.sgi.com/projects/ogl-sample/registry/ARB/half_float_pixel.txt ओपनजीएल आधा फ्लोट पिक्सेल]
[[Category: फ़्लोटिंग पॉइंट प्रकार]] [[Category: कंप्यूटर अंकगणित]]


[[Category: Machine Translated Page]]
[[Category:Created On 11/07/2023]]
[[Category:Created On 11/07/2023]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Pages with script errors]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:कंप्यूटर अंकगणित]]
[[Category:फ़्लोटिंग पॉइंट प्रकार]]

Latest revision as of 15:18, 31 July 2023

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

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

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

रेडियन आर300 और रेडियन आर420 जीपीयू ने 7 बिट्स एक्सपोनेंट और 16 बिट्स (+1 अंतर्निहित) मैन्टिसा के साथ "एफपी24" फ्लोटिंग-पॉइंट प्रारूप का उपयोग किया जाता है।[2] इस प्रकार डायरेक्ट3डी 9.0 में "पूर्ण परिशुद्धता" मालिकाना 24-बिट फ़्लोटिंग-पॉइंट प्रारूप होता है। अतः माइक्रोसॉफ्ट के डी3डी9 (शेडर मॉडल 2.0) ग्राफिक्स एपीआई ने प्रारंभ में एफपी24 (एटीआई के आर300 चिप के रूप में) और एफपी32 (एनवीडिया के एनवी30 चिप के रूप में) को "पूर्ण परिशुद्धता" के रूप में, साथ ही एफपी16 को वर्टेक्स और पिक्सेल शेडर गणना के लिए "आंशिक परिशुद्धता" के रूप में ग्राफ़िक्स हार्डवेयर द्वारा निष्पादित समर्थन दिया गया है।

संकेतन

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

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

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

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

(एस, ई, एम, बी) अंकन को (बी, पी, एल, यू) प्रारूप में (2, M + 1, B + 1, 2S - B) (घातांक के आईईईई उपयोग के साथ) में परिवर्तित किया जा सकता है।

उदाहरण

उदाहरण 8-बिट मिनीफ्लोट का लेआउट (1.4.3.−2)
संकेत प्रतिपादक महत्व
0 0 0 0 0 0 0 0

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

किसी भिन्न आधार में संख्याओं को ... आधार के रूप में चिह्नित किया जाता है, उदाहरण के लिए, 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 = एनएएन (यदि 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 ... आईएनएफ एनएएन एनएएन एनएएन एनएएन एनएएन एनएएन एनएएन
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 ... −आईएनएफ एनएएन एनएएन एनएएन एनएएन एनएएन एनएएन एनएएन

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

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

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

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

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

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

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

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

अंकगणित

जोड़

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

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

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

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

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

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

यह भी देखें

संदर्भ

  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.

अग्रिम पठन

बाहरी संबंध