1 / 22

نکات الگوریتم موازی

نکات الگوریتم موازی. تهیه کنندگان. ابوالفضل بایگان. فریبا دهقانی. برای نوشتن یک برنامه که به صورت موازی اجرا شود میتوانیم از زبان های برنامه نویسی مختلف مانند : Java , c++ , c , c # و غیره استفاده نمود . برنامه هایی که به صورت موازی کد نویسی می شود باید توسط برنامه هایی

clancy
Download Presentation

نکات الگوریتم موازی

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. نکات الگوریتم موازی

  2. تهیه کنندگان ابوالفضل بایگان فریبا دهقانی

  3. برای نوشتن یک برنامه که به صورت موازی اجرا شود میتوانیم از زبان های برنامه نویسی مختلف مانند : • Java , c++ , c , c# و غیره استفاده نمود . • برنامه هایی که به صورت موازی کد نویسی می شود باید توسط برنامه هایی • مانند MPI CH2 و یا MPI .NET اجرا شوند.

  4. بنابر این در برنامه نویسی به روش موازی از کد های خاصی در لابه لای برنامه جهت انجام عملیات موازی سازی استفاده می شود. نکته مهم :در انتخاب موضوع دقت کنید ، برخی از موضوعات را به دلیل داشتن وابستگی در موقع حل به هیچ عنوان نمی توان به صورت موازی پیاده سازی کرد پس قبل از انتخاب موضوع حتما در مورد نحوه حل ان جستجو کنید

  5. نکته 1: برنامه هایی که به زبان C یا C++ نوشته می شوند فقط با برنامه MPI CH2 قابل اجرا هستند نکته 2: برنامه هایی که به زبان C # برنامه نویسی شده اند هم با MPI CH2 و هم با برنامه MPI .NET قابل اجرا هستند. نکته 3:برای برنامه نویسی یک موضوع خاص سعی کنید ابتدا کد سری ان را بنویسید سپس برای موازی سازی کد سری ،تلاش کنید زیرا موازی سازی در این حالت خیلی ساده تر می شود.تا اینکه بخواهید از اول موازی بنویسید

  6. نکته 4: معمولا در اینترنت در مورد موضوعات مختلف یک سری شبه کد وجود دارد که می توانید با پیدا کردن یک شبه کد خوب موضوع خود را به خوبی پیاده سازی کنید .بهتر است موضوع را به صورت انگلیسی سرچ کنید. نکته 5: در زمان برنامه نویسی ممکن است برنامه شما خطا بدهد برای رفع بهتر خطا میتوانید خطا را یاد داشت کرده و عینا همان خطا را در گوگل جستجو کنید تا نحوه رفع خطا را از طریق سایت های اموزشی پیدا کنید.

  7. نکته 6: برای یادگیری دستوران MPI که برای موازی سازی در کدنویسی استفاده می شود بهتر است ابتدا یک مثال کوچک و ساده موازی را مطالعه فرمایید و روند اجرای برنامه را به طور کامل دنبال کنید. نکته 7 : برای اجرای برنامه موازی با هر زبان برنامه نویسی به حداقل 2 سیستم که به یکدیگر شبکه نیز باشد نیاز دارید.

  8. نکته 8: در موقع اجرای برنامه موازی یک کامپیوتر به عنوان کامپیوتر Server در نظر گرفته می شود و سیستم های دیگر که به شبکه متصل هستند به عنوان client در نظر گرفته می شوند. کامپیوتر سرور سیستمی است که اصل برنامه بر روی ان اجرا می شود و همچنین سرور بخشی از برنامه را بر روی سیستم های کلاینت ارسال می کند و کلاینت ها پس از انجام و حل برنامه نتیجه را به سرور ارسال می کنند . سرور کلیه نتایج ارسالی از کلاینت ها را دریافت میکند و با قرار دادن جواب ها در کنار یکدیگر یک نتیجه نهایی را به کاربر نمایش می دهد بنابراین برای ایجاد ارتباط بین سرور و کلاینت ها از بستر شبکه استفاده میکنیم

  9. نکته 9 : همان طور که میدانید در شبکه باید کلیه سیستم ها دارای رنج IP یکسانی باشند

  10. نکته 10 :در موقع اجرای برنامه موازی با MPI.NET یا MPI CH2 برای کلیه سیستم های متصل ، به نکات • زیر حتما توجه کنید: • انتی ویروس فعال نباشد (disable کنید) • به هیچ شبکه ای به جز شبکه ای که برای اجرای برنامه موازی ساخته اید متصل نباشید • Fir wall را خاموش کنید • Bluetooth حتما خاموش باشد • کلیه تنظیمات برنامه MPI را به درستی انجام داده باشید(اضافه کردن خط دستور به قسمت path • برنامه MPI CH2) • تمام سیستم ها از ویندوز یکسانی استفاده کنند (حداقل الامکان سرویس پک هم یکسان باشد) • سطح امنیت کاربری را به حداقل برسانید و ان را بر روی Never notify تنظیم کنید.

  11. برای کلیه سیستم ها یک نام کاربری یکسان از نوع admin و پسورد یکسان قرار دهید • (توجه کنید که به حروف بزرگ و کوچک حساس می باشد) • برای اجرای برنامه بر روی تمام سیستم ها یک پوشه در یک محل خاص مثلا درایو E بسازید و آن را به اشتراک • بگذارید و کلیه فایل های خود را در انجا قرار دهید • در پوشه فوق الذکر بهتر است فایل EXE برنامه MPI و برنامه ای که با ان برنامه نویسی را انجام داده اید • (مانند DEV C++) قرار بگیرد • در این پوشه فایل EXE برنامه خود را کپی کنید. • برای برنامه نویسی باید از یک محیط برنامه نویسی مانند WX DEV C++, visual stdio و غیره • استفاده کنید.

  12. بهتر است برای جلوگیری از خطاهای احتمالی کلیه محتویات پوشه include برنامه ای که با • ان برنامه نویسی میکنید (مانند DEV C++) را داخل پوشه include برنامه MPI کپی کنید. • نرم افزاری که با ان کدنویسی را انجام داده اید و برنامه MPI باید بر روی تمامی سیستم ها • نصب باشد توجه:ممکن است برای برخی از سیستم ها رعایت تمامی نکات فوق ضروری نباشد و برنامه شما به راحتی اجرا شود ولی بهتر است که تمام نکات بالا را رعایت کنید.

  13. نکته 11 :بهتر است که برای پیشگیری از بروز مشکل ، برنامه ها به صورت زیر نصب شوند: • ساخت کاربری از نوع admin و لاگین کردن با ان • نصب برنامه MPI • نصب برنامه ای که میخواهید با ان کد نویسی را انجام دهید فرضا DEV C++ • لازم به ذکر است که این ترتیب میتواند حفظ نشود

  14. نکته 12 : گاهی ممکن است به هر دلیلی بستر شبکه دچار مشکل شود ، و با وجود درست بودن تمام مراحل باز هم خطا بدهد، برای رفع مشکل کلیه سیستم ها را همزمان خاموش کرده و باطری لبتاب را برای چند دقیقه خارج کنید و کلا سیستم ها را از کابل شبکه قطع کنید ، سپس مجددا سیستم ها را به یکدیگر شبکه کنید

  15. نکته 13 : برای اجرای برنامه MPI.NET دستورات لازم برای اجرای برنامه که باید داخل command prompt بنویسیم را میتوانیم داخل یک فایل متنی قرار دهیم و ان فایل را پسوند BATذخیره کنیم و ان فایل BAT را داخل پوشه ای که به اشتراک گذاشته ایم قرار میدهیم وبا اجرای این فایل برنامه ما اجرا می شود

  16. نکته 14 : توجه کنید دوستانی که برنامه خود را با MPI.NETباید اجرا کنند در موقع اجرا، زمانی که وارد command prompt می شوند به طور پیش فرض c:\user را به ان ها نمایش میدهد که دوستان گرامی باید حتما ابتدا با دستور cd وارد پوشه ای که به اشتراک گذاشته اند شوند تا بتوانند برنامه خود را اجرا کنند.

  17. نکته 15 : در برنامه ای که به زبان C یا C++ به صورت موازی نوشته شده باشد دستورات scanf و cout و cin کار نمیکند. و برای دریافت ورودی باید از فایل ها استفاده کرد یعنی بگوییم ورودی را از یک فایل متنی بخواند و حتی به جای دستور printf می توانیم بگوییم نتیجه را در یک فایل متنی قرار دهد.

  18. نکته 16:دوستانی که برای اجرای برنامه موازی خود از برنامه MPI CH2 استفاده میکنند ، ممکن است بعد از نصب برنامه MPI ، به هر دلیلی برنامه MPI CH2 به طور کامل بر روی سیستم شما نصب نشده باشد و به همین خاطر نام سیستم شما در برنامه سبز نشود ، برای یافتن اینکه کدام قسمت برنامه به درستی نصب نشده است ابتدا WMPIexec.EXE را اجرا میکنیم و از قسمت دکمه BROWSEیک مثال که داخل خود برنامه MPIهست را اجرا میکنیم ، اگر MPI ما به درستی نصب نشده باشید در کادر زیر مسیر فایل خطای مربوطه را نمایش میدهد و دقیقا مشخص میکند که کدام قسمت از MPI به درستی نصب نشده است.

  19. به طور عمومی در موقع نصب MPI در اکثر سیستم ها فایل SMPD.exe نصب نمیشود برای نصب • این فایل بعد از نصب برنامه MPI مراحل زیر را می رویم : • راست کلیک بر روی برنامه command prompt و انتخاب گزینه run as admin • تایپ cd c:\program files\MPI CH2\bin و زدن دکمه اینتر از صفحه کلید • تایپ SMPD.exe -remove و زدن دکمه اینتر • تایپ SMPD.exe –install و زدن دکمه اینتر از صفحه کلید

  20. بعد از انجام مراحل فوق چک کنید که ایا نام سیستم شما در برنامه سبز میشود یا خیر ، سپس حتما سیستم خود را ری استارت کنید و مجددا چک کنید که ایا باز هم نام سیستم شما در برنامه سبز می شود یا خیر ، گاهی ممکن است به دلیل مشکل داشتن ویندوز یا برنامه شما ، نیاز باشد که چندین بار عملیات 1 تا 4 را انجام دهید تا برای همیشه نام سیستم شما سبز شود.

  21. نکته 17: در صورتی که یکی از سیستم ها فرضا 5هسته ای و سیستم دیگرفرضا 2 هسته ای باشد برای اجرای برنامه موازی ،حتما باید سیستم 5 هسته ای به عنوان master قرار بگیرد در غیر این صورت برنامه خطا نمی دهد ولی اجرا هم نمی کند

  22. موفق باشید

More Related