![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
всем снова драске
![]() буквально второй день увлечен OpenMP. и вопрос: почему все до сих пор пишут многопоточный код руками? ведь в 90% случаев OpenMP сделает то же самое, но только лучше! а главное - никакого рукоблудства! спасибо. Это сообщение отредактировал(а) boostcoder - 20.6.2011, 05:41 |
|||
|
||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: нет Всего: 49 |
Не все пишут, не всегда лучше (скорее уж так же), и, как всякий простой инструмент, OpenMP годится в основном для простых случаев. |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
пример сложного случая пожалуйста. зы нет. понятно, что нельзя в начале основной программы написать "#pragma parallel" и надеяться что вся программа распараллелится. |
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 2 Всего: 160 |
Аргумент один - shared memory нинужен. ![]() -------------------- |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
не у всех дома кластера стоят. Добавлено через 1 минуту и 8 секунд хотя... на сколько я Вас знаю, если бы тема была про MPI, то и тут Вы нашли бы что и как обложить. |
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 2 Всего: 160 |
Да причём тут кластеры?
OpenMP и MPI должны остаться в кровавых 90-х вместе с сишечкой и прочей мерзостью. ![]() -------------------- |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
да, попутал. говорю же, второй день в теме. а по сабжу будут аргументы? Добавлено через 39 секунд применительно к с++. |
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 2 Всего: 160 |
Ну, я к тому, что shared memory как модель параллельного программирования даёт очень много возможностей выстрелить себе в ногу. Тебе это, конечно, не испугает... ![]() К тому же, ты правильно заметил, что OpenMP - это только shared memory, а если есть в распоряжении система с распределённой памятью (distributed memory), то придётся скрещивать OpenMP с MPI. Достаточно один раз увидить такой код, чтобы понять, что такой хоккей нам не нужен. Сейчас набирает популярность partitioned global address space. Типо - лучшее из двух миров. Гугли, читай. Вот, например. -------------------- |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
спасибо. Добавлено через 12 минут и 1 секунду
но стОит заметить тот факт, что при помощи OpenMP вероятность такого исхода сильно сокращается, чем в сравнении с рукокодным кодом. |
|||
|
||||
VictorTsaregorodtsev |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 28.7.2006 Репутация: 1 Всего: 8 |
Потому что изучил ВинАПИ (в том числе и потоки-процессы - по книжке Рихтера, которую перевели и издали на русском в 1995) задолго до появления документации по ОпенМП ![]() Зачем тратить время на освоение инструмента, дублирующего уже изученный? Ведь есть много возможностей исследовать что-то действительно новое ![]() |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
||||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Просто обеими руками ЗА. Невозможно вечно точить лопаты, надо и делать уже что-нибудь полезное. Если что-то хорошо знаешь, то руками делаешь быстрее, да и лучше... Это же не самоцель а просто инструмент (параллельное программирование в данном случае) -------------------- ... |
|||
|
||||
asmdzen |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 28.11.2010 Репутация: нет Всего: 5 |
что стоит почитать по этой теме чтоб не писать код уровня 90х? |
|||
|
||||
fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: -1 Всего: 1 |
тем более, если это уже оформленно в виде библиотек, готовых модулей и т.д. мало кто лепит новый проект с нуля.. -------------------- undefined |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
OpenMP это не просто библиотека. это еще и поддержка со стороны компилятора. что и позволяет ему(OpenMP) быть таким простым и мощным, и избавляет от рукоблудства и человеческого фактора. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |