आर कोड बनाने के लिए कोई सुझाव कई प्रोसेसर का उपयोग करें?


28

मेरे पास विभिन्न फ़ाइलों से बड़ी मात्रा में सीएसवी डेटा पढ़ने के लिए आर-स्क्रिप्ट हैं और फिर वर्गीकरण के लिए मशीन सीखने जैसे कार्य svm करते हैं।
क्या आर के लिए सर्वर पर कई कोर का उपयोग करने के लिए कोई लाइब्रेरी है
या
इसे प्राप्त करने के लिए सबसे उपयुक्त तरीका क्या है?


मैं सिर्फ यह नहीं देखता कि डेटा आयात करने और एसवीएम को चलाने के तथ्य की कोई प्रासंगिकता है। इसलिए मुझे लगता है कि यह एक SO प्रश्न है। लेकिन मैं एक्सरेफ़्स को एक अच्छा दीर्घकालिक समाधान होने के रूप में देख सकता हूं क्योंकि यह आर है ...
शेन

3
मुझे इस प्रकार के प्रश्नोत्तर के साथ कोई समस्या नहीं है। आर ऐसी मुख्यधारा की भाषा नहीं है (जैसे कि पायथन या जावा) जो एक मात्रा स्वाभाविक रूप से कहेगी, "ओह यह एक सामान्य प्रोग्रामिंग प्रश्न है, इसलिए मुझे स्टैकऑवरफ्लो या इसी तरह जाना चाहिए और इसे पूछना चाहिए या समाधान के लिए देखना चाहिए"। वास्तव में यह एक आर मेलिंग सूची या समूह साइट के लिए एक प्रश्न है। उन नवोदित विश्लेषकों की सेवा करने के लिए जो आर सीखना चाहते हैं, हमें यहां एक उत्तर के रूप में खुशी होनी चाहिए।
पॉल

2
खुला रखने के लिए वोट दें; सांख्यिकीविदों के लिए बहुत प्रासंगिक है क्योंकि हमारी समस्याओं को जिस तरह से समानांतर धाराओं में तोड़ा जा सकता है या नहीं तोड़ा जा सकता है वह पूछे गए प्रश्न की प्रासंगिकता है।
russellpierce

@chl: इसे टक्कर देने के लिए धन्यवाद। वास्तव में, मैंने इस थ्रेड से सभी गैर-वाणिज्यिक संदर्भों की जाँच की, जो दिखाई देने के कुछ ही समय बाद दिखाई दिए, लेकिन विन 7 x64 पर काम करने वाले कुछ भी नहीं मिला।
whuber

1
व्हीबर, जो समाधान मैं प्रस्तुत करता हूं वह 7 जीत के साथ काम करता है और गैर वाणिज्यिक है (विवरण के लिए मैंने जिस पोस्ट को लिंक किया है उसे पढ़ें)। इसे एक वाणिज्यिक वातावरण के साथ बांधा गया है लेकिन इसे इससे अलग किया जा सकता है (जैसा कि मेरी पोस्ट से पता चलता है)। और कोड ही GPL है ...
ताल गैली

जवाबों:


16

यदि यह लिनक्स पर है, तो सबसे सीधा-आगे मल्टीकोर है । इसके अलावा, मेरा सुझाव है कि एमपीआई (विशेष रूप से स्नो पैकेज के साथ) पर एक नज़र डालें ।

अधिक आम तौर पर, एक नज़र है:

  1. उच्च निष्पादन कम्प्यूटिंग देखने क्रैन पर।
  2. "आर के साथ समानांतर कम्प्यूटिंग में कला की स्थिति"

अंत में, मैं आपके कोड में समानांतर बैकएंड को दूर करने के लिए फोरच पैकेज का उपयोग करने की सलाह देता हूं । यह लंबे समय में इसे और अधिक उपयोगी बना देगा।


मैं मुख्य रूप से मल्टीकोर का उपयोग करता हूं, फिर भी मुझे बर्फ से अधिक बर्फबारी पसंद है और इसकी गलती सहिष्णुता और स्वच्छ इंटरफ़ेस के लिए रम्पी।

बर्फबारी के लिए @mbq +1 - आगे भी बर्फ का सार और R सरल के साथ समानांतर कंप्यूटिंग बनाता है।
शार्प

6

यदि आप शेन और डर्क द्वारा जीएनयू / लिनक्स पिछले जवाबों का उपयोग कर रहे हैं तो बढ़िया है।

यदि आपको विंडोज़ के लिए समाधान की आवश्यकता है, तो इस पोस्ट में एक है:

R (विंडोज पर) के साथ समानांतर मल्टीकोर प्रोसेसिंग

हालाँकि पैकेज अभी CRAN पर नहीं है। इसे उस लिंक से डाउनलोड किया जा सकता है।


5

शेन सही है। मल्टीकोर और रम्पी दोनों विजेता हैं।

विषय का थोड़ा व्यापक कवरेज उच्च प्रदर्शन कम्प्यूटिंग पर CRAN टास्क व्यू में है । यह आर के साथ समानांतर कम्प्यूटिंग पर एक हालिया सर्वेक्षण लेख से भी जुड़ा हुआ है जेएसएस से ।

अंत में, कुछ हाथों पर उदाहरण और युक्तियां एचआरसी में इंट्रो में हैं आर ट्यूटोरियल के साथ मैं एक बार देता हूं - उपयोग में पिछले सप्ताह से सबसे हाल की प्रतिलिपि के लिए मेरी प्रस्तुतियां पृष्ठ देखें ।


खैर, म्यूटेक्स की जरूरत है। जैसा कि मैंने आपके उत्तर पर टिप्पणी की है, मैंने केवल पहला (कच्चा) संस्करण देखा और अच्छी तरह से सोचा, मैं एमसी और आरएमपीआई पर विस्तार कर सकता हूं। और फिर आपने किया और मैं एक नकलची की तरह दिखता हूं। ऐसे जीवन है।
डिर्क एडल्डबुलेटेल

दूसरी ओर, मेरा उत्तर अतीत में आपके पेपर / प्रस्तुति को पढ़ने से लिया गया है। इसलिए मुझे लगता है कि मैं आपको भी कॉपी कर रहा हूं।
शेन

5

मैंने देखा कि पिछले उत्तरों में एचपीसी के कुछ सामान्य विचारों का अभाव है।
सबसे पहले, उन पैकेजों में से कोई भी आपको समानांतर में एक एसवीएम चलाने में सक्षम नहीं करेगा । तो क्या आप गति कर सकते हैं पैरामीटर अनुकूलन या क्रॉस-मान्यता है, फिर भी आपको उसके लिए अपने स्वयं के कार्यों को लिखना होगा। या निश्चित रूप से आप समानांतर में विभिन्न डेटासेट के लिए काम चला सकते हैं, अगर यह मामला है।
दूसरा मुद्दा स्मृति है; यदि आप कुछ भौतिक कंप्यूटरों पर गणना फैलाना चाहते हैं, तो कोई मुफ्त दोपहर का भोजन नहीं है और आपको डेटा को कॉपी करना होगा - यहां आपको इस पर विचार करना चाहिए कि क्या कुछ संचार को बचाने के लिए कंप्यूटर पर डेटा की प्रतिलिपि को पूर्व निर्धारित करने के लिए समझ में आता है। दूसरी तरफ यदि आप एक कंप्यूटर पर कई कोर का उपयोग करना चाहते हैं, तो मल्टीकोर से विशेष रूप से उपयुक्त है क्योंकि यह सभी बच्चे प्रक्रियाओं को मूल प्रक्रिया की स्मृति तक पहुंचने में सक्षम बनाता है, इसलिए आप कुछ समय और बहुत सारे मेमोरी स्पेस को बचा सकते हैं।


1
इस क्रॉस-सत्यापन को विभाजित करने के साथ यह कैसे निपटता है, इस बारे में +1 महान बिंदु।
शेन

संयोग से, dcSE ( hector.ac.uk/cse/distributedcse/reports/sprint03/… ) द्वारा व्यक्तिगत SVM के लिए HPC को सक्षम करने में कुछ हालिया कार्य (2013) हुए हैं । sprintएक फ़ंक्शन के साथ आर के लिए एक पैकेज है psvm, लेकिन वे आर 3.0 के बदलाव और नए सीआरएएन जमा करने के दिशानिर्देशों को ध्यान में रखते हुए थोड़ा पीछे हैं, इसलिए वर्तमान डाउनलोड न तो सीआरएएन पर उपलब्ध है और न ही आर 3.0 के साथ पूरी तरह से संगत है। आपकी माइलेज भिन्न हो सकती है।
उज्ज्वल-स्टार

3

शेन और डिर्क दोनों की प्रतिक्रियाएँ हाजिर हैं।

फिर भी, आप आर के एक व्यावसायिक संस्करण पर एक नज़र डाल सकते हैं, जिसे क्रांति आर कहा जाता है जो बड़े डेटासेट से निपटने और कई कोर पर चलाने के लिए बनाया गया है। यह सॉफ्टवेयर शिक्षाविदों के लिए निःशुल्क है (जो कि आपका मामला हो सकता है, मुझे नहीं पता)


5
मैं कुछ हद तक असहमत हूं। माइंडशेयर प्राप्त करने में क्रांति एक शानदार बिक्री का काम करती है (जैसा कि आपकी पोस्ट से पता चलता है) लेकिन अभी जैसे ही उत्पाद में बहुत कम है, आपको पहले से ही सामान्य आर (कम से कम लिनक्स पर) नहीं मिलेगा। इंटेल MKL, निश्चित है, लेकिन आप गोटो ब्लास प्राप्त कर सकते हैं। विंडोज पर, वे doSMP की पेशकश करते हैं जो मल्टीकोर के रूप में मदद करता है वहां नहीं बनाया जा सकता है।
डिर्क एडल्डबुलेटेल

2
लेकिन, निश्चित रूप से, doSMP बिल्कुल वही है जो ओपी देख रहा होगा कि क्या वे विंडोज वातावरण में काम कर रहे हैं।
russellpierce
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.