2010-07-21 13 views
5

हे सब। मैं यह समझने की कोशिश कर रहा हूं कि MATLAB को यथासंभव सर्वश्रेष्ठ तरीके से कैसे चलाना है। मेरे पास एक सुंदर सभ्य नई मशीन है।MATLAB और गणना चलाने के लिए एकाधिक कोर का उपयोग

12 जीबी रैम कोर i7 3.2 गीगा सीपीयू और बहुत सी खाली जगह। और एक मजबूत ग्राफिक्स कार्ड।

हालांकि जब मैं MATLAB (कमांड बेंच) का बेंचमार्क परीक्षण चलाता हूं तो यह कंप्यूटर को विंडोज एक्सपी सिंगल कोर 1.7 गीगा मशीन के आसपास सबसे खराब के रूप में सूचीबद्ध करता है।

कोई विचार क्यों और कैसे मैं इसे सुधार सकता हूं ??

धन्यवाद बहुत बहुत

उत्तर

10

सबसे पहले, मैं यह सुनिश्चित करने के लिए कुछ बार बैंच कमांड को फिर से चलाने की सलाह दूंगा कि MATLAB ने सभी पुस्तकालयों को पूरी तरह से लोड किया है। इसकी आवश्यकता है। MATLAB का अधिकांश मांग मांग पर भरा हुआ है, इसलिए यह दूसरी या तीसरी दौड़ के लिए हमेशा सर्वोत्तम होता है।

मल्टीब्रेड किए गए कुछ संचालन निष्पादित करते समय MATLAB स्वचालित रूप से एकाधिक कोर का लाभ उठाता है। उदाहरण के लिए +, .* और साथ ही साथ बीएलएएस समर्थित बैक ऑपरेशंस (और शायद अन्य) जैसे तत्वों के बहुत सारे संचालन। This page उन चीजों को सूचीबद्ध करता है जो बहुप्रचारित हैं।

समांतर कंप्यूटिंग टूलबॉक्स उपयोगी है जब MATLAB की आंतरिक मल्टीथ्रेडिंग सहायता नहीं कर सकती है (यदि यह हो सकती है, तो यह आमतौर पर चीजों को करने का सबसे तेज़ तरीका है)। यह आपको PARFOR, SPMD और distributed arrays के माध्यम से स्पष्ट समांतरता देता है।

2

आप Parallel Processing Toolbox की जरूरत है। बहुत सारे MATLAB फ़ंक्शन मल्टीथ्रेड किए गए हैं लेकिन आपके स्वयं के कोड को समानांतर करने के लिए, आपको इसकी आवश्यकता होगी। एक गूंगा हैक कमांड लाइन MATLAB के कई उदाहरण खोलना है। आप multithreaded MEX files भी लिख सकते हैं लेकिन इसके बारे में जाने का सही तरीका खरीद होगा और उपरोक्त टूलबॉक्स का उपयोग करेगा।

2

यह स्पष्ट हो सकता है, लेकिन यह सुनिश्चित कर लें कि आपने प्राथमिकताओं (फ़ाइल> प्राथमिकता> सामान्य> मल्टीथ्रेडिंग) में बहुप्रचारित गणना को सक्षम किया है। MATLAB के कुछ संस्करणों में, यह डिफ़ॉल्ट रूप से सक्षम नहीं है।

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