यह काफी दिलचस्प सवाल है तो मुझे सीन सेट करने दीजिए। मैं द नेशनल म्यूजियम ऑफ़ कम्प्यूटिंग में काम करता हूं, और हम 1992 से चल रहे क्रे वाई-एमपी ईएल सुपर कंप्यूटर पाने में कामयाब रहे हैं, और हम वास्तव में देखना चाहते हैं कि यह कितनी तेजी से चल सकता है!
हमने तय किया कि ऐसा करने का सबसे अच्छा तरीका एक साधारण सी प्रोग्राम लिखना है जो प्राइम नंबरों की गणना करेगा और यह दिखाएगा कि ऐसा करने में कितना समय लगा, फिर प्रोग्राम को तेज़ आधुनिक डेस्कटॉप पीसी पर चलाएं और परिणामों की तुलना करें।
प्राइम नंबर गिनने के लिए हम जल्दी से इस कोड के साथ आए:
#include <stdio.h>
#include <time.h>
void main() {
clock_t start, end;
double runTime;
start = clock();
int i, num = 1, primes = 0;
while (num <= 1000) {
i = 2;
while (i <= num) {
if(num % i == 0)
break;
i++;
}
if (i == num)
primes++;
system("clear");
printf("%d prime numbers calculated\n",primes);
num++;
}
end = clock();
runTime = (end - start) / (double) CLOCKS_PER_SEC;
printf("This machine calculated all %d prime numbers under 1000 in %g seconds\n", primes, runTime);
}
हमारे दोहरे कोर लैपटॉप पर जो उबंटू चल रहा है (क्रे क्रे यूनिकोस चलाता है), पूरी तरह से काम करता है, 100% सीपीयू का उपयोग कर रहा है और लगभग 10 मिनट या तो ले रहा है। जब मुझे घर मिला तो मैंने अपने हेक्स-कोर आधुनिक गेमिंग पीसी पर इसे आजमाने का फैसला किया और यही वह जगह है जहां हमें अपने पहले मुद्दे मिलते हैं।
मैंने पहली बार विंडोज पर चलने के लिए कोड को अनुकूलित किया था, क्योंकि गेमिंग पीसी जो उपयोग कर रहा था, लेकिन यह जानकर दुख हुआ कि यह प्रक्रिया केवल सीपीयू की शक्ति का लगभग 15% थी। मुझे लगा कि विंडोज विंडोज होना चाहिए, इसलिए मैंने उबंटू की एक लाइव सीडी में यह सोचकर बूट किया कि उबंटू अपनी पूरी क्षमता के साथ प्रक्रिया को चलाने की अनुमति देगा जैसा कि उसने पहले मेरे लैपटॉप पर किया था।
हालाँकि मुझे केवल 5% उपयोग मिला! तो मेरा सवाल यह है कि, मैं अपने गेमिंग मशीन पर चलने के लिए प्रोग्राम को विंडोज 7 या लाइव लिनक्स में 100% CPU उपयोग में कैसे अनुकूलित कर सकता हूं? एक और चीज जो बहुत अच्छी होगी लेकिन जरूरी नहीं है कि अंतिम उत्पाद एक .exe हो सकता है जिसे आसानी से वितरित किया जा सकता है और विंडोज मशीनों पर चलाया जा सकता है।
आपका बहुत बहुत धन्यवाद!
निश्चित रूप से इस कार्यक्रम वास्तव में Crays 8 विशेषज्ञ प्रोसेसर के साथ काम नहीं किया, और यह एक पूरी अन्य समस्या है ... यदि आप 90 के क्रे सुपर कंप्यूटरों पर काम करने के लिए कोड के अनुकूलन के बारे में कुछ भी जानते हैं तो हमें एक चिल्लाओ!