اپن ام‌پی

اُپن‌اِم‌پی (به انگلیسی: Open Multi-Processing) یک رابط برنامه‌نویسی است که از برنامه‌نویسی چندسکویی و چندپردازشی با حافظه اشتراکی در زبان‌های سی، سی++ و فرترن روی اکثر معماری‌های پردازنده و سیستم عامل‌های گوناگون نظیر لینوکس، ویندوز، مک اواس، سولاریس، AIX و HP-UX پشتیبانی می‌کند.[3]

OpenMP
نویسنده(های) اصلیOpenMP Architecture Review Board[1]
توسعه‌دهنده(ها)OpenMP Architecture Review Board[1]
انتشار پایدار
4.5
۱۵ نوامبر ۲۰۱۵ (۲۰۱۵-۱۱-15)
سیستم‌عاملچندسکویی
بن‌سازه رایانشچندسکویی
گونهگسترشی برای سی, سی++, و فورترن; رابط برنامه‌نویسی نرم‌افزار
پروانهگوناگون[2]
وبگاه

طراحی

یک پیاده‌سازی multithreading است، یک روش موازی کردن که در آن یک موضوع اصلی (مجموعه ای از دستورالعمل‌ها به صورت پیوسته اجرا می‌شود) یک تعداد مشخصی از موضوعات فرعی را برش می‌دهد و سیستم یک کار را در میان آن‌ها تقسیم می‌کند. پس از آن اجرا می‌شود همزمان با محیط زیست زمان اختصاص تمایل به پردازنده‌های مختلف.

قسمت کد که به معنای به صورت موازی اجرا می‌شود، براساس آن، با دستورالعمل کامپایلر مشخص می‌شود که باعث می‌شود تا موضوعات قبل از اجرای بخش اجرا شود. [3] هر موضوع دارای شناسه متصل به آن است که می‌تواند با استفاده از یک تابع (به نام omp_get_thread_num ()) بدست آید. شناسه رشته یک عدد صحیح است، و موضوع اصلی دارای عدد صفر است. پس از اجرای کدهای parallelized، رشته‌ها به موضوع master متصل می‌شوند، که به سمت پایان برنامه ادامه می یابد.

به‌طور پیش فرض، هر موضوع به‌طور مستقل از بخش موازی کد اجرا می‌شود. ساختارهای کار به اشتراک گذاشتن می توانند برای تقسیم یک کار در میان موضوعات استفاده شوند به طوری که هر موضوع بخش اختصاصی آن را اجرا می‌کند. به این ترتیب همپوشانی و همپوشانی داده‌ها با استفاده از OpenMP به دست می آید.

محیط زمان اجرا موضوعات را به پردازنده‌ها بسته به نوع استفاده، بارگذاری دستگاه و سایر عوامل اختصاص می‌دهد. محیط زمان اجرا می‌تواند تعداد موضوعات را بر اساس متغیرهای محیطی اختصاص دهد یا کد می‌تواند با استفاده از توابع انجام دهد. توابع OpenMP در یک فایل هدر با برچسب omp.h در C / C ++ قرار گرفته‌ است.

منابع یادگیری برخط

جستارهای وابسته

منابع

مشارکت‌کنندگان ویکی‌پدیا. «OpenMP». در دانشنامهٔ ویکی‌پدیای انگلیسی، بازبینی‌شده در ۵ ژوئن ۲۰۱۵.

  1. "About the OpenMP ARB and". OpenMP.org. 2015-11-15. Archived from the original on 9 August 2013. Retrieved 2013-08-14.
  2. "OpenMP Compilers". OpenMP.org. 2013-04-10. Retrieved 2013-08-14.
  3. OpenMP Tutorial at Supercomputing 2008
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.