Как можно использовать OpenMP внутри Java-кода? - PullRequest
0 голосов
/ 20 ноября 2010

У меня есть проект Java, в котором я должен добиться распараллеливания с помощью технологии OpenMP (то есть я должен каким-то образом создать мост между C / C ++ и Java). До сих пор мне рассказывали об использовании JNI для интеграции кода C / C ++ в java, но мне также предложили использовать JaMP. Я не очень разбираюсь в этих методах / инфраструктурах, поэтому мой вопрос в том, какой из них менее болезненно использовать, и вообще, как я могу реализовать OpenMP в Java-коде? Могу ли я достичь той же функциональности, используя только потоки Java (без использования OpenMP)? Я новичок в этой области, поэтому любая помощь очень ценится.

Подсказка: проект состоит в том, чтобы создать совместный графический редактор, "поместив" в одно ядро ​​взаимодействие между сервером и клиентами и "поместив" в другое ядро ​​эффективную графическую обработку.

Ответы [ 2 ]

5 голосов
/ 20 ноября 2010

Из вашего краткого и немного запутанного объяснения вашего проекта я не вижу никакой необходимости вообще использовать OpenMP. Все, что вы хотите сделать, может быть сделано полностью в Java, которая имеет хорошие (достаточные) возможности для параллельного программирования.

OpenMP был разработан для совершенно другого типа «параллельной» программы - действительно для параллельных программ; по сути, он предназначен для распределения итераций цикла между процессорами. Это не очень подходит для вашей проблемы.

Если вам сказали, что вы должны использовать Java и OpenMP, то я полагаю, что вы должны. Если это так, иди с JaMP. Только если кто-то приставит пистолет к твоей голове, ты должен идти по пути Java + JNI + C / C +++ OpenMp.

0 голосов
/ 30 мая 2012

Фьючерсы также можно посмотреть на ваш проект.Что, я думаю, не используется многими традиционными программистами для распараллеливания их работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...