Verwendung von Xeon Phi mit JVM-basierter Sprache

8

Ist es möglich, Xeon Phi mit einer JVM-basierten Sprache wie Scala zu verwenden? Gibt es ein Beispiel?

    
Kokizzu 25.06.2013, 23:53
quelle

3 Antworten

5

Es wird nicht offiziell unterstützt, Sie können JVM jedoch trotzdem selbst erstellen.

Ich habe JamVM mit erstellt GNU Classpath und leicht modifizierte Version von libffi . Sie können auch mit der Zero-Assembler-Version von HotSpot versuchen. Als Ergebnis können Sie eine extrem langsame virtuelle Maschine bekommen - sogar mit 60 Threads war es mehr als 10 Mal langsamer als meine Quad Core Mobile i7 CPU. Auf der anderen Seite ist es eine großartige Möglichkeit, die Skalierbarkeit von Java-Implementierungen zu testen, die auf mehreren Threads gleichzeitig ausgeführt werden.

Eine weitere Idee ist die Verwendung des Aparapi -Tools - Teile des Java-Bytecodes werden in OpenCL übersetzt und auf Phi ausgeführt.

    
Artur Malinowski 30.10.2014, 20:12
quelle
5

Laut ihrer FAQ gibt es noch keine Unterstützung für Java:

Ссылка

F: Gibt es eine Java-Option zum Codieren? A: Noch nicht.

    
user561749 09.08.2013 12:29
quelle
1

Obwohl es sicherlich noch ein weiter Weg ist, Java auf Xeon Phi-Kernen laufen zu lassen, wäre eine Möglichkeit, relativ einfach Xeon-Unterstützung in Ihrem Java-Programm zu erhalten, die Verwendung von Aparapi ( Ссылка ), eine Bibliothek, die eine Untermenge von Java-Byte-Code zur Laufzeit zu OpenCL kompilieren und als OpenCL-Kernel ausführen kann (Xeon Phi unterstützt OpenCL wie jedes andere moderne GPU).

Es ist ein nicht-trivialer Prozess, vorhandenen Java-Code in Aparapi-Kernel umzuwandeln (der von der Kernel run () -Methode aufgerufene Code muss im Wesentlichen Object-free sein - Felder, Parameter und Locals müssen Primitive oder Arrays sein) von Primitiven). Aber wenn die Anzahl der Engpässe, die eine massive Parallelisierung erfordern, gering ist, wird es wahrscheinlich kein großer Aufwand sein, dies zu erreichen.

Dies würde es Ihrem Projekt auch ermöglichen, von einer massiven Parallelisierung anderer Supercomputer-Hardware (wie Nvidia Tesla) zu profitieren.

Mein Verdacht ist, dass es unwahrscheinlich ist, dass "irgendein altes" Java auf Xeon Phi läuft, und selbst wenn, wäre die Optimierung von OpenCL auf Phi weit überlegen.

    
barneypitt 02.04.2015 19:34
quelle