Использование Xeon Phi с языком на основе JVM

Можно ли использовать Xeon Phi с помощью языка на основе JVM, такого как Scala? Есть ли пример?


person Kokizzu    schedule 25.06.2013    source источник
comment
Вы искали примеры Java? Все оттуда будет работать и в Scala.   -  person Display Name    schedule 28.06.2013


Ответы (3)


Официально он не поддерживается, однако вы все равно можете собрать JVM самостоятельно.

Я создал JamVM с GNU Classpath и немного измененная версия libffi. Вы также можете попробовать версию HotSpot без ассемблера. В результате вы можете получить чрезвычайно медленную виртуальную машину — даже при использовании 60 потоков она была более чем в 10 раз медленнее, чем мой четырехъядерный мобильный процессор i7. С другой стороны, это отличная возможность протестировать масштабируемость реализаций Java, работающих одновременно с десятками потоков.

Другая идея состоит в том, чтобы использовать инструмент Aparapi — части байт-кода Java транслируются в OpenCL и выполняются на Phi. .

person Artur Malinowski    schedule 30.10.2014
comment
Как я могу использовать JamVM на сопроцессоре Intel Xeon Phi? Есть ли способ запустить его на Xeon phi без использования компилятора Intel? И как я могу использовать несколько потоков, поддерживаемых Xeon Phi? - person KrystosTheOverlord; 07.06.2020
comment
Вау, это было много лет назад :). Вы можете собрать его без компилятора Intel, используя GCC (stackoverflow.com/q/18141941/2865997). Для нескольких потоков подойдет любая многопоточная библиотека Java, вы также можете поискать руководства по написанию потоков Java с нуля. Имейте в виду, что я построил его для довольно старого устройства (сейчас архитектура может быть другой), и это был всего лишь эксперимент, который привел к очень плохой производительности. - person Artur Malinowski; 09.06.2020

Согласно их FAQ, Java еще не поддерживается:

http://software.intel.com/en-us/articles/intelr-xeon-phitm-coprocessor-february-developer-webinar-qa-responses

В: Есть ли вариант Java для кодирования? О: Еще нет.

person user561749    schedule 09.08.2013
comment
Далее (23 октября 2013 г.): В: Будет ли Xeon Phi поддерживать Java? В FAQ на сайте Intel написано: «Еще нет». Есть ли сроки для этого? О: Сроков пока нет. программное обеспечение. intel.com/en-us/articles/ Я очень надеюсь, что они сделают это хорошо. Scala (Akka) предоставляет абстракцию для программирования такого оборудования. - person akauppi; 26.01.2014

Хотя до запуска Java на ядрах Xeon Phi, безусловно, далеко, одним из возможных способов относительно легко получить поддержку Xeon в вашей Java-программе будет использование Aparapi (https://github.com)./aparapi/aparapi), которая может выполнять кросс-компиляцию подмножества байт-кода Java в OpenCL во время выполнения и выполнять его как Ядро OpenCL (Xeon Phi поддерживает OpenCL, как и любой современный GPU).

Это нетривиальный процесс преобразования существующего кода Java для запуска в качестве ядер Aparapi (код, вызываемый из самого метода run() ядра, должен быть по существу свободным от объектов - поля, параметры и локальные переменные должны быть примитивами или массивами примитивов) . Но если количество узких мест, требующих массивного распараллеливания, невелико, добиться этого, вероятно, не составит большого труда.

Это также позволит вашему проекту извлечь выгоду из массового распараллеливания на другом суперкомпьютерном оборудовании (например, Nvidia Tesla).

Я подозреваю, что запуск «любой старой» Java на Xeon Phi вряд ли когда-либо будет поддерживаться, и даже если бы это было так, оптимизация OpenCL на Phi оставалась бы намного лучше.

person barneypitt    schedule 02.04.2015