क्या वर्तमान में उपलब्ध GPU दोहरी परिशुद्धता फ्लोटिंग अंक अंकगणित का समर्थन करते हैं?


17

मैंने एक उबंटू लिनक्स क्लस्टर पर आणविक डायनामिक्स (एमडी) कोड जीआरएमएसीएस चलाया है जिसमें 24 इंटेल एक्सॉन सीपीयू वाले नोड्स हैं। मेरी खास बात यह है कि फ्लोटिंग पॉइंट अंकगणितीय परिशुद्धता के प्रति कुछ हद तक संवेदनशील है, इसलिए मुझे डबल परिशुद्धता की उच्च कम्प्यूटेशनल लागत के बावजूद, एकल परिशुद्धता के बजाय डबल परिशुद्धता में GROMACS चलाना पड़ा है। इसलिए क्लस्टर पर, मैंने दोगुने परिशुद्धता में ग्रैमैक्स संकलित किए हैं।

मैं कुछ GPU खरीदने पर विचार कर रहा हूं, क्योंकि सीपीयू में स्पीड-अप रिश्तेदार ("GPU त्वरण") हो सकता है। हालांकि, मुझे एक GPU की आवश्यकता है जो मुझे डबल सटीक अंकगणित करने की अनुमति देगा। क्या आप जानते हैं कि क्या ऐसा हार्डवेयर व्यावसायिक रूप से उपलब्ध है? GROMACS मेलिंग सूची पर एक हालिया पोस्ट बताती है कि दोहरे सटीक जीपीयू व्यावसायिक रूप से उपलब्ध नहीं हैं:

हार्डवेयर इसे [डबल सटीक अंकगणित] अभी तक AFAIK का समर्थन नहीं करता है।

यह विकिपीडिया पृष्ठ यह बताता है कि दोहरे सटीक जीपीयू असामान्य हैं क्योंकि वे अक्षम हो सकते हैं:

एनवीडिया जीपीयू पर फ्लोटिंग पॉइंट के कार्यान्वयन ज्यादातर IEEE अनुरूप हैं; हालाँकि, यह सभी विक्रेताओं के लिए सही नहीं है। इसमें शुद्धता के निहितार्थ हैं जो कुछ वैज्ञानिक अनुप्रयोगों के लिए महत्वपूर्ण माने जाते हैं। जबकि 64-बिट फ्लोटिंग पॉइंट वैल्यू (डबल प्रिसिजन फ्लोट) सामान्यतः CPU पर उपलब्ध होते हैं, ये GPU पर सार्वभौमिक रूप से समर्थित नहीं होते हैं; कुछ GPU आर्किटेक्चर IEEE अनुपालन का त्याग करते हैं जबकि अन्य में पूरी तरह से दोहरे परिशुद्धता की कमी होती है। जीपीयू पर दोहरे सटीक फ्लोटिंग पॉइंट वैल्यू का अनुकरण करने के प्रयास किए गए हैं; हालाँकि, स्पीड ट्रेडऑफ़ पहले स्थान पर GPU पर गणना को उतारने के लिए किसी भी लाभ को नकारती है।

इस NVIDIA टेस्ला पेज , चार्ट में "पीक डबल परिशुद्धता चल बिन्दु प्रदर्शन" संदर्भित में, जो बताते हैं कि डबल परिशुद्धता गणना लगता है कर सकते हैं , वास्तव में, किया जा उनके GPUs पर (उच्च कम्प्यूटेशनल कीमत पर यद्यपि)।

तो, मुझे क्या विश्वास करना चाहिए? क्या आपके पास इस मुद्दे के साथ कोई अनुभव है?


जीईएक्स टाइटन की जांच करें यह gk110 पर आधारित है और इसमें डबल प्रिसिजन सपोर्ट है ..... हालांकि इसका थोड़ा महंगा ..... लगभग $ 1k

विकिपीडिया पर हमेशा तेजी से बदलते विषयों के बारे में वर्तमान जानकारी नहीं है ...
जेफ

जवाबों:


17

डबल परिशुद्धता नए GPU पर काफी सामान्य है। उदाहरण के लिए, मैं एक NVIDIA GTX560 तिवारी है (काफी कम अंत जब यह कंप्यूटिंग की बात आती है) कि डबल परिशुद्धता में ViennaCL चलाने का कोई मुद्दा नहीं है। से यहाँ (भाग 4) ऐसा लगता है GTX4xx से सभी NVIDIA कार्ड आगे देशी रूप डबल परिशुद्धता समर्थन करते हैं।

मुझे लगता है कि GROMACS जानकारी बस पुरानी है।


5
बहुत पुराना है। विशेष रूप से NVIDIA प्रोसेसर को वर्षों से दोहरा-सटीक समर्थन मिला है। सच कहूँ तो, यह एकल-परिशुद्धता क्षमता की तुलना में काफी धीमा था, लेकिन यह बहुत पहले टेस्ला-ब्रांडेड जीपीयू में, और शायद उससे पहले ही (और केवल अनुकरण नहीं) था। हाल के अवतारों ने सिग्नल और डबल-सटीक समर्थन के बीच अंतर को काफी कम कर दिया है।
माइकल ग्रांट

हां, जिस पेपर को मैंने उल्लेखित किया था, वह लगभग 8 कारकों का एक कारक था, जब उत्सर्जन की आवश्यकता थी, लेकिन अब जब चिप्स इसके लिए डिज़ाइन किए गए हैं, तो यह 2 के कारक के करीब है। मैं कहूंगा कि इसकी संभावना इस कारण है वीआरएएम से प्रोसेसर तक कार्ड मेमोरी विलंबता, लेकिन यह केवल मेरी ओर से एक अनुमान है।
गोदरिक सीयर

वास्तव में प्राथमिक कारण यह था कि पहले के जीपीयू बस चिप-स्पेस को दोहरे-सटीक संगणना के लिए समर्पित नहीं करते थे। इस पृष्ठ के अनुसार , GK110 श्रृंखला की तुलना में GK110 श्रृंखला में "SMX ब्लॉक" (जो भी इसका मतलब है) प्रति 8-परिशुद्धता इकाइयों की 8 गुना अधिक है।
माइकल ग्रांट

1
आह, हाँ, मैं वास्तव में मेमोरी बैंडविड्थ टिप्पणी के संबंध में वर्तमान GPU के 2x अंतर का उल्लेख कर रहा था।
गोड्रिक सीर

पकड़ लिया। मैं इस खरगोश छेद नीचे जाने का मतलब नहीं था। आपका जवाब ठीक है, यही कारण है कि मैंने टिप्पणी की और अपना जवाब जोड़ने के बजाय आपको वोट दिया;;
माइकल ग्रांट

8

एसएम 1.3 (टेस्ला / GTX2xx) या बेहतर वाले प्रत्येक GPU में हार्डवेयर डबल-सटीक समर्थन है। फर्मी वास्तुकला के साथ शुरू, क्वाडरो और टेस्ला वेरिएंट में उपभोक्ता जी फोर्स मॉडल की तुलना में बेहतर डबल-सटीक समर्थन है।

क्या अजीब बात है कि Ge Force Kepler / GTX6xx डबल-सटीक समर्थन, KeFer K20 / K20x में टेस्ला भेदभाव को सुधारने के लिए GeForce Fermi / GTX5xx समर्थन से हीन है। अजीबता को कम करते हुए, Tesla K10s में Ge Force-level का डबल-सटीक समर्थन है। और हाल ही में, यह जीई फोर्स जीटीएक्स टाइटन की शुरूआत से पूरी तरह से अव्यवस्था में फेंक दिया गया, जिसमें पूर्ण डबल-सटीक समर्थन है और कई सीयूडीएए फीचर केवल टेस्ला मॉडल पर अब तक मौजूद हैं। एक GTX टाइटन की लागत ~ $ 1,000 - एक चिल्लाती हुई IMO है।


2

आपको GROMACS मेलिंग सूची से फ़ॉलो-अप पोस्ट को भी पढ़ना चाहिए: http://lists.gromacs.org/pipermail/gmx-users/2013-April/080604.html । एमडी में जीपीयू कार्यान्वयन दोहरे परिशुद्धता के उपयोग का समर्थन करता है या नहीं, तुलनीय सीमा तक कम से कम उतना ही महत्वपूर्ण है, जितना कि हार्डवेयर पर दोहरी सटीकता उपलब्ध है।


0

इस चर्चा के अनुसार , डबल परिशुद्धता के लिए टेस्ला और टाइटन जीपीयू सबसे उपयुक्त (एनवीडिया जीपीयू के हैं)।

उदाहरण के लिए विकिपीडिया पर एनवीडिया जीपीयू की सूची देखें (एएमडी जीपीयू के लिए एक समान तालिका यहां है ) और एकल और दोहरी परिशुद्धता प्रसंस्करण शक्ति (जीएफएलओपी के संदर्भ में) की तुलना करने पर एक देखता है कि डबल परिशुद्धता का प्रदर्शन एकल परिशुद्धता के मुकाबले बहुत छोटा है। अधिकांश अन्य GPU के लिए प्रदर्शन। उदाहरण के लिए GTX 900 श्रृंखला में, लेख में उल्लेख किया गया है कि डबल सटीक प्रदर्शन एकल सटीक प्रदर्शन का 1/32 है, जबकि इस विकिपीडिया लेख का कहना है कि GTX 700 श्रृंखला के लिए, डबल सटीक प्रदर्शन एकल परिशुद्धता का 1/24 है प्रदर्शन (टाइटन को छोड़कर जहां यह एकल परिशुद्धता प्रदर्शन का 1/3 जितना हो सकता है )।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.