छवि का आकार बदलने के कई वेबसाइटों है कि छवि अपलोड स्वीकार पर आम होना चाहिए।
2600ish x 2000ish 2 एमबी जेपीईजी छवि (512x512) का आकार बदलकर पूर्णतम निम्नतम विकल्पों और निकटतम पड़ोसी नमूने के साथ सी # में 23.5 मिलीसेकंड ले लिया। प्रयुक्त फ़ंक्शन graphics.DrawImage()
आधारित था। सीपीयू उपयोग भी% 21.5 था।
सी # पक्ष पर "आरजीबीए बाइट सरणी" निष्कर्षण प्राप्त करना और इसे जीपीयू में भेजना और जीपीयू में आकार बदलना और एक छवि में परिणाम प्राप्त करना 6.3 मिलीसेकंड और सीपीयू उपयोग% 12.7 था। यह केवल 320 कोर के साथ एक 55 55 सस्ता जीपीयू के साथ किया गया था।
केवल 3.73 एक्स स्पीडअप गुणक।
सीमित कारक यहाँ था, GPU को निकाले 20MB rgb डेटा (jpeg केवल 2 एमबी है!) भेज दिया। उस समय उपभोग करने वाला हिस्सा कुल समय का लगभग 9 0% था, जिसमें सी # साइड बाइट सरणी निष्कर्षण शामिल था! इसलिए मैं अनुमान लगाता हूं कि जीपीयू में निष्कर्षण भाग भी किया जा सकता है, तो कम से कम 30 एक्स स्पीडअप होगा।
30X खराब नहीं है।
फिर आप और अधिक गति प्राप्त करने के लिए मेमोरी कॉपी विलंबता को छिपाने के लिए आकार बदलने वाली परत के साथ निष्कर्षण परत पाइपलाइन कर सकते हैं! यह 40X-50X हो सकता है।
फिर नमूना की गुणवत्ता में वृद्धि करें (जैसे निकटतम पड़ोसी के बजाय बाइबिक), आपके पास GPU पक्ष में और भी अधिक लाभ है। 5x5 गॉसियन फ़िल्टर जोड़ने से केवल 0.77 मिलीसेन्ड जोड़े गए। सीपीयू को इसके ऊपर कुछ उच्च समय मिलेगा, खासकर यदि गॉसियन पैरामीटर की आवश्यकता सी # .Net कार्यान्वयन से अलग है।
भले ही आप speedup अनुपात से संतुष्ट नहीं हैं, GPU को उतारने और सीपीयू पर एक "मुक्त मूल" होने में अभी भी उस सर्वर से अधिक काम को आगे बढ़ाने के लिए लाभदायक है।
अब GPU पावर खपत के स्तर (30W बनाम 125W बनाम इस उदाहरण में) का तथ्य जोड़ें, यह अधिक फायदेमंद है। जब दोनों पक्षों अनुकूलित कोड पर चलने
सीपीयू शायद ही
C[i]=A[i]+B[i]
मानक में जीत सकता है और आप अभी भी GPU को सरणियों के आधे बेचने और एक ही समय में सीपीयू + GPU का उपयोग करके जल्दी समाप्त कर सकते हैं।
जीपीयू गैर वर्दी कार्यों के लिए नहीं बनाया गया है। जीपीयू की शाखाओं की वजह से स्टॉल के बाद गहरी पाइपलाइनें खड़ी होती हैं, बहुत लंबी लगती है। सिमड टाइप हार्डवेयर भी इसे सभी वर्कटाइम पर एक ही काम करने के लिए मजबूर करता है। जब एक वर्कटाइम समूह की तुलना में एक अलग चीज करता है, तो यह ट्रैक खो देता है और पूरे सिम पाइपलाइन में बुलबुले जोड़ता है या बस अन्य सिंक पॉइंट की प्रतीक्षा करते हैं। तो ब्रांसिंग गहरे और चौड़े पाइपलाइन क्षेत्रों दोनों को प्रभावित करता है और इसे पूरी तरह से अराजक स्थितियों में सीपीयू से भी धीमा कर देता है।
जोर ने संस्करण 1.1 जारी किया है। – Eric