Как я могу запустить несколько потоков в JOMP в Windows (10) из командной строки или в Eclipse? - PullRequest
0 голосов
/ 02 июня 2018

Я не могу заставить работать несколько потоков, используя JOMP, что бы я ни пытался.На самом деле я не могу запустить программу JOMP из командной строки, независимо от того, что я пытаюсь на самом деле, хотя по иронии судьбы она будет компилироваться оттуда и затем запускаться в Eclipse!Даже в Eclipse, хотя у меня есть только один поток.Я внимательно прочитал заметки из моего университетского курса об установке JOMP, но они не помогли.Я буду более конкретным, хотя:

Элементы в кавычках ниже из этих заметок:

  1. "Есть несколько сайтов, которые рассказывают вам, как заставить Jomp работать под Eclipse,см. http://www.lst.inf.ethz.ch/teaching/lectures/ss10/24/ assignments / assignment_10 / eclipse.txt "

Это относится к разорванной ссылке.Похоже, что это единственная ссылка, на которую ссылаются пользователи форумов, например Stackoverflow, когда говорят об этой проблеме.Очевидно, в нем есть инструкции по настройке среды выполнения для Eclipse, позволяющие запускать несколько потоков, но поскольку ссылка в настоящее время не работает, я не могу получить доступ к этим ценным инструкциям.

"Все, что требуется для этого, - убедиться, что jomp1.0b.jar находится на CLASSPATH"

Я запустил echo% CLASSPATH% в командной строке, чтобы проверить, если оннаходился в пути к классу и получил следующий ответ:

C: \ Program Files \ Java \ jre1.8.0_162 \ lib \ jomp1.0b.jar

На моем компьютере файл JAR JARнаходится в этой папке, так что, похоже, я смогу выполнить скомпилированные программы JOMP из командной строки, но, к сожалению, это не так.Выполнив одну из этих команд, она должна выполнить:

java -Djomp.threads = 2 параллельно

java -Djomp.threads = 2 -cp.параллельный

java -Djomp.threads = 2 -cp C: \ Users \ terry \ eclipse-workspace \ JOMPHello \ src parallel

Это папка, в которой находятся файлы jomp, java и скомпилированные классыв. Я также проверил, является ли «параллель» полностью квалифицированным именем класса, как я его настроил в Eclipse, и похоже, что так оно и есть.Поэтому выполнение одной из этих команд должно позволить мне запускать программу jomp из командной строки настолько близко, насколько я могу судить, но все они возвращают следующую ошибку:

Ошибка: не удалось найти или загрузить параллельный основной класс. Причинаby: java.lang.ClassNotFoundException: parallel

(На что я чувствую, что говорю Java: «Вы не смотрите достаточно усердно! Это прямо в папке, из которой я запускаю эту команду!»)

Я явно что-то упускаю.Может кто-нибудь сказать мне, как запускать JOMP-программы в командной строке, или, альтернативно, знает, где есть доступные инструкции о том, как настроить работу во время выполнения настроек в Eclipse?

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

Спасибо, Терри.

1 Ответ

0 голосов
/ 06 июня 2018

Я понял, как настроить аргумент времени выполнения в Eclipse.Вам просто нужно добавить следующую строку в поле «Аргументы виртуальной машины» на вкладке «Аргумент» в разделе «Конфигурации запуска» для файла:

−Djomp.threads=n 

(где n, как и раньше, - это количество потоков, которое вы хотите).

Я все же хотел бы знать, почему он не работает в командной строке.Это заставляет меня думать, что моя Java настроена странно.

...