का सशर्त उपयोग मैं लूप पर अपनी प्रोग्राम दक्षता में सुधार के लिए ओपनएमपी का उपयोग कर रहा हूं।ओपनएमपी: #pragma
लेकिन हाल ही में मुझे पता चला कि छोटे लूपों पर इस पुस्तकालय के उपयोग ने प्रदर्शन में कमी आई और सामान्य तरीके से उपयोग करना बेहतर था।
वास्तव में, मैं केवल तभी एक शर्त संतुष्ट हो जाता है OpenMP उपयोग करना चाहते हैं, मेरे कोड
#pragma omp parallel for
for (unsigned i = 0; i < size; ++i)
do_some_stuff();
है लेकिन मुझे क्या करना चाहते हैं #pragma निष्क्रिय करने के लिए करता है, तो आकार काफी छोटा है अर्थात्:
if (size > OMP_MIN_VALUE)
#pragma omp parallel for
for (unsigned i = 0; i < size; ++i)
do_some_stuff();
लेकिन काम नहीं करता है, बेहतर तरीका पाश दो बार लिखने के लिए है, लेकिन मुझे लगता है कि जिस तरह से करने के लिए नहीं चाहता ...
if (size > OMP_MIN_VALUE)
{
#pragma omp parallel for
for (unsigned i = 0; i < size; ++i)
do_some_stuff();
}
else
{
for (unsigned i = 0; i < size; ++i)
do_some_stuff();
}
ऐसा करने का बेहतर तरीका क्या है?
मैंने #pragma omp समानांतर (आकार> = OMP_MIN_VALUE) के लिए समानांतर उपयोग किया – Arthur