2010-02-10 14 views
8

शीर्षक के रूप में, मुझे आईफोन/आईपॉड प्रोसेसर के लिए अनुकूलित सी में वेक्टर/मैट्रिक्स लाइब्रेरी मिल रही है। या बस आम तौर पर तेज़।आईफोन गेम के लिए सी में सबसे तेज़ वेक्टर/मैट्रिक्स गणित लाइब्रेरी क्या है?

--- (संपादित करें) ---

मैं स्पष्ट नहीं प्रश्न के लिए माफी चाहता हूँ। मैं आईफोन/आईपॉड के लिए वाणिज्यिक गेम के लिए तेजी से lib की तलाश में हूं। तो जीपीएल lib का उपयोग नहीं किया जा सकता है।

हालांकि, मैं सबसे तेज़ lib ढूंढना बंद कर दूंगा, यह शायद अर्थहीन हो सकता है।

+0

कोई भी लोकप्रिय मैट्रिक्स लाइब्रेरी तेज़ी से होनी चाहिए - एल्गोरिदम मूल गणित हैं। –

+0

आपको पूरा होने पर मिल जाएगा, अभी आप अभी भी खोज रहे हैं ;-) – fortran

+0

ओह दोस्तों, आपने जो कहा वह बहुत है। धन्यवाद। – Eonil

उत्तर

5

अब (2010.06.26) आईओएस 4 पर शामिल ढांचे को तेज करें, इसलिए वीडीएसपी/बीएलएएस फ़ंक्शन उपलब्ध हैं।

यह फ्लोटिंग पॉइंट ऑपरेशंस में तेजी लाने के लिए हार्डवेयर फीचर (सीपीयू या सिमड) का उपयोग करता है, इसलिए इसका उपयोग करके बेहतर गति (2 ~ 4.5x औसत, 8x अधिकतम) और कम ऊर्जा (0.25x अधिकतम) उपभोग प्राप्त किया जा सकता है।

अन्य उत्तरों के लिए धन्यवाद लोग।

+0

+1 मैंने सफलतापूर्वक cblas फ़ंक्शंस का उपयोग किया है और एक बार जब आप उनके दस्तावेज़ों का लटका लेते हैं, तो वे काफी उपयोगी होते हैं। –

+0

+1 यह मेरे वर्तमान प्रोजेक्ट के लिए इतना उपयोगी है कि मैं इसे केवल आईओएस 4.0 + के लिए विकसित कर रहा हूं ... खुशी है कि आपने इसका उल्लेख किया है। – Rab

2

आपकी आवश्यकताओं पर बहुत अधिक निर्भर करता है, अगर आप सीधे फ़्लोटिंग पॉइंट गणित का उपयोग कर रहे हैं तो आपको शायद यह पता चलेगा कि कंपाइलर सॉफ़्टवेयर फ़्लोटिंग पॉइंट का उपयोग करेगा, जो बहुत धीमा होगा। तो चरण एक यह सुनिश्चित कर रहा है कि आईफोन प्रोसेसर में उपलब्ध हार्डवेयर फ़्लोटिंग पॉइंट यूनिट का उपयोग करें।

चरण दो पहले से ही अच्छी तरह से स्थापित पुस्तकालय का उपयोग कर रहा है, कई हैं, हसन ने आपको पहले से ही जीएनयू जीएसएल के लिए एक लिंक प्रदान किया है जो अच्छा है।

अगला कदम क्षमताओं की तरह वीएफपी सिम का लाभ उठाना होगा। वीएफपी वास्तव में सिम नहीं है, लेकिन सिमड निर्देशों की तरह प्रदान करता है जिसके लिए व्यक्तिगत संचालन लगातार प्रदर्शन कर रहे हैं। इन निर्देशों का उपयोग करने का लाभ यह है कि आपका प्रोग्राम टेक्स्ट छोटा होगा, निर्देश कैश के बेहतर उपयोग की अनुमति देगा और शाखा भविष्यवाणियों को याद करते समय और कम समस्याएं। हालांकि मुझे वीएफपी का लाभ लेने वाले किसी भी वेक्टर लाइब्रेरी से अवगत नहीं है, आपको एक अच्छी खोज करना होगा और यदि यह उपलब्ध नहीं है तो संभवतः अपना खुद का लिखना होगा।

अंत में, यदि आपको अभी भी अधिक गति की आवश्यकता है, तो आप आईफोन प्रोसेसर में सही सिम इकाई का उपयोग करना चाहेंगे। हालांकि यह इकाई एक फ्लोटिंग पॉइंट इकाई नहीं है, लेकिन एक पूर्णांक इकाई है। इसलिए, यह मानते हुए कि आप वास्तविक संख्या चाहते हैं, आप निश्चित बिंदु से फंस जाएंगे, यह आपके आवेदन पर निर्भर करता है कि क्या आप इससे दूर हो सकते हैं। फिर से मैं किसी भी वेक्टर लाइब्रेरी से अवगत नहीं हूं जो आईफोन प्रोसेसर द्वारा प्रदान की गई सिमड यूनिट का उपयोग करके निश्चित बिंदु अंकगणित प्रदान करता है, इसलिए फिर आपको पूरी तरह से खोज की आवश्यकता होगी और संभवतः आपके हाथों को गंदे मिल जाएंगे।

+1

धन्यवाद। मेरा अनुरोध इतना महत्वपूर्ण नहीं है, इसके लिए वीएफपी/सिमड लागू करना बहुत भारी काम है। मेरी इच्छा है कि जीसीसी ऑटो-वेक्टरेशन मुझे बचाए। – Eonil

संबंधित मुद्दे