2010-11-07 8 views
16

सी ++ लाइब्रेरी के जीएनयू कार्यान्वयन एक समानांतर मोड का समर्थन करता, here समझाया।libstdC++ समानांतर मोड: इसका उपयोग कौन कर रहा है? क्या ये सुरक्षित है? कोई भी इसी तरह की परियोजनाएं?

  • इसे प्रयोग करने में कोई अनुभवों? अच्छे? खराब लोग? विशेष रूप से शुद्धता के बारे में, लेकिन प्रदर्शन भी।
  • इसे का उपयोग वहाँ कुछ "और अधिक या कम गंभीर" परियोजनाओं कर रहे हैं? __gnu_parallel::sort(v.begin(), v.end());:
  • आप वैश्विक बारी-ऑन-समानांतर स्विच -D_GLIBCXX_PARALLEL के साथ उपयोग करें या आप इसके साथ सावधानी से उपयोग मैन्युअल बारी पर विशिष्ट बनता कार्यों की तरह करते हैं?
  • क्या कोई ऐसी ही खुली स्रोत परियोजनाएं हैं? मतलब: ओपनएमपी का उपयोग करने से अधिक आसान समांतरता।

अपने अनुभवों के लिए धन्यवाद।

साशा

+1

मुझे लगता है कि अगर आप [email protected] मेलिंग सूची में पूछते हैं तो आपको अपने उत्तर मिल सकते हैं, http://gcc.gnu.org/lists.html –

उत्तर

3

मैं कुछ छोटी परियोजनाओं के लिए यह प्रयोग किया है, बड़े एसटीएल के संचालन के लिए एक अच्छा speedup के साथ। मुझे किसी भी समस्या का सामना नहीं हुआ (मैंने वैश्विक स्विच का उपयोग किया)। हालांकि मैंने वास्तव में बहुत अधिक बेंचमार्किंग नहीं की है, तो आप http://algo2.iti.kit.edu/singler/mcstl/parallelmode_se.pdf और http://ls11-www.cs.uni-dortmund.de/people/gutweng/AD08/VO11_parallel_mode_overview.pdf जैसे अध्ययनों का उल्लेख करना चाहेंगे।

3

बहुत देर हो गई इस सवाल का जवाब है, लेकिन:

मैं गंभीरता से इंटेल TBB पर विचार करेंगे। सी ++ मानक समांतर मोड से लापता एक बात जो समानांतर कंटेनर है। टीबीबी कंटेनर सी ++ मानक कंटेनर के इंटरफेस का पालन नहीं करते हैं, लेकिन इसके लिए वे justifications प्रदान करते हैं। इसके अलावा, टीबीबी के कई उदाहरण और डिजाइन पैटर्न हैं।

+0

टीबीबी और gnu समानांतर मोड बहुत अलग चीज़ें हैं। जबकि आप (लगभग)> 100 एसटीएल फ़ंक्शंस को समानांतर में लिखे गए हैं, तो आप इसे टीबीबी में नहीं प्राप्त करेंगे, लेकिन इसे स्वयं कोड (केवल स्पष्ट कार्य जैसे std :: sort) की आवश्यकता है। यदि आप जानते हैं कि एसटीएल कार्यों का उपयोग कैसे करें यह समानांतरता के लिए वास्तव में एक अच्छी बात है। दूसरी ओर आपको टीबीबी में कुछ समांतर कंटेनर मिलते हैं। – eci

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