2012-11-21 21 views
6

मैं उच्च प्रदर्शन कार्य के लिए Clyther का उपयोग करने के बारे में सोच रहा हूं। केवल पायथन का उपयोग करके ओपनसीएल कर्नल लिखना रोमांचक है, लेकिन मैं प्रदर्शन अंतर के बारे में सोच रहा हूं।क्लिथर ओवरहेड का आकार क्या है?

क्लाइथर क्या काम करता है? बेकार होना? क्या क्लिथर से उत्पन्न कर्नेल अच्छे हैं या नहीं?

क्या कुछ बेंचमार्क ढूंढना संभव है?

+0

मुझे केवल एक बेंचमार्क मिल सकता है: http://srossross.github.com/Clyther/performance_python.html#performance-results – Natan

उत्तर

4

प्रलेखन राज्यों के रूप में, CLyther के लिए मुख्य प्रविष्टि बिंदु clyther.task और clyther.kernel सजावटी हैं - एक बार समारोह में से एक के साथ सजाए जाने के बाद समारोह को ओपनसीएल में संकलित किया जाएगा।

CLyther पायथन भाषा के उप-समूह का एक कंपाइलर है। यह आपके पायथन सबसेट कोड को ओपनसीएल में संकलित करता है, इसलिए कर्नेल का वास्तविक रन टाइम ओपनसीएल में इंटरफेस के बीच (या नहीं होना चाहिए) अलग-अलग होगा। CLyther का वास्तविक ओवरहेड (जैसा कि पाइथन के साथ सभी इंटरफेस के साथ) ओपनसीएल फ़ंक्शंस को कॉल करने या CLyther/Python और OpenCL के बीच डेटा को स्थानांतरित करने से आता है।

CLymarks दिखा रहा है CLyther's performancedocumentation में उपलब्ध हैं। स्रोत टैरबॉल में बेंचमार्केड प्रोग्राम, एक लेपलेस समीकरण सॉल्वर का सी ++ और फ़ोरट्रान संस्करण होता है, ताकि आप उन्हें बेंचमार्क परिणामों को पुन: उत्पन्न करने के लिए उपयोग कर सकें।

व्यक्तिगत रूप से, मुझे विश्वास है कि आप OpenCL गणना की आवश्यकता में अधिकांश समस्याओं पर प्रभावी रूप से CLyther का उपयोग कर सकते हैं।