اپن ام‌پی

از ویکی‌پدیا، دانشنامهٔ آزاد
(تغییرمسیر از OpenMP)
پرش به ناوبری پرش به جستجو
OpenMP
OpenMP logo
توسعه‌دهنده نرم‌افزار OpenMP Architecture Review Board[۱]
توسعه‌دهنده نرم‌افزار OpenMP Architecture Review Board[۱]
نسخهٔ پایدار
۴٫۵ / ۱۵ نوامبر، ۲۰۱۵؛ ۲ سال پیش (۲۰۱۵-۱۱-15)
سیستم‌عامل چندسکویی
سکوی رایانش چندسکویی
گونه گسترشی برای سی, سی++, و فورترن; رابط برنامه‌نویسی نرم‌افزار
پروانه گوناگون[۲]
وبگاه openmp.org

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

طراحی

یک پیاده سازی 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. Retrieved 2013-08-14. 
  2. "OpenMP Compilers". OpenMP.org. 2013-04-10. Retrieved 2013-08-14. 
  3. OpenMP Tutorial at Supercomputing 2008