vi должен уважать вкладки и пробелы, однако необходимо полагать, что vi может использовать различные вкладки длины, чем другой редактор. Можно ли быть больше конкретными, чем "целая испорченная вещь"?
#include <omp.h>
...
int target_thread_num = 4;
omp_set_num_threads(target_thread_num);
unsigned long times[target_thread_num];
// Initialize all the times
#pragma omp parallel
{
int thread_id = omp_get_thread_num();
times[thread_id] = start_time();
std::cout << "Thread number: " << omp_get_thread_num() << endl;
times[thread_id] = end_time();
}
...
Очевидно, вам не нужно предоставлять две функции таймера, но в этом суть. Функции OMP говорят сами за себя. Также убедитесь, что ваша среда настроена правильно и что вы компилируете с соответствующими механизмами. Параметр g ++ - -fopenmp. В Visual Studio перейдите в настройки проекта, C ++, Язык и включите «Поддержка OpenMP».
Вы можете использовать диспетчер задач Windows (CTRL-SHIFT-ESC) в Windows для мониторинга загрузки ЦП или использовать * nix-боксы.
Просто проверьте, используется ли много ядер или нет
Вы можете использовать свой отладчик (Visual Studio, если вы работаете в Windows), чтобы: