From Wikipedia, the free encyclopedia
اُپناِمپی (به انگلیسی: Open Multi-Processing) یک رابط برنامهنویسی است که از برنامهنویسی چندسکویی و چندپردازشی با حافظه اشتراکی در زبانهای سی، سی++ و فرترن روی اکثر معماریهای پردازنده و سیستم عاملهای گوناگون نظیر لینوکس، ویندوز، مک اواس، سولاریس، AIX و HP-UX پشتیبانی میکند.[3]
نویسنده(های) اصلی | OpenMP Architecture Review Board[1] |
---|---|
توسعهدهنده(ها) | OpenMP Architecture Review Board[1] |
انتشار پایدار | 4.5
/ ۱۵ نوامبر ۲۰۱۵ |
سیستمعامل | چندسکویی |
پلتفرم | چندسکویی |
نوع | گسترشی برای سی, سی++, و فورترن; رابط برنامهنویسی نرمافزار |
مجوز | گوناگون[2] |
وبگاه |
طراحی
یک پیادهسازی multithreading است، یک روش موازی کردن که در آن یک موضوع اصلی (مجموعه ای از دستورالعملها به صورت پیوسته اجرا میشود) یک تعداد مشخصی از موضوعات فرعی را برش میدهد و سیستم یک کار را در میان آنها تقسیم میکند. پس از آن اجرا میشود همزمان با محیط زیست زمان اختصاص تمایل به پردازندههای مختلف.
قسمت کد که به معنای به صورت موازی اجرا میشود، براساس آن، با دستورالعمل کامپایلر مشخص میشود که باعث میشود تا موضوعات قبل از اجرای بخش اجرا شود. [3] هر موضوع دارای شناسه متصل به آن است که میتواند با استفاده از یک تابع (به نام omp_get_thread_num ()) بهدست آید. شناسه رشته یک عدد صحیح است، و موضوع اصلی دارای عدد صفر است. پس از اجرای کدهای parallelized، رشتهها به موضوع master متصل میشوند، که به سمت پایان برنامه ادامه می یابد.
بهطور پیش فرض، هر موضوع بهطور مستقل از بخش موازی کد اجرا میشود. ساختارهای کار به اشتراک گذاشتن می توانند برای تقسیم یک کار در میان موضوعات استفاده شوند به طوری که هر موضوع بخش اختصاصی آن را اجرا میکند. به این ترتیب همپوشانی و همپوشانی دادهها با استفاده از OpenMP به دست می آید.
محیط زمان اجرا موضوعات را به پردازندهها بسته به نوع استفاده، بارگذاری دستگاه و سایر عوامل اختصاص میدهد. محیط زمان اجرا میتواند تعداد موضوعات را بر اساس متغیرهای محیطی اختصاص دهد یا کد میتواند با استفاده از توابع انجام دهد. توابع OpenMP در یک فایل هدر با برچسب omp.h در C / C ++ قرار گرفته است.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.