Почему я должен использовать Grand Central Dispatch вместо OpenMP?

Apple представила Grand Central Dispatch (пул потоков) в Snow Leopard, но не объяснила, почему его следует использовать поверх OpenMP, который является кроссплатформенным и также работает на Leopard. Они оба довольно просты в использовании и похожи по своим возможностям. Итак, есть идеи?


person vt.    schedule 02.09.2009    source источник


Ответы (3)


GCD гораздо лучше подходит для оценки во время выполнения соответствующего уровня ресурсов для решения проблемы — OpenMP решает, сколько потоков вызывать для набора параллельных задач, на основе такой информации, как переменные среды. GCD анализирует текущую загрузку системы и количество доступных ядер и позволяет запускать соответствующее количество потоков, увеличивая и уменьшая масштаб по мере изменения использования ресурсов в режиме реального времени. Это означает, что в общем случае программа НОД должна давать лучшие результаты. Конечно, если вы купили кластер выделенных блоков для запуска своего кода, то это спорный вопрос, потому что вашему коду будет не с чем конфликтовать.

person Community    schedule 02.09.2009

Теперь, когда GCD стал открытым исходным кодом, нужно поставить оба инструмента рядом и посмотреть, кто в итоге выживет.

person Community    schedule 11.09.2009

Интеграция производительности и уровня ОС?

person Justin Niessner    schedule 02.09.2009