2010-08-02 10 views
29

जावा में जीपीयू प्रोग्रामिंग करना संभव है? मेरा मतलब देशी पुस्तकालयों का उपयोग किए बिना है।जावा जीपीयू प्रोग्रामिंग

और जब हम जीपीयू पर स्विच करते हैं तो प्रदर्शन में कितना सुधार हो सकता है?

संपादित करें:

मैं खेल प्रोग्रामिंग में नहीं देख रहा हूँ, मैं हार्ड कोर संख्या क्रंचिंग करना चाहते हैं।

+1

आप जावा में शेडर प्रोग्राम लिखने का मतलब है शुरू हो रही है? या जीपीयू पर एक शेडर भाषा (जीएलएसएल या एचएलएसएल) में लिखे गए शेडर को लोड करने के लिए जावा का उपयोग करें और इसे चलाएं? AFAICT, कोई जावा -> GPU बाइटकोड कंपाइलर (या जावा बाइटकोड से GPU बाइटकोड में कनवर्टर्स) नहीं हैं, इसलिए आप जावा में अपना जीपीयू प्रोग्राम नहीं लिख सकते हैं। –

+0

अरे दोस्तों, आपने कुछ महत्वपूर्ण शब्दों को फेंक दिया है जिन्हें मैं अनजान हूं !! जैसे मुझे नहीं पता था कि एक छायांकन भाषा क्या थी, लेकिन एक त्वरित Google खोज के बाद पता चला। ठीक है आपके उत्तरों के आधार पर मैं –

उत्तर

11

हां। जावा 3 डी, एलडब्ल्यूजेजीएल और जॉगएल समर्थन GLSL (ओपनजीएल छायांकन भाषा)।

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

ऐसा लगता है कि आपका आदर्श ओपनसीएल समर्थन के साथ लिखा गया एक जेवीएम होगा। ऑनलाइन खोजना, मुझे इस विचार में थोड़ी दिलचस्पी मिली लेकिन किसी भी प्रमुख समर्थन का कोई सबूत नहीं।

कैसे एक प्रदर्शन में सुधार की ज्यादा एक उम्मीद कर सकते हैं

कि प्रणाली आप पर चला रहे हैं और डेटा किस तरह आप प्रोसेस कर रहे हैं पर निर्भर करता है (मैट्रिक्स और वेक्टर गणित GPUs पर अत्यंत कुशल है)। आपको दो शक्तिशाली जीपीयू और एक मामूली सिंगल-कोर सीपीयू के साथ मेरी तरह की प्रणाली पर कुछ प्रमुख लाभ मिलेगा। हालांकि एक मामूली जीपीयू और क्वाड-कोर सीपीयू वाले कंप्यूटर पर, प्रदर्शन लाभ में ओवरहेड पर काबू पाने में मुश्किल हो सकती है।

+5

संपादित करने जा रहा हूं, शायद वह जेओसीएल की तलाश में है। http://www.jocl.org/ –

+1

जेओसीएल ट्यूटोरियल: http://www.codeproject.com/KB/recipes/opencl-part1.aspx – rwong

+1

यह भी देखें [rootbear] https://github.com/pcpratts/ rootbeer1/ –

2

आप अभी भी देशी पुस्तकालयों का उपयोग किए बिना GPU पर जावा में क्रंचिंग हार्ड कोर संख्या पर विचार कर रहे हैं, तो आप इस ब्लॉग लेख http://ateji.blogspot.com/2011/02/java-on-gpu-with-ateji-px.html हम (मैं Ateji टीम का हिस्सा हूं) ऊपर 60x इतना करने के प्रदर्शन को देखा है द्वारा रुचि हो सकती है जावा अनुप्रयोगों पर बहुत अधिक है जो बड़े पैमाने पर समांतर किया जा सकता है।

+0

मैंने आपके लिंक किए गए ब्लॉग में एक प्रश्न पोस्ट किया। वास्तव में ऐसी सुविधा लेना चाहेंगे। –

5

Rootbeer1 सिर्फ GitHub पर जारी की गई है: https://github.com/pcpratts/rootbeer1

rootbeer के साथ आप निम्नलिखित को छोड़कर लगभग किसी भी जावा का उपयोग कर कार्यक्रम कर सकते हैं:

  1. देशी तरीकों और क्षेत्रों
  2. प्रतिबिंब
  3. गतिशील विधि मंगलाचरण
  4. कचरा संग्रह
  5. नींद एक मॉनिटर

इसका मतलब है कि आप समग्र प्रकार के साथ मनमानी ऑब्जेक्ट ग्राफ़ का उपयोग कर सकते हैं।

0

डीईएफ़ rootbeer1 की जाँच, लेकिन क्या आप वाकई एक CUDA GFX कार्ड स्वीकार किए जाते हैं पहले से पहले आप उस पर शुरू और NVIDIA सेटअप आदि

डाउनलोड लिंक सब कुछ कर लिया है बनाने की जरूरत है: गूगल CUDA डाउनलोड

गाइड http://developer.download.nvidia.com/compute/DevZone/docs/html/C/doc/CUDA_C_Getting_Started_Windows.pdf

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