Форум вопросов и ответов

Форум вопросов и ответов (https://www.otvetnemail.ru/)
-   Продолжение старого архива (https://www.otvetnemail.ru/prodolzhenie-starogo-arhiva-804/)
-   -   [РЕШЕНО] OpenMP и деление дерева (https://www.otvetnemail.ru/prodolzhenie-starogo-arhiva-804/resheno-openmp-i-delenie-dereva-364969/)

Guest 01.10.2011 03:01

[РЕШЕНО] OpenMP и деление дерева
 
Добрый деньИспользую OpenMP и весьма доволен этой библиотекой. Не могу сообразить как мне распараллелить деление дерева, алгоритм стандартный:- Есть очередь нодов, (вначале только с 1 нодом). - Извлекаем первый нод из очереди, делим его на 2 нода- Подсчитываем приоритеты получившихся нодов, и, если надо, добавляем их в очередь - Опять извлекаем первый нод (нод с наивысшим приоритетом) из очереди и.т.дНод хранит список примитивов которые его пересекают. Приоритет вычисляется как число примитивов в ноде помноженное на его размер. Все работает. Теперь как задействовать N ниток? Понятно что помещение в очередь и извлечение из нее должны быть защищены блокировками. Возможна ситуация когда очередь пуста, но это не значит "конец расчета" - нод(ы) делятся в др. нитках. Как бы мне это все организовать попроще и покрасивее?Спасибо


Часовой пояс GMT, время: 03:39.


© www.otvetnemail.ru - Форум вопросов и ответов.