Matrix Product State Engine for FPGA QuantumCircuit Simulation Beyond Five Hundred Qubits.
यह शोध पत्र एक FPGA-त्वरित मैट्रिक्स प्रोडक्ट स्टेट (MPS) क्वांटम सर्किट सिम्युलेटर प्रस्तुत करता है जो ज़ाइलिनक्स अल्वियो U55C (Xilinx Alveo U55C) पर टेंसर कॉन्ट्रैक्शंस (tensor contractions) को ऑफलोड करके 500 से अधिक क्वबिट्स को संभालने में सक्षम है जबकि SVD और सैंपलिंग को होस्ट पर रखता है, यह प्रदर्शित करते हुए कि प्रदर्शन क्वबिट संख्या के बजाय बॉन्ड डायमेंशन (bond dimension) के साथ स्केल करता है और कठोर शुद्धता एवं फाल्सिफिकेशन प्रयोगों के माध्यम से सिस्टम की महत्वपूर्ण भूमिका को मान्य करता है।
यहाँ इस शोध पत्र का सरल भाषा और रोज़मर्रा के उदाहरणों के साथ हिंदी अनुवाद दिया गया है।
बड़ी समस्या: "एक्सपोनेंशियल वॉल" (घातांकीय दीवार)
कल्पना कीजिए कि आप एक सामान्य कंप्यूटर पर क्वांटम कंप्यूटर को सिम्युलेट (अनुकरण) करने की कोशिश कर रहे हैं। ऐसा करने के लिए, आपको हर एक "क्यूबिट" (बिट का क्वांटम संस्करण) की स्थिति को ट्रैक करना होगा।
पुराना तरीका (स्टेटवेक्टर): कल्पना कीजिए कि आप सिक्कों की एक पंक्ति के लिए सिर (heads) और पूंछ (tails) के हर संभव संयोजन को लिखने की कोशिश कर रहे हैं। यदि आपके पास 10 सिक्के हैं, तो यह आसान है। लेकिन यदि आपके पास 30 सिक्के हैं, तो संयोजनों की सूची इतनी विशाल होगी कि यह दुनिया के हर पुस्तकालय को भर देगी। यदि आपके पास 500 सिक्के हैं, तो सूची ब्रह्मांड में परमाणुओं की संख्या से भी बड़ी होगी। यही कारण है कि सामान्य कंप्यूटर आमतौर पर 30 क्यूबिट के आसपास क्रैश हो जाते हैं। यह एक ऐसी "मेमोरी वॉल" है जिसे पार करना असंभव है।
नया समाधान: "MPS" का शॉर्टकट
लेखकों ने कुछ विशेष प्रकार के क्वांटम सर्किटों के लिए इस दीवार के चारों ओर जाने का एक तरीका खोजा है। उन्होंने मैट्रिक्स प्रोडक्ट स्टेट (MPS) नामक एक विधि का उपयोग किया।
उपमा (Analogy): सिक्कों के पूरे समूह के लिए हर एक संभावित परिणाम लिखने के बजाय, कल्पना करें कि सिक्के एक रेखा में जुड़े हुए हैं जहाँ प्रत्येक सिक्का वास्तव में केवल अपने निकटतम पड़ोसियों की परवाह करता है।
यह कैसे मदद करता है: यदि सिक्के बहुत अधिक "एंटैंगल्ड" (गहराई से जुड़े हुए) नहीं हैं, तो आप पूरे सिस्टम का वर्णन केवल पड़ोसियों के छोटे जोड़ों को देखकर कर सकते हैं। यह समस्या जो एक लाइब्रेरी जितनी बड़ी सूची की मांग करती थी, उसे एक नोटबुक के एक पन्ने में समा जाने वाली समस्या में बदल देता है, भले ही आपके पास 500 सिक्के हों।
हार्डवेयर: "सुपर-फास्ट वेयरहाउस" (अति-तेज गोदाम)
इसे तेज़ बनाने के लिए, लेखकों ने FPGA (एक पुनर्गठित कंप्यूटर चिप) पर एक विशेष इंजन बनाया जिसे Xilinx Alveo U55C कहा जाता है।
वेयरहाउस (HBM): इस चिप में HBM (हाई बैंडविड्थ मेमोरी) नामक एक विशेष प्रकार की मेमोरी है। इसे 16 गीगाबाइट स्थान वाले एक विशाल गोदाम के रूप में सोचें जिसमें 32 सुपर-फास्ट लोडिंग डॉक (पोर्ट्स) हैं जहाँ ट्रक डेटा को एक साथ अनलोड कर सकते हैं।
लेआउट: लेखकों ने अपने डेटा को इस तरह व्यवस्थित किया कि "सिक्के" (टेंसर) इन 8 लोडिंग डॉक में फैले हुए हैं। यह चिप को एक साथ कई डेटा के टुकड़ों को पकड़ने की अनुमति देता है, जैसे कि 8 श्रमिकों की एक टीम एक ही समय में कन्वेयर बेल्ट से बक्से उठा रही हो।
टीम वर्क: FPGA बनाम होस्ट कंप्यूटर
यह पेपर FPGA चिप और मुख्य कंप्यूटर ("होस्ट") के बीच श्रम के एक चतुर विभाजन का वर्णन करता है।
FPGA (असेंबली लाइन वर्कर): FPGA एक ही गणित को बार-बार बहुत तेज़ी से करने में माहिर है। यह टेंसरों को "कॉन्ट्रैक्ट" (दो पड़ोसियों को आपस में जोड़ने) का भारी काम संभालता है। यह जटिल भाग (division) या वर्गमूल (square root) किए बिना यह काम करता है।
होस्ट (मैनेजर): मुख्य कंप्यूटर कठिन, जटिल गणित (जैसे SVD, जिसमें भाग और वर्गमूल शामिल है) को संभालता है जिसे करने में FPGA संघर्ष करता है।
विभाजन क्यों? लेखकों ने "मैनेजर" के काम को FPGA पर डालने की कोशिश की, लेकिन चिप बहुत गर्म हो गई और धीमी हो गई (वह समय पर गणित पूरा नहीं कर पाई)। इसलिए, उन्होंने जटिल गणित को वापस मुख्य कंप्यूटर पर स्थानांतरित कर दिया, जिससे FPGA वह कर सके जिसमें वह सर्वश्रेष्ठ है: तेज़, दोहराव वाला गुणा।
परिणाम: वास्तव में क्या होता है?
लेखकों ने यह देखने के लिए परीक्षण किए कि यह सिस्टम कितनी अच्छी तरह काम करता है। यहाँ उनके निष्कर्ष दिए गए हैं, जो इस पेपर का सबसे ईमानदार हिस्सा है:
यह 500 क्यूबिट्स के लिए काम करता है: उन्होंने एक सिंगल कार्ड पर 500 क्यूबिट्स तक के सर्किटों का सफलतापूर्वक सिमुलेशन किया। किसी अन्य FPGA सिम्युलेटर ने ऐसा नहीं किया है क्योंकि वे "एक्सपोनेंशियल वॉल" पर अटक गए थे।
"बॉटलनेक" (अवरोध) का आश्चर्य:
जब सर्किट सरल होता है (कम एंटैंगलमेंट): FPGA अपना काम पलक झपकते ही कर देता है, लेकिन फिर मुख्य कंप्यूटर को "सैंपलिंग" (रैंडम परिणाम चुनना) करने में बहुत समय बिताना पड़ता है। इन मामलों में, FPGA वास्तव में कुल काम का बहुत कम हिस्सा (1% से कम) कर रहा होता है। मुख्य कंप्यूटर ही यहाँ धीमा हिस्सा है।
जब सर्किट जटिल होता है (उच्च एंटैंगलमेंट): जैसे-जैसे "बॉन्ड डायमेंशन" (कनेक्शन की जटिलता का माप) बढ़ता है, FPGA का काम विस्फोट की तरह बढ़ता है। उच्च जटिलता पर, FPGA लगभग 70% काम करता है।
सबक: क्यूबिट्स की संख्या (500) कठिन हिस्सा नहीं है; कनेक्शनों की जटिलता कठिन हिस्सा है। FPGA केवल तभी नायक बनता है जब कनेक्शन बहुत जटिल होते हैं।
"टेम्पर टेस्ट" (छेड़छाड़ परीक्षण): साबित करना कि चिप असली है
एक संशयवादी पूछ सकता है: "क्या वास्तव में FPGA काम कर रहा है, या मुख्य कंप्यूटर बस दिखावा कर रहा है?"
परीक्षण: लेखों ने जानबूझकर FPGA के आउटपुट को खराब (शून्य में बदल दिया) किया और फिर से सिमुलेशन चलाया।
परिणाम: सिमुलेशन पूरी तरह से विफल रहा। सटीकता 99% से गिरकर लगभग शून्य हो गई। इसने साबित कर दिया कि FPGA ही भारी काम कर रहा है और यह केवल एक सजावटी हिस्सा नहीं है।
सारांश
यह पेपर एक "पड़ोसी-मात्र" गणितीय ट्रिक (MPS) और एक विशेष चिप (FPGA) के साथ एक सुपर-फास्ट वेयरहाउस (HBM) का उपयोग करके 500 क्यूबिट्स के साथ क्वांटम कंप्यूटरों को सिम्युलेट करने का एक नया तरीका प्रस्तुत करता है।
अच्छी बात: यह विशिष्ट प्रकार के सर्किटों के लिए 30-क्यूबिट की सीमा को तोड़ता है।
ईमानदार सच्चाई: सरल सर्किटों के लिए, मुख्य कंप्यूटर अभी भी धीमा हिस्सा है। FPGA केवल तभी चमकता है जब सर्किट बहुत जटिल हो जाता है।
भविष्य: इसे और भी तेज़ बनाने के लिए, लेखक सुझाव देते हैं कि "सैंपलिंग" के काम को भी FPGA चिप पर ले जाना चाहिए, ताकि मुख्य कंप्यूटर को वह सारा काम न करना पड़े।
तकनीकी सारांश: पाँच सौ क्यूबिट्स से अधिक के क्वांटम सर्किट सिमुलेशन के लिए एक HBM-रेसिडेंट मैट्रिक्स प्रोडक्ट स्टेट इंजन
समस्या विवरण स्टेटवेक्टर प्रतिनिधित्व (statevector representation) का उपयोग करके क्वांटम सर्किट का शास्त्रीय सिमुलेशन मौलिक रूप से एक घातीय मेमोरी आवश्यकता (2n जटिल आयाम/complex amplitudes) द्वारा सीमित है, जो एकल-डिवाइस सिमुलेशन को लगभग 30 क्यूबिट्स तक ही सीमित कर देता है। जबकि मैट्रिक्स प्रोडक्ट स्टेट (MPS) प्रतिनिधित्व बाउंडेड-एंटैंगलमेंट (bounded entanglement) वाले सर्किट के लिए इस सीमा को तोड़ देता है—जहाँ मेमोरी और समय का पैमाना क्यूबिट संख्या (n) के साथ रैखिक और बॉन्ड डायमेंशन (χ) के साथ बहुपद (polynomial) होता है—मौजूदा FPGA क्वांटम सिम्युलेटर अब भी स्टेटवेक्टर प्रतिमान (paradigm) तक ही सीमित रहे हैं। फलस्वरूप, किसी भी प्रकाशित FPGA कार्यान्वयन ने सफलतापूर्वक सैकड़ों क्यूबिट्स का सिमुलेशन नहीं किया है। इसके अलावा, एक HBM-युक्त FPGA द्वारा संचालित MPS इंजन के विशिष्ट प्रदर्शन लक्षण, विशेष रूप से क्यूबिट संख्या और बॉन्ड डायमेंशन अक्षों के पार कंप्यूटेशनल लागत कहाँ निहित है, साहित्य में अनछुए रहे हैं।
कार्यप्रणाली और सिस्टम आर्किटेक्चर लेखक एक पूर्ण क्वांटम सर्किट सिम्युलेटर प्रस्तुत करते हैं जो Xilinx Alveo U55C FPGA पर तैनात एक MPS इंजन के इर्द-गिर्द निर्मित है। सिस्टम को कच्चे अंकगणितीय थ्रूपुट के बजाय कई छोटे टेंसरों की आवाजाही (movement) को संभालने के लिए डिज़ाइन किया गया है, जो कार्ड के 16 GB HBM2 मेमोरी (32 स्यूडो-चैनलों के माध्यम से सुलभ) और उच्च कुल बैंडविड्थ (~460 GB/s) का लाभ उठाता है।
सह-डिज़ाइन विभाजन (Co-Design Split): एक महत्वपूर्ण वास्तुशिल्प निर्णय कार्यभार को FPGA और होस्ट CPU के बीच विभाजित करता है। FPGA दो-साइट टेंसर कॉन्ट्रैक्शन (contraction) और गेट एप्लीकेशन को एक डबल-प्रिसिजन हाई-लेवल सिंथेसिस (HLS) कर्नेल का उपयोग करके निष्पादित करता है। होस्ट CPU सिंगुलर वैल्यू डिकम्पोजिशन (SVD) और ट्रंकेशन (truncation) करता है। यह विभाजन मनमाना नहीं है बल्कि टाइमिंग क्लोजर (timing closure) द्वारा मजबूर है: डबल-प्रिसिजन SVD (जिसके लिए भाग और वर्गमूल संचालन की आवश्यकता होती है) को FPGA पर लागू करने का एक प्रारंभिक प्रयास 300 MHz पर टाइमिंग क्लोजर प्राप्त करने में विफल रहा (नेगेटिव स्लैक -149 ns)। कॉन्ट्रैक्शन, जो विशुद्ध रूप से मल्टीप्लाय-एक्युमुलेट (multiply-accumulate) ऑपरेशन्स से बना है, FPGA पर सुचारू रूप से पाइपलाइन होता है।
मेमोरी लेआउट: MPS श्रृंखला HBM में कॉम्प्लेक्स डबल्स के एक फ्लैट ऐरे के रूप में रहती है। डिज़ाइन समवर्ती पहुंच (concurrent access) को अधिकतम करने के लिए आठ-बैंक, मोड्यूलो-आठ इंटरलीव्ड लेआउट का उपयोग करता है। कर्रल ठीक नौ AXI मास्टर पोर्ट्स को एक्सपोज़ करता है (आठ टेंसर बैंकों के लिए, एक गेट निर्देशों/मेटाडेटा के लिए) ताकि U55C पर एक सख्त रूटिंग बजट का पालन किया जा सके।
कर्नल कार्यान्वयन: HLS कर्नेल (Vitis 2023.2 के साथ संकलित, 300 MHz को लक्षित करते हुए) गेट्स को बैचों में प्रोसेस करता है। सिंगल-क्विबिट गेट्स को इन-प्लेस (in-place) लागू किया जाता है। टू-क्विबिट गेट्स एक आसन्न साइट टेंसर को एक संयुक्त टेंसर Θ′ में कॉन्ट्रैक्ट करने को ट्रिगर करते हैं, जिसे एक समर्पित HBM वर्कस्पेस में स्ट्रीम किया जाता है। इसके बाद होस्ट Θ′ को पढ़ता है, LAPACK (SciPy) के माध्यम से SVD करता है, और परिणामी ट्रंकेटेड साइट टेंसर को वापस HBM में लिखता है।
सैंपलिंग (Sampling): मेजरमेंट शॉट्स होस्ट पर अनुक्रमिक कंडीशनल सैंपलिंग (sequential conditional sampling) के माध्यम से किए जाते हैं (O(nχ2) प्रति शॉट), जिससे पूर्ण स्टेटवेक्टर के पुनर्निर्माण से बचा जा सके।
डिस्ट्रीब्यूटेड मोड: सिस्टम एक चार-कार्ड डिस्ट्रीब्यूटेड मोड का समर्थन करता है जहाँ एक एकल MPS श्रृंखला को विभिन्न डिवाइसेस के बीच विभाजित किया जाता है। बाउंड्री टेंसर (O(χ2)) को तीन-बैरियर, डबल-बफर वाले साझा-मेमोरी प्रोटोकॉल के माध्यम से एक्सचेंज किया जाता है।
प्रमुख योगदान
प्रथम FPGA MPS सिम्युलेटर: यह कार्य पहला FPGA-आधारित क्वांटम सिम्युलेटर प्रस्तुत करता है जो MPS प्रतिनिधित्व का उपयोग करता है, जिससे बाउंडेड-एंटैंगलमेंट सर्किट के लिए एक सिंगल कार्ड पर 500 क्यूबिट्स तक का सिमुलेशन संभव हो पाता है।
हार्डवेयर-प्रेरित सह-डिज़ाइन: यह पेपर एक ठोस टाइमिंग-क्लोजर विफलता का दस्तावेजीकरण करता है जिसने SVD को होस्ट पर ऑफलोड करने को निर्धारित किया, जिसके परिणामस्वरूप एक ऐसा सिस्टम बना जहाँ FPGA केवल डिवाइड-फ्री कॉन्ट्रैक्शन को संभालता है।
प्रत्यक्ष टाइमिंग एट्रिब्यूशन: लेखक रनटाइम के वॉल-क्लॉक समय का एक ईमानदार विवरण प्रदान करते हैं, जिससे पता चलता है कि कम-एंटैंगलमेंट वाले सर्किट के लिए, FPGA कॉन्ट्रैक्शन रनटाइम का एक नगण्य हिस्सा है, जबकि होस्ट-साइड मेजरमेंट सैंपलिंग हावी रहती है।
बॉन्ड डायमेंशन विश्लेषण: बॉन्ड डायमेंशन कैप (χ) के स्वीप के माध्यम से, अध्ययन यह प्रदर्शित करता है कि FPGA का रनटाइम योगदान χ=2 पर ~1% से बढ़कर χ=64 पर ~70% हो जाता है, जो इस एक्सेलेरेटर के लिए वास्तविक कठिनाई के अक्ष (axis of difficulty) के रूप में बॉन्ड डायमेंशन की पहचान करता है।
फाल्सिफिकेशन प्रयोग: एक जानबूझकर किया गया "टैम्पर" टेस्ट आयोजित किया गया जहाँ कर्नल के आउटपुट को ज़ीरो कर दिया गया। इसने मापी गई फिडेलिटी (fidelity) को >0.99 से घटाकर लगभग शून्य कर दिया, जो यह सिद्ध करता है कि FPGA आउटपुट लोड-बेयरिंग है और केवल होस्ट डेटा को दोहरा नहीं रहा है।
पुनरुत्पादनीय डेटा पॉइंट: यह पेपर HBM-रेसिडेंट MPS ऑन FPGA के लिए एक पूर्ण, पुनरुत्पादनीय आर्किटेक्चरल डेटा पॉइंट प्रदान करता है, जिसमें नौ-AXI-मास्टर रूटिंग बजट और 300 MHz टाइमिंग टारगेट जैसे विशिष्ट बाधाएं शामिल हैं।
परिणाम
स्केलेबिलिटी: सिस्टम ने 500 क्यूबिट्स तक के सर्किट का सफलतापूर्वक सिमुलेशन किया। कम-एंटैंगलमेंट परिवारों (GHZ, 1Q-Rots, और शैलो ब्रिक-वॉल) के लिए, 1024 शॉट्स के लिए निष्पादन समय लगभग 25–30 सेकंड था।
प्रदर्शन बाधाएं (Performance Bottlenecks): छोटे बॉन्ड डायमेंशन वाले सर्किटों के लिए (जैसे, χ≤4), होस्ट का अनुक्रमिक सैंपलिंग रनटाइम पर हावी रहता है। इस शासन (regime) में FPGA कॉन्ट्रैक्शन का समय न्यूनतम है।
बॉन्ड डायमेंशन संवेदनशीलता: जैसे ही एंटैंगलिंग सर्किटों पर बॉन्ड डायमेंशन कैप बढ़कर 64 हुआ, कुल रनटाइम काफी बढ़ गया, और रनटाइम में FPGA का हिस्सा बढ़कर लगभग 70% हो गया। यह पुष्टि करता है कि एक्सेलरेशन का मूल्य केवल तभी वास्तविक होता है जब χ बड़ा हो।
सटीकता: छोटे विड्थ के लिए Qiskit स्टेटवेक्टर ओरकल और बड़े विड्थ के लिए CPU MPS रेफरेंस के विरुद्ध फिडेलिटी (fidelity) सक्रिय कर्नल के साथ 0.99 से ऊपर बनी रही।
महत्व और दावे यह पेपर विनम्रतापूर्वक दावा करता है कि यह FPGA इंजन परिपक्व CPU/GPU लाइब्रेरीज़ (जैसे, ITensor, quimb, cuQuantum) की तुलना में उपलब्ध सबसे तेज़ MPS सिम्युलेटर नहीं है, बल्कि इसका महत्व निम्नलिखित में निहित है:
व्यवहार्यता का प्रदर्शन: यह सिद्ध करना कि एक HBM-रेसिडेंट FPGA 500-क्यूबिट MPS सिमुलेशन के लिए आवश्यक मेमोरी मूवमेंट और लीनियर अलजेब्रा को संभाल सकता है।
परिधि को परिभाषित करना: स्पष्ट रूप से स्थापित करना कि MPS के लिए FPGA एक्सेलरेशन केवल उच्च-बॉन्ड-डायमेंशन शासन में ही सार्थक है। चौड़े, कम-एंटैंगलमेंट वाले सर्किटों के लिए, बाधा होस्ट सैंपलर है, न कि कॉन्ट्रैक्शन कर्नल।
वास्तुशिल्प पारदर्शिता: यह प्रदान करना कि समय कहाँ खर्च होता है और क्यों विशिष्ट डिज़ाइन विकल्प (जैसे, होस्ट SVD) आवश्यक थे, जिससे उन क्षेत्रों में "मार्केटिंग" से बचा जा सके जहाँ एक्सेलरेशन प्रदर्शन लाभ नहीं देता है।
भविष्य की दिशा: लेखक होस्ट-सैंपलिंग बाधा और ऑन-चिप बॉन्ड डायमिशन कैप (χ≤64) को प्राथमिक सीमाओं के रूप में पहचानते हैं, जो यह सुझाव देते हैं कि इंजन की उपयोगिता में सुधार के लिए सैंपलिंग को डिवाइस पर ले जाना और ऑन-चिप वर्कस्पेस का विस्तार करना आवश्यक अगला कदम है।