2013-06-05 5 views
1

Должен признать, что я читал документацию по параллельному протоколу gnu, и я не мог найти то, что искал. Мне нужно запустить код с несколькими параметрами. Код интенсифицирован по математике, и он занимает до 5 дней на компьютере 3Ghz, работающем в одном ядре. Я использовал gfortran с -fopemp раньше, но теперь я запускаю этот код на C, так что параллель gnu кажется адекватной. Теперь к вопросу, мне нужно выполнить wcmap.c со следующими параметрами, используя хороший и поЬир:GNU Параллельный запуск кода с несколькими опциями

nohup nice -n 19 ./wcmap --slon_min 74.5 --slon_max 74.5 --ll_0_min 325 --ll_0_max 340 --bet_min 0.0 --bet_max 15 --vg 38.9 --ll_0_step 0.5 --bet_step 0.5 --path PARALLEL/ MORHIST-Exit.dat 

Я пытался Gnu параллельно без успеха

parallel --gnu nice -n 19 ./wcmap --slon_min 74.5 --slon_max 74.5 --ll_0_min 325 --ll_0_max 340 --bet_min 0.0 --bet_max 15 --vg 38.9 --ll_0_step 0.5 --bet_step 0.5 --path PARALLEL/ MORHIST-Exit.dat ::: 

мне нужно оставить это работает на нескольких узлах в течение нескольких дней на удаленном сервере. Или даже на моем офисном компьютере (4 ядра), поэтому я использую nohup из удаленного сеанса. Любые предложения приветствуются! Спасибо заранее! Sebastian

+0

Кажется, что со ссылкой на команды на самом деле работает, но я все еще получаю «параллель: входной сигнал читайте с терминала. Только специально это делают. Нажмите CTRL-D, чтобы выйти. " сообщение. Теперь он работает на двух потоках. – user2457231

+0

Вы начали с чтения и понимания примеров? http://www.gnu.org/software/parallel/man.html#example__working_as_xargs__n1__argument_appending –

ответ

0

GNU Parallel не может волшебным образом распараллелить внутренние части вашей программы wcmap. Что он может сделать, так это запустить wcmap с разными параметрами параллельно. Итак, давайте предположим, что вы хотите запустить:

./wcmap --slon_min 74.5 --slon_max 74.5 MORHIST-Exit.dat 
./wcmap --slon_min 75 --slon_max 75 MORHIST-Exit.dat 
./wcmap --slon_min 75.5 --slon_max 75.5 MORHIST-Exit.dat 
./wcmap --slon_min 76 --slon_max 76 MORHIST-Exit.dat 

Затем вы можете сделать это с помощью GNU Parallel:

parallel ./wcmap --slon_min {} --slon_max {} MORHIST-Exit.dat ::: 74.5 75 75.5 76 
+0

Спасибо, Оле. Да, требуется несколько пробегов в солнечной долготе. Я знал об этом, но я не знаю, это могло бы иметь значение. Каждое ядро ​​- фактически один поток, и я ожидал несколько потоков на ядро. Таким образом, 24 ядра доступны для меня на самом деле 24 потока. Я начну вручную эти прогоны, по одному на поток, беря все потоки. Еще раз спасибо! – user2457231

Смежные вопросы