2012-07-27 18 views
6

डिफ़ॉल्ट रूप से ओपनएमपी निर्देश:ओएमपी - प्रोसेसर की संख्या से अधिक धागे?

opm_get_num_threads प्रोसेसर/कोर के बराबर धागे की संख्या देता है।

मेरे पास 8 कोर मशीन है, इसलिए यह मुझे 8 धागे देता है। क्या वह अधिकतम है? क्या मैं जानबूझकर 8 से अधिक निर्दिष्ट कर सकता हूं, तो क्या मुझे 8 से अधिक धागे मिल सकते हैं?

धन्यवाद

उत्तर

7

के रूप में आप के साथ जितने चाहें उतने धागे सेट कर सकते हैं:

int threads = 16; 
omp_set_num_threads(threads); 

http://msdn.microsoft.com/en-US/library/e16bady3%28v=vs.80%29

लेकिन यकीन है कि तुलना में वहाँ लॉजिकल कोर हैं आप और अधिक धागे का उपयोग कर की खामियों के बारे में पता होना प्रणाली में।

+2

साझा करने की देखभाल वास्तव में उन चीजों को साझा करने के बजाय वास्तव में क्या है? –

+4

@LexiR धागे से निपटने के दौरान ओवरहेड है: शेड्यूलिंग, संदर्भ स्विच, कैश विवाद, आदि ... यह कहना नहीं है कि लॉजिकल कोर की तुलना में अधिक धागे का उपयोग करना बेहतर नहीं होता है। लेकिन यह जानना उपयोगी है कि इसका दुरुपयोग होने पर क्या हो सकता है। – Mysticial

+2

कोड में धागे की संख्या क्यों ठीक करें? अच्छे पुराने पर्यावरण परिवर्तनीय 'OMP_NUM_THREADS' के बारे में कैसे? –

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