मेरे पास ओपनएमपी pragmas के साथ सी ++ कोड है। मैं मल्टीथ्रेड मोड (ओपनएमपी के साथ) और सिंगल थ्रेड मोड (ओपनएमपी) में दोनों को इस कोड का परीक्षण करना चाहता हूं।ओपनएमपी निर्देशों को एक अच्छे तरीके से कैसे अक्षम करें?
अभी के लिए, मोड के बीच स्विच करने के लिए मुझे #pragma omp
(या कम से कम parallel
) पर टिप्पणी करने की आवश्यकता है।
OpenMP को सक्षम/अक्षम करने का सबसे साफ, या डिफ़ॉल्ट तरीका क्या है?
साथ कोड लिखने "#pragma omp ..." और बाद में _not_ "GOMP_parallel_start को अपरिभाषित संदर्भ" –
की तरह मिली त्रुटियाँ जोड़ने का कारण बनता है -fopenmp सक्षम करने मैं 'पाया omp_set_num_threads (1)' सबसे अधिक उपयोगी (दुर्भाग्य से, बहुत में सुरुचिपूर्ण नहीं मेरी राय) –
हमारे प्रोजेक्ट के लिए हमारे पास with_OPENMP है - एक बुलियन बिल्ड टाइम विकल्प जो पास-फॉपेनंप को संभालने में संभालता है और यदि आवश्यक हो तो कोई भी परिभाषित करता है। आईडी किसी प्रोजेक्ट में ओपनएमपी का उपयोग करके किसी और को सुझाव देती है, ओपनएम के बिना परीक्षण करने की क्षमता किसी भी बग के कारण के रूप में इसे बाहर करने के लिए उपयोगी हो सकती है। – ideasman42