2013-03-06 5 views
0

На данный момент я использую что-то вроде этого, чтобы запустить программу на C++:Установить количество процессоров для OpenMPI

mpirun -np 4 ./test 

Это прекрасно работает, но проблема в том, что я оберточную программу C++ с Python. Поэтому я хочу установить количество процессоров в Python и доставить его в программу на C++.

Возможно ли установить количество используемых процессоров, например. как фиксированное значение в коде C++ без использования командной строки? Как выглядит простой пример?

+0

Я выяснил, что вы не можете установить количество процессоров в программе C++, так как mpirun создает различные копии программы, а не программу, которая сама их порождает. Но вы могли бы это сделать, если бы использовали OpenMP и порождали потоки. Другой возможностью может быть модуль подпроцессов Pythons. – dolby

ответ

0

by -np N, вы устанавливаете количество процессов, а не количество процессоров. Процессоры также назначаются каждому процессу в зависимости от флагов, которые вы предоставляете во время выполнения, или файла ранга, если вы используете. И если вы сосредотачиваетесь на взаимодействии на C++ Python, я думаю, что должен быть способ вызова функций cmd чем-то вроде exec(). Вы можете легко вызвать все, что вы хотите выполнить в командной строке системы!

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