Russian Qt Forum
Ноябрь 23, 2024, 04:36 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Распределение нагрузки  (Прочитано 1736 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« : Май 17, 2012, 04:43 »

Добрый день

Есть такой параллельный код
Код
C++ (Qt)
#pragma omp parallel for schedule dynamic(1)
for (int i = 0; i < data.size(); ++i) {
KDTree tree;
tree.Init(data[i]);  // строим дерево
DoCalc1(data[i]);  // этот вызов дерево не использует
DoCalc2(data[i], tree);  // а этот использует и должен вызываться после DoCalc1
}
 
Это работает, но увы, частенько случается что половина (или больше) всех расчетов приходятся всего на 1-2 data[ i ], а остальные нитки быстро сделали свои дела и ждут. Перераспределение до упора (schedule dynamic) недостаточно. Как бум ускоряться?

Спасибо
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.117 секунд. Запросов: 22.