The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Опубликован стандарт параллельного программирования OpenMP 6.0"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Опубликован стандарт параллельного программирования OpenMP 6.0"  +/
Сообщение от opennews (??), 15-Ноя-24, 10:44 
После трёх лет разработки опубликован набор спецификаций OpenMP 6.0 (Open Multi-Processing), определяющих API и способы применения методов параллельного программирования для языков Си, Си++ и Фортран на многоядерных и гибридных (CPU+GPU/DSP) системах с общей памятью и блоками векторизации (SIMD).  Предполагается, что начальная поддержка отдельных возможностей OpenMP 6.0 будет включена в состав выпусков LLVM/Clang 20 и GCC 15...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=62236

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Опубликован стандарт параллельного программирования OpenMP 6..."  +2 +/
Сообщение от Аноним (1), 15-Ноя-24, 10:44 
Существуют ли какие-то применения openmp на практике?
Ответить | Правка | Наверх | Cообщить модератору

4. "Опубликован стандарт параллельного программирования OpenMP 6..."  +/
Сообщение от Аноним (4), 15-Ноя-24, 11:12 
В Gentoo добавил, кроме всего прочего, в CFLAGS="... -fopenacc -fopenmp ..." Все собирается и работает без проблем.

Увеличение производительности не тестировал.

Ответить | Правка | Наверх | Cообщить модератору

6. "Опубликован стандарт параллельного программирования OpenMP 6..."  +1 +/
Сообщение от Аноним (1), 15-Ноя-24, 11:19 
> Увеличение производительности не тестировал.

Было ли это увеличение, скорее там уменьшение.

У меня  для фортрана так с надеждой на лучшее (а гфортран очень тормозной код генерирует в целом) FCFLAGS="${COMMON_FLAGS} -fopenmp -fprefetch-loop-arrays -fexternal-blas -fblas-matmul-limit=15"

Наверно какие-то применения на суперкомпах можно найти, но вот есть ли преимущества обычного софта?

Ответить | Правка | Наверх | Cообщить модератору

8. "Опубликован стандарт параллельного программирования OpenMP 6..."  +9 +/
Сообщение от Аноним (8), 15-Ноя-24, 11:43 
Если в софте возможности OpenMP никак не использованы, то и пользы от добавления этих флагов никакой.
Ответить | Правка | Наверх | Cообщить модератору

37. "Опубликован стандарт параллельного программирования OpenMP 6..."  +/
Сообщение от anonymous (??), 15-Ноя-24, 20:56 
Если в софте OpenMP не задействован, то к нему и use flag не применится.
Ответить | Правка | Наверх | Cообщить модератору

43. "Опубликован стандарт параллельного программирования OpenMP 6..."  +/
Сообщение от Вымя (?), 16-Ноя-24, 00:42 
Я так понял что анон глобально добавил флаг при сборке всех пакетов.
Ответить | Правка | Наверх | Cообщить модератору

18. "Опубликован стандарт параллельного программирования OpenMP 6..."  +/
Сообщение от Аноним (18), 15-Ноя-24, 15:56 
Если софт использует OpenMP, то он без этих флагов не скомпилируется, как я понимаю. Нужные пакеты сами добавляли, а для остальных бесполезно.
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

20. "Опубликован стандарт параллельного программирования OpenMP 6..."  +1 +/
Сообщение от Аноним (20), 15-Ноя-24, 16:09 
"... -fopenacc...

гусары молчать!

Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

33. "Опубликован стандарт параллельного программирования OpenMP 6..."  +/
Сообщение от Аноним (33), 15-Ноя-24, 18:24 
У меня две дискретки AMD стоят, раньше и opencl включал, вдруг поможет производительности для пары пакетов.

Или есть какие нюансы?

Ответить | Правка | Наверх | Cообщить модератору

9. "Опубликован стандарт параллельного программирования OpenMP 6..."  +4 +/
Сообщение от Аноним (9), 15-Ноя-24, 11:47 
Для консьюмерских приложений, вроде нет ничего современного...

Проблема в архитектуре современных серверов. Сейчас нельзя просто так купить привычные для OpenMP SMP-систему, везде ccNUMA и всякие гетерогенные SoC.

В этой ситуации сама концепция shared memory и модель fork-join летит псу под хвост.
Да, безусловно OpenMP поддерживает NUMA в какой-то степени в какой-то из свежих спецификаций, что даёт понять приложению о топологии памяти (она же неравномерная).

Вот только дальше начинается проблема с фиктивными ядрами на всяких современных amd64-процессорах. Ну знаете, когда в процессоре 48 "физических" ядер, а с DRAM-контроллером могут взаимодействовать только 12. При этом из них только 4 могут иметь один мультиплаер по частотам, а все остальные другой.

То есть по идее можно все переписать на новые версии OpenMP, но кто бы это делал...
Ну то есть масштабирование многопоточного приложения на системах с неравномерным доступом к памяти обычно требует реализации внутренненго планировщика, выполненного как супер-сервер. Таких реализаций на OpenMP я не знаю, возможно они есть, скиньте. Альтернатива - платформозависимые API для работы с потоками и процессами, которые умеют лучше и больше, но уже под конкретную ОС/планировщик.

По-факту, никто не парится. Все эти высокопросизводительные многопоточные вычисления просто пихают в виртуалки, чтобы вышестоящая инфра разобралась со всем этим и выдала равномерную память UMA, где shared memory не деградирует за счёт того что часть тредов/физических устройств сидят за интерконнект-шинами.

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

29. "Опубликован стандарт параллельного программирования OpenMP 6..."  +/
Сообщение от 123 (??), 15-Ноя-24, 17:48 
> По-факту, никто не парится. Все эти высокопросизводительные многопоточные вычисления просто пихают в виртуалки, чтобы вышестоящая инфра разобралась со всем этим и выдала равномерную память UMA

ха ха, она взяла и разобралась (нет), запихивание в виртуалки лишь иллюзия того, что в вышестоящем слое нет тех же самых проблем, и если тебя лично это беспокоит, то всех кто отвечают за верхний слой - не особо, бизнес крутится лавешка мутится, не мамонты не вымрут

Ответить | Правка | Наверх | Cообщить модератору

12. "Опубликован стандарт параллельного программирования OpenMP 6..."  +2 +/
Сообщение от Анонимов (?), 15-Ноя-24, 12:09 
Не особо.
Раньше можно было выйграть пару циклов в расчетном по для суперкластеров в связке OpenMP+MPI (HybridPP), но в последние лет 10 особо голову сношать себе не хочет и используют чистый MPI.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

13. "Опубликован стандарт параллельного программирования OpenMP 6..."  +/
Сообщение от Neon (??), 15-Ноя-24, 14:08 
Для некоторых задач, типа решения систем диф.уравнений, работа с матрицами и т.д. дает значительное ускорение. Обычно такие задачи специализированные и самописные. Обычному софту openmp мало помогает, плохо автоматически он параллелиться.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

26. "Опубликован стандарт параллельного программирования OpenMP 6..."  +/
Сообщение от Бывалый Смузихлёб (ok), 15-Ноя-24, 17:33 
как задача на лабораторной
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

57. "Опубликован стандарт параллельного программирования OpenMP 6..."  +/
Сообщение от ijuij (?), 16-Ноя-24, 12:28 
В суперкомпьютерах юзают часто!
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

58. "Опубликован стандарт параллельного программирования OpenMP 6..."  +/
Сообщение от Аноним (1), 16-Ноя-24, 12:58 
Вроде не так и часто. Но тут суть в том, что на суперкомпах запускают ровно те же mkl и fftw и применений могло бы быть и побольше. Вроде даже даже у opencv tbb в итоге, видимо, совсем неудобно.
Ответить | Правка | Наверх | Cообщить модератору

59. "Опубликован стандарт параллельного программирования OpenMP 6..."  +/
Сообщение от Аноним (59), 16-Ноя-24, 13:03 
> Существуют ли какие-то применения openmp на практике?

Используется в некоторых местах в ImageMagick. Не знаю, насколько он помогает. Еще есть в libsoxr, но там его использование больше вредит производительности.

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

60. "Опубликован стандарт параллельного программирования OpenMP 6..."  +/
Сообщение от Аноним (1), 16-Ноя-24, 13:21 
Примерно как opencl в x264?
Ответить | Правка | Наверх | Cообщить модератору

5. "Опубликован стандарт параллельного программирования OpenMP 6..."  +2 +/
Сообщение от Аноним (5), 15-Ноя-24, 11:15 
Извините, ничего производительнее, чем просто std::thread, мои эксперименты не нашли. Ни TBB, ни OpenMP.
Ответить | Правка | Наверх | Cообщить модератору

7. "Опубликован стандарт параллельного программирования OpenMP 6..."  +4 +/
Сообщение от Анониматор (?), 15-Ноя-24, 11:26 
Вряд ли оно имеет целью увеличение производительности. Скорее просто стандарт, чтоб программисту было легче пересаживаться с одного языка на другой
Ответить | Правка | Наверх | Cообщить модератору

10. "Опубликован стандарт параллельного программирования OpenMP 6..."  +1 +/
Сообщение от Аноним (8), 15-Ноя-24, 11:47 
std::thread, само по себе, никак не задействует DSP, если он емеется, и/или GPU.
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

17. "Опубликован стандарт параллельного программирования OpenMP 6..."  +/
Сообщение от Аноним (17), 15-Ноя-24, 14:52 
Для оных - OpenCL/Sycl.
Ответить | Правка | Наверх | Cообщить модератору

11. "Опубликован стандарт параллельного программирования OpenMP 6..."  +/
Сообщение от Аноним (11), 15-Ноя-24, 12:07 
У него под капотом обычный pthread
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

15. "Опубликован стандарт параллельного программирования OpenMP 6..."  +/
Сообщение от Аноним (17), 15-Ноя-24, 14:51 
Во-первых, необязательно.
Во-вторых, именно поэтому я pthread не упомянул. Это платформозависмое API, которое бесполезно почти. Обёртки вокруг него и winapi - zero cost, нет особых причин юзать платформозависимое API.
Ответить | Правка | Наверх | Cообщить модератору

14. "Опубликован стандарт параллельного программирования OpenMP 6..."  –1 +/
Сообщение от Neon (??), 15-Ноя-24, 14:10 
Ну так openmp делает тоже самое, только автоматически для некоторых задач. Выше физических ограничений платформы не прыгнешь
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

16. "Опубликован стандарт параллельного программирования OpenMP 6..."  –2 +/
Сообщение от Аноним (17), 15-Ноя-24, 14:52 
>только автоматически

С OpenAI o1 не путайте. Кодить всё равно приходится. Причём то же самое, просто в другом виде.

Ответить | Правка | Наверх | Cообщить модератору

56. "Опубликован стандарт параллельного программирования OpenMP 6..."  +/
Сообщение от Аноним (56), 16-Ноя-24, 12:14 
пук в лужу, ей-богу. стд трид. Почитал бы статью, глядишь и программировать бы начал
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

19. "Опубликован стандарт параллельного программирования OpenMP 6..."  +8 +/
Сообщение от Аноним (19), 15-Ноя-24, 16:07 
Все эти потоки и многопроцессорность не что иное как путь в никуда. Инженерам нужно увеличивать производительность в однопотоке, а не костылить. А то вон уже есть процы со 192 потоками, а скроллинг в хроме всё равно со статтерами и микрофризами.
Ответить | Правка | Наверх | Cообщить модератору

21. "Опубликован стандарт параллельного программирования OpenMP 6..."  –2 +/
Сообщение от anonymous (??), 15-Ноя-24, 16:33 
Скроллинг со статтерами (кандидат на новый мем? вместо "как конпелять кде под фрибзд")? Из за натыканых везде особенно в ядре "сохранялок энергии". Как нубуки стали пиарить, с тех пор всё в этой коричневой "энергосохраняющей" субстанции.
Ответить | Правка | Наверх | Cообщить модератору

23. "Опубликован стандарт параллельного программирования OpenMP 6..."  +1 +/
Сообщение от Аноним (19), 15-Ноя-24, 16:52 
Да ты повідключай все энергосберегайки, так комп будет жрать как 4 пни во времена прескотов. И не факт что избавишься от статтеров, потому что они завязаны на 1 поток, на который разрабы куй ложили в угоду многопоточности. Даже в эппл не смогли побороть эту бяку, хотя вообще в отдельный поток вынесли отрисовку.
Ответить | Правка | Наверх | Cообщить модератору

27. "Опубликован стандарт параллельного программирования OpenMP 6..."  –2 +/
Сообщение от Аноним (27), 15-Ноя-24, 17:43 
> Все эти потоки и многопроцессорность не что иное как путь в никуда. Инженерам нужно увеличивать производительность в однопотоке, а не костылить.

Удивительно, как такие комментарии набирают кучу плюсиков. 🤦 Это многое говорит об уровне компетенции большей части здешних комментаторов.

Да, уважаемый эксперт, нужно в один поток. А заодно вырубить
оптимизации на уровне компилятора, а на уровне CPU - предсказание ветвей, спекулятивное выполнение и остальной прогресс за последние 40 лет. Ну, чтобы инженеры булки не расслабляли, а оптимизациями занимались. Вот тогда в хроме скроллинг будет ого-го!

Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

35. Скрыто модератором  –1 +/
Сообщение от Аноним (-), 15-Ноя-24, 19:16 
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

41. "Опубликован стандарт параллельного программирования OpenMP 6..."  +/
Сообщение от Аноним (41), 15-Ноя-24, 22:34 
— Обязательно 10 ГГц! И 20 ГГц! Весь мир в труху!.. Но потом.
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

42. "Опубликован стандарт параллельного программирования OpenMP 6..."  +3 +/
Сообщение от Аноним (42), 16-Ноя-24, 00:41 
Простейший пример:
Открытие/Закрытие файла, работа с медленным устройством, многозадачность.
В один поток как-то "ухабисто".
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

44. "Опубликован стандарт параллельного программирования OpenMP 6..."  –7 +/
Сообщение от Аноним (44), 16-Ноя-24, 01:55 
> Простейший пример:
> Открытие/Закрытие файла, работа с медленным устройством, многозадачность.
> В один поток как-то "ухабисто".

Да забей, персонаж не понимает, что несет.

Ответить | Правка | Наверх | Cообщить модератору

45. "Опубликован стандарт параллельного программирования OpenMP 6..."  +/
Сообщение от Аноним (45), 16-Ноя-24, 02:17 
Он вообще-то правильно обозначил проблему, пусть и слегка в шутливой форме. Многопоточность это действительно гигакостыль, который порождает усложнение, а следовательно невероятное количество ошибок и уязвимостей ещё на уровне проектирования SoC, не говоря про программирование.
Ответить | Правка | Наверх | Cообщить модератору

48. "Опубликован стандарт параллельного программирования OpenMP 6..."  –5 +/
Сообщение от Аноним (44), 16-Ноя-24, 03:20 
> Многопоточность это действительно гигакостыль, который порождает усложнение, а следовательно невероятное количество ошибок и уязвимостей ещё на уровне проектирования SoC, не говоря про программирование.

Похоже, что люди делают усложнения ради усложнений, так ведь? Другого объяснения сего парадокса опеннетный эксперт не видит? Ну вот не додумались, дурачки, до такого простого решения всех проблем - не использовать многопоточность.

А если серьезно я представляю, как тот персонаж взвыл, если бы его хром с лагающим скроллбаром стал вдруг работать в один поток и один процесс. Откуда ж вы, эксперты такие, лезете...

Ответить | Правка | Наверх | Cообщить модератору

46. "Опубликован стандарт параллельного программирования OpenMP 6..."  +/
Сообщение от Аноним (45), 16-Ноя-24, 02:28 
> Открытие/Закрытие файла, работа с медленным устройством, многозадачность.

Для работы с I/O не надо over 9000 ядер и потоков. Выше проблему подняли правильно, потому что все гонятся за циферками в multiple threads, забывая о том, что по производительности на ядро системы практически топчутся на месте последние лет 15.

Ответить | Правка | К родителю #42 | Наверх | Cообщить модератору

54. "Опубликован стандарт параллельного программирования OpenMP 6..."  +/
Сообщение от Аноним (41), 16-Ноя-24, 05:36 
> обозначил проблему, пусть и слегка в шутливой форме
> забывая о том, что по производительности на ядро системы практически топчутся на месте последние лет 15.

А как ты себе представляешь серьёзный разговор на эту тему? Я только так: "мальчик, 20 лет назад перестал работать закон масштабирования Деннарда - частоты упёрлись в потолок и сразу появились многоядерные процессоры, тут не о чем забывать".

Ответить | Правка | Наверх | Cообщить модератору

25. "Опубликован стандарт параллельного программирования OpenMP 6..."  +/
Сообщение от Аноним (25), 15-Ноя-24, 17:30 
Параллельное программирование это когда два программиста работают над одной задачей. Multy Processing - множественная обработка.
Ответить | Правка | Наверх | Cообщить модератору

31. "Опубликован стандарт параллельного программирования OpenMP 6..."  +/
Сообщение от 123 (??), 15-Ноя-24, 17:53 
Parallel Processing, Parallel Execution то же может применяться
Ответить | Правка | Наверх | Cообщить модератору

53. "Опубликован стандарт параллельного программирования OpenMP 6..."  +/
Сообщение от Аноним (53), 16-Ноя-24, 04:05 
компьютинг забыли)
Ответить | Правка | Наверх | Cообщить модератору

36. "Опубликован стандарт параллельного программирования OpenMP 6..."  +2 +/
Сообщение от Аноним (36), 15-Ноя-24, 19:21 
Вы не поняли, это когда параллельно на программирование, но кипишь идёт.
Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

34. "Опубликован стандарт параллельного программирования OpenMP 6..."  +/
Сообщение от Аноним (-), 15-Ноя-24, 19:09 
А - зачем это "массовому среднему" программисту и пользователю ПК?
Сколько решают Невье-Стокса и пишут грамотно софт, который хорошо параллелится? Ну - просто - фиг с ним с этим OpenMP! - какой процент программеров нормально и ОСОЗНАННО с потоками в POSIX-thread может работать?
Ответить | Правка | Наверх | Cообщить модератору

47. "Опубликован стандарт параллельного программирования OpenMP 6..."  +/
Сообщение от Аноним (45), 16-Ноя-24, 02:33 
Большинство десктоп-ориентированных задач выполняются в а-ля event loop'е.
Но где-то на задворках, в глубоком ынтерпрайзе, может и нужно для каки-то специфических вычислений.
Ответить | Правка | Наверх | Cообщить модератору

55. "Опубликован стандарт параллельного программирования OpenMP 6..."  +/
Сообщение от Аноним (55), 16-Ноя-24, 10:34 
Пишу из задворков глубокого интырпрайза. Сколько раз пытались применить OpenMP, столько раз оказалось не нужным.
Ответить | Правка | Наверх | Cообщить модератору

52. "Опубликован стандарт параллельного программирования OpenMP 6..."  +/
Сообщение от Аноним (52), 16-Ноя-24, 03:59 
При чём тут урматы? Треды - это абсолютно естественная модель, которая элементарно воспринимается нормальным человеком: два процессора выполняют команды параллельно. Все остальные модели требуют какого-то недюжинного напряжения воображения, и всё равно в итоге почти всегда сводятся к тредам.

Единственная более естественная модель - это чистый fork() и запуск нескольких программ одновременно, но большинство естественных задач так не решить.

Ответить | Правка | К родителю #34 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру