توضیح کلی پروژه
این پروژه شامل پیادهسازی دو نسخه مختلف از الگوریتم تراز دنبالهها به صورت موازی است:
استفاده از taskloop و دستورات مربوط به آن در OpenMP.
استفاده از وظایف (explicit tasks) و دستورات مربوط به آن.
جزئیات پروژه
مرحله اول: آمادهسازی (قبلاً پیادهسازی شده)
تخصیص یک ماتریس برای محاسبه تراز (ماتریس S) با اندازهای برابر با تعداد سطرهای دنباله X + 1 و تعداد ستونهای دنباله Y + 1.
ایجاد یک الگوی امتیازدهی ساده برای امتیازدهی به تطابقها و ناهماهنگیها و همچنین اعمال جریمه برای فواصل.
مرحله دوم: محاسبه ماتریس شباهت (S)
در این مرحله، ماتریس شباهت با استفاده از حلقههای تو در تو در جهت ردیف به ردیف پر میشود.
الگوریتم شامل استفاده از یک هسته محاسباتی برای تعیین امتیاز در هر خانه از ماتریس بر اساس تطابق، حذف یا درج است.
پیادهسازی به روشهای موازی
باید دو نسخه مختلف از این مرحله با استفاده از OpenMP پیادهسازی شود:
نسخه taskloop: پیادهسازی موازی با استفاده از دستور taskloop برای ایجاد کارهای موازی.
نسخه explicit tasks: استفاده از دستور task با استفاده از شرطهای depend برای مدیریت وابستگیها و جلوگیری از شرایط رقابت.
تست با تنظیمات مختلف
بررسی و تست کارایی پیادهسازی با سه سطح مختلف از گرانولاریته (میزان کار هر وظیفه) برای بهینهسازی عملکرد.
نکات مهم برای پیادهسازی
استفاده از اسکوپگذاری دادهها به صورت صریح برای متغیرهایی که خارج از دستورات OpenMP تعریف شدهاند.
جلوگیری از استفاده از دستورات for و sections و به جای آنها استفاده از single یا master.
استفاده از روشهای متفاوت برای عبور از ماتریس (مثل موجخطی یا anti-diagonal) به منظور بهبود موازیسازی.
این آگهی از وبسایت پونیشا پیدا شده، با زدن دکمهی تماس با کارفرما، به وبسایت پونیشا برین و از اونجا برای این شغل اقدام کنین.
هشدار
توجه داشته باشید که دریافت هزینه از کارجو برای استخدام با هر عنوانی غیرقانونی است. در صورت مواجهه با موارد مشکوک، با کلیک بر روی «گزارش مشکل آگهی» به ما در پیگیری تخلفات کمک کنید.