समानांतर क्यों नहीं करता है, मैंने अभी OpenMP का उपयोग करने का तरीका सीखना शुरू कर दिया है। मैं यह पता लगाने की कोशिश कर रहा हूं कि निम्न कोड विजुअल स्टूडियो 2008 के साथ समानांतर में क्यों नहीं चलता है। यह संकलित करता है और ठीक चलाता है। हालांकि यह मेरी क्वाड कोर मशीन पर केवल एक कोर का उपयोग करता है। यह कोड का हिस्सा है जिसे मैं MATLAB मैक्स फ़ंक्शन पर पोर्ट करने का प्रयास कर रहा हूं। किसी भी सूचक की सराहना की है।यह जानने की कोशिश कर रहा है कि ओपनएमपी कोड
#pragma omp parallel for default(shared) private(dz, t, v, ts_count) reduction(+: sum_v)
for(t = 0; t<T; t++)
{
dz = aRNG->randn();
v += mrdt* (tv - v) +
vv_v_sqrt_dt * dz +
vv_vv_v_dt*(dz*dz - 1.);
sum_v += v;
if(t == ts_count-1)
{
int_v->at_w(k++) = sum_v/(double)(t+1);
ts_count += ts;
}
}
आपको लूप के भीतर यादृच्छिक संख्या जनरेटर के अपने से कुछ पर विचार करना चाहिए। इसके कार्यान्वयन के आधार पर यह उपरोक्त मुद्दे को संबोधित करने के बाद आपके कोड को प्रभावी ढंग से क्रमबद्ध करने के लिए साझा संसाधन को लॉक कर सकता है। –