दिलचस्प पोस्ट
"बंडल डिस्प्ले नाम" और "बंडल नेम" के बीच के कोको एप्लिकेशन की जानकारी सूची में क्या अंतर है $। एजेक्स संदर्भ विकल्प जावा में दो JSON ऑब्जेक्ट्स की तुलना करें लिंक किए गए सर्वर MySQL कैसे बनाएँ वर्तमान फ़ोल्डर का रास्ता ढूंढें – सीएमडी जावा के संदर्भ वर्गों को समझना: सॉफ्टआरिफरेंस, वीक रेफेरेंस, और फैंटम रेफरेंस बास सरणी में कोई मूल्य शामिल है या नहीं Ghostscript DLL का उपयोग किए बिना छवि में पीडीएफ कन्वर्ट पाश में बुलाए गए डीबी प्रश्नों से पुनर्प्राप्त डेटा वापस लाने में समस्या मैं Excel VBA में एक परिवर्तित सेल का पुराना मान कैसे प्राप्त करूं? बैच में एक सूची को तोड़ने के लिए आम उपयोग पायथन त्रुटि: "मान त्रुटि: अनपैक करने के लिए 1 से अधिक मान की आवश्यकता है" वेब फ़ॉर्म सबमिट करने के लिए एन्टर कीप्रेस को कैसे रोकें? कार्यों और loops के भीतर डेटा का उपयोग कैसे करें? अजगर सूची से आइटम को कैसे निकालना है यदि कोई शर्त सत्य है?

ओपनएमपी समय और घड़ी () दो अलग-अलग परिणामों की गणना करता है

मेरे पास OpenMP द्वारा समानांतर करने के लिए अनुक्रमिक कोड है मैंने इसी प्रगति को रखा है और इसका परीक्षण किया है। परीक्षण करते समय मैं मुख्य फ़ंक्शन में बिताए गए समय की जांच करके प्रदर्शन लाभ की व्याख्या करता हूं। अजीब बात यह है कि cpu_time() और omp_get_wtime() द्वारा गणना की जाने वाली बीत गई समय दो अलग-अलग परिणाम देता है आपको क्या लगता है?

cpu_time() फ़ंक्शन के द्वारा गणना की गई cpu_time() समय अनुक्रमिक समय के समान है

गणना शुरू होने से पहले

 ctime1_ = cpu_time(); #ifdef _OPENMP ctime1 = omp_get_wtime(); #endif 

गणना के समाप्त होने के बाद

 ctime2_ = cpu_time(); #ifdef _OPENMP ctime2 = omp_get_wtime(); #endif 

cpu_time () फ़ंक्शन परिभाषा

 double cpu_time(void) { double value; value = (double) clock () / (double) CLOCKS_PER_SEC; return value; } 

प्रिंटिंग परिणाम

 printf("%f - %f seconds.\n", ctime2 - ctime1, ctime2_ - ctime1_); 

नमूना परिणाम

 7.009537 - 11.575277 seconds. 

Solutions Collecting From Web of "ओपनएमपी समय और घड़ी () दो अलग-अलग परिणामों की गणना करता है"

clock समारोह सीपीयू समय को नियंत्रित करता है, जब आप CPU पर सक्रिय रूप से खर्च करते हैं, तो OMP फ़ंक्शन समय को मापता है क्योंकि यह निष्पादन के दौरान पारित किया गया है, दो पूरी तरह से अलग चीजें।

आपकी प्रक्रिया को कहीं और इंतजार में अवरुद्ध लगता है

जो भी आप देख रहे हैं वह किसी भी समानांतर अनुप्रयोग के लिए बिल्कुल सही परिणाम है – clock() द्वारा दिए गए सभी धागे के संयुक्त CPU समय आमतौर पर omp_get_wtime() द्वारा मापा omp_get_wtime() clock() समय से अधिक होता है, यदि आपके एप्लिकेशन में ज्यादातर सोए या प्रतीक्षा करता है

clock() फ़ंक्शन सीपीयू का समय देता है, दीवार का समय नहीं। इसके बजाय, gettimeofday() उपयोग gettimeofday()