{"id":120576,"date":"2024-11-15T13:09:07","date_gmt":"2024-11-15T11:09:07","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/opublikovan-standart-parallelnogo-programmirovaniya-openmp-6-0"},"modified":"2024-11-15T13:09:07","modified_gmt":"2024-11-15T11:09:07","slug":"opublikovan-standart-parallelnogo-programmirovaniya-openmp-6-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/opublikovan-standart-parallelnogo-programmirovaniya-openmp-6-0","title":{"rendered":"La norme de programmation parall\u00e8le OpenMP 6.0 a \u00e9t\u00e9 publi\u00e9e","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Apr\u00e8s trois ans de d\u00e9veloppement, un ensemble de sp\u00e9cifications OpenMP 6.0 (Open Multi-Processing) a \u00e9t\u00e9 publi\u00e9, d\u00e9finissant l'API et les m\u00e9thodes d'application des techniques de programmation parall\u00e8le pour les langages C, C++ et Fortran sur des syst\u00e8mes multic\u0153urs et hybrides (CPU+GPU\/DSP) avec m\u00e9moire partag\u00e9e et blocs de vectorisation (SIMD). Il est pr\u00e9vu que le support initial de certaines fonctionnalit\u00e9s d'OpenMP 6.0 soit inclus dans les versions LLVM\/Clang 20 et GCC 15.      <\/p>\n<p>Principales modifications dans OpenMP 6.0 :  <\/p>\n<ul>\n<li class=\"l\"> Le processus de programmation des t\u00e2ches (task), d\u00e9finissant des parties ind\u00e9pendantes du programme pouvant \u00eatre ex\u00e9cut\u00e9es en parall\u00e8le avec d'autres, a \u00e9t\u00e9 simplifi\u00e9.\n<ul>\n<li class=\"l\"> Ajout de la possibilit\u00e9 d'ex\u00e9cuter des t\u00e2ches sur des threads free-agent, non associ\u00e9s \u00e0 des groupes de threads (teams) ex\u00e9cutant des r\u00e9gions parall\u00e8les (parallel region, un bloc de code ex\u00e9cut\u00e9 sur plusieurs threads).\n<li class=\"l\"> Support assur\u00e9 pour la sauvegarde du graphe de t\u00e2ches (taskgraph), d\u00e9finissant les d\u00e9pendances entre les t\u00e2ches et l'ordre d'ex\u00e9cution pour am\u00e9liorer l'efficacit\u00e9 des reproductions ult\u00e9rieures.\n<li class=\"l\"> Un m\u00e9canisme de t\u00e2ches transparentes (\u00ab transparent tasks \u00bb) a \u00e9t\u00e9 mis en place pour simplifier la gestion des d\u00e9pendances et automatiser l'ex\u00e9cution des sous-t\u00e2ches.  <\/ul>\n<li class=\"l\"> Extension du support pour les dispositifs de calcul pouvant \u00eatre utilis\u00e9s pour ex\u00e9cuter des t\u00e2ches parall\u00e8les (CPU, GPU, DSP, etc.).\n<ul>\n<li class=\"l\"> Une nouvelle syntaxe de tableaux a \u00e9t\u00e9 ajout\u00e9e, permettant d'utiliser la directive \u00ab workdistribute \u00bb pour r\u00e9partir le traitement des tableaux entre diff\u00e9rentes unit\u00e9s de travail.\n<li class=\"l\"> Am\u00e9lioration des fonctionnalit\u00e9s de gestion de l'allocation de m\u00e9moire, simplifiant la gestion des variables pour lesquelles la m\u00e9moire est allou\u00e9e dynamiquement.\n<li class=\"l\"> Extension du support pour les attributs d\u00e9finissant la distribution des donn\u00e9es entre les dispositifs par d\u00e9faut.\n<li class=\"l\"> Simplification de l'\u00e9criture de code pour les transmissions de donn\u00e9es asynchrones vers des dispositifs de calcul suppl\u00e9mentaires (GPU).\n<li class=\"l\"> Am\u00e9lioration de la gestion de la m\u00e9moire et de son association avec les dispositifs de calcul.\n<li class=\"l\"> La directive \u00ab groupprivate \u00bb a \u00e9t\u00e9 ajout\u00e9e pour allouer de la m\u00e9moire \u00e0 un groupe de threads ex\u00e9cut\u00e9s sur un appareil de calcul sp\u00e9cifique.  <\/ul>\n<li class=\"l\"> Simplification de la programmation de certains types de transformations de boucles, telles que la fusion de plusieurs boucles, le changement de l'ordre des boucles imbriqu\u00e9es et l'inversion des boucles.\n<li class=\"l\"> Une nouvelle op\u00e9ration d'induction a \u00e9t\u00e9 ajout\u00e9e pour organiser le parall\u00e9lisme dans les boucles de calculs arithm\u00e9tiques simples et d'op\u00e9rations utilisateur, d\u00e9pendant des valeurs pr\u00e9c\u00e9dentes.\n<li class=\"l\"> Un support complet pour le parall\u00e9lisme des programmes \u00e9crits selon les normes C23 (y compris la syntaxe des attributs), Fortran 2023 et C++23 a \u00e9t\u00e9 ajout\u00e9. De nouveaux attributs pour C\/C++ ont \u00e9t\u00e9 \u00e9galement ajout\u00e9s.\n<li class=\"l\"> Les fonctionnalit\u00e9s de gestion du stockage et de la m\u00e9moire ont \u00e9t\u00e9 \u00e9tendues. De nouveaux attributs ont \u00e9t\u00e9 ajout\u00e9s pour contr\u00f4ler la mani\u00e8re dont la m\u00e9moire doit \u00eatre allou\u00e9e et utilis\u00e9e. Une API pour d\u00e9finir et demander des espaces de m\u00e9moire a \u00e9t\u00e9 ajout\u00e9e.\n<li class=\"l\"> Les fonctionnalit\u00e9s d\u00e9clar\u00e9es obsol\u00e8tes dans les sp\u00e9cifications OpenMP 5.0, 5.1 et 5.2 ont \u00e9t\u00e9 supprim\u00e9es.         <\/ul>\n<p>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=62236\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0442\u0440\u0451\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u043d\u0430\u0431\u043e\u0440 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0439 OpenMP 6.0 (Open Multi-Processing), \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0449\u0438\u0445 API \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u044f\u0437\u044b\u043a\u043e\u0432 \u0421\u0438, \u0421\u0438++ \u0438 \u0424\u043e\u0440\u0442\u0440\u0430\u043d \u043d\u0430 \u043c\u043d\u043e\u0433\u043e\u044f\u0434\u0435\u0440\u043d\u044b\u0445 \u0438 \u0433\u0438\u0431\u0440\u0438\u0434\u043d\u044b\u0445 (CPU+GPU\/DSP) \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0441 \u043e\u0431\u0449\u0435\u0439 \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0438 \u0431\u043b\u043e\u043a\u0430\u043c\u0438 \u0432\u0435\u043a\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 (SIMD). \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 OpenMP 6.0 \u0431\u0443\u0434\u0435\u0442 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 \u0432\u044b\u043f\u0443\u0441\u043a\u043e\u0432 LLVM\/Clang 20 \u0438 GCC [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-120576","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0442\u0440\u0451\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u043d\u0430\u0431\u043e\u0440 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0439 OpenMP 6.0 (Open Multi-Processing), \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0449\u0438\u0445 API \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u044f\u0437\u044b\u043a\u043e\u0432 \u0421\u0438, \u0421\u0438++ \u0438 \u0424\u043e\u0440\u0442\u0440\u0430\u043d \u043d\u0430 \u043c\u043d\u043e\u0433\u043e\u044f\u0434\u0435\u0440\u043d\u044b\u0445.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/news\/opublikovan-standart-parallelnogo-programmirovaniya-openmp-6-0\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f OpenMP 6.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0442\u0440\u0451\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u043d\u0430\u0431\u043e\u0440 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0439 OpenMP 6.0 (Open Multi-Processing), \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0449\u0438\u0445 API \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u044f\u0437\u044b\u043a\u043e\u0432 \u0421\u0438, \u0421\u0438++ \u0438 \u0424\u043e\u0440\u0442\u0440\u0430\u043d \u043d\u0430 \u043c\u043d\u043e\u0433\u043e\u044f\u0434\u0435\u0440\u043d\u044b\u0445.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/opublikovan-standart-parallelnogo-programmirovaniya-openmp-6-0\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-11-15T11:09:07+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-11-15T11:09:07+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47La norme de programmation parall\u00e8le OpenMP 6.0 a \u00e9t\u00e9 publi\u00e9e | ProHoster","description":"Apr\u00e8s trois ans de d\u00e9veloppement, le jeu de sp\u00e9cifications OpenMP 6.0 (Open Multi-Processing) a \u00e9t\u00e9 publi\u00e9, d\u00e9finissant l'API et les modalit\u00e9s d'application des m\u00e9thodes de programmation parall\u00e8le pour les langages C, C++ et Fortran sur des architectures multic\u0153urs.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/opublikovan-standart-parallelnogo-programmirovaniya-openmp-6-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f OpenMP 6.0 | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0442\u0440\u0451\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u043d\u0430\u0431\u043e\u0440 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0439 OpenMP 6.0 (Open Multi-Processing), \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0449\u0438\u0445 API \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u044f\u0437\u044b\u043a\u043e\u0432 \u0421\u0438, \u0421\u0438++ \u0438 \u0424\u043e\u0440\u0442\u0440\u0430\u043d \u043d\u0430 \u043c\u043d\u043e\u0433\u043e\u044f\u0434\u0435\u0440\u043d\u044b\u0445.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/opublikovan-standart-parallelnogo-programmirovaniya-openmp-6-0","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2024-11-15T11:09:07+00:00","article:modified_time":"2024-11-15T11:09:07+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"120576","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 08:02:22","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 08:02:22","updated":"2026-01-23 08:02:22","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/120576","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=120576"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/120576\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=120576"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=120576"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=120576"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}