2011-06-07 10 views
14

मैं रेपा और एक्सीलरेट के साथ खेल रहा हूं - वे दोनों दिलचस्प हैं, लेकिन जब मैं एक और दूसरे का उपयोग करता हूं तो मैं काम नहीं कर सकता। क्या वे एक साथ बढ़ रहे हैं, प्रतिद्वंद्वियों, या सिर्फ अलग-अलग समस्याओं के लिए?तेज करें और रेपा के पास विभिन्न उपयोग के मामले हैं?

उत्तर

13

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

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

यदि आप हास्केल में जीपीयू प्रोग्राम करना चाहते हैं, तो एक्सीलरेट प्राथमिक विकल्प है। यदि आप अपने कोड को सीपीयू पर चलाना चाहते हैं, तो रेपा जाने का रास्ता है। त्वरण मल्टीकोर कोड उत्पन्न नहीं करता है। यह एक ऐसे तरीके से आर्किटेक्टेड है जो किसी अन्य लक्ष्य का समर्थन कर सकता है, लेकिन जहां तक ​​मैं कह सकता हूं, एक्सेलेरेटर के साथ सीपीयू का समर्थन करने की प्रेरणा कम है क्योंकि अधिक प्रतिस्पर्धा है।

संपादित करें: ओब्बिडियन और निकोला जीपीयू प्रोग्रामिंग के विकल्प हैं। दस्तावेज़ीकरण की एक संक्षिप्त जांच से, ओब्बिडियन गुंजाइश में संकुचित लगता है; यह (f >=> g >=> h) रूप में पाइपलाइनों को व्यक्त कर सकता है। निकोला का फीचर सेट एक्सीलरेट्स के करीब प्रतीत होता है। मेरे पास वास्तव में उनकी तुलना करने का अनुभव नहीं है।

+0

प्रोग्रामिंग जीपीयू के लिए, [ऑब्बिडियन] (https://github.com/svenssonjoel) और [निकोला] (http://www.eecs.harvard.edu/~mainland/projects/nikola/) भी हैं। वे प्रयोगात्मक परियोजनाएं दोनों हैं, लेकिन यह तेज है। –

+0

धन्यवाद, यह सहायक है। –

+2

हेड-अप, अब त्वरित बहु-कोर CPUs का समर्थन करता है: https://github.com/AccelerateHS/accelerate#additional-components – stites

संबंधित मुद्दे