تالار تخصصی گفتگوی متلب
جعبه ابزار پردازش موازی (Parallel Computing Toolbox) - نسخه قابل چاپ

+- تالار تخصصی گفتگوی متلب (http://gomatlab.com/forum)
+-- انجمن: MATLAB (/Forum-MATLAB)
+--- انجمن: جعبه ابزارها (Toolboxes) (/Forum-%D8%AC%D8%B9%D8%A8%D9%87-%D8%A7%D8%A8%D8%B2%D8%A7%D8%B1%D9%87%D8%A7-Toolboxes)
+--- موضوع: جعبه ابزار پردازش موازی (Parallel Computing Toolbox) (/Thread-%D8%AC%D8%B9%D8%A8%D9%87-%D8%A7%D8%A8%D8%B2%D8%A7%D8%B1-%D9%BE%D8%B1%D8%AF%D8%A7%D8%B2%D8%B4-%D9%85%D9%88%D8%A7%D8%B2%DB%8C-Parallel-Computing-Toolbox)



جعبه ابزار پردازش موازی (Parallel Computing Toolbox) - amir - ۱۳۹۰/۶/۲ ۰۶:۵۴ صبح

همانگونه که در مقاله بهینه نویسی اسکریپت در MATLAB ذکر شد، یکی از راه های افزایش سرعت محاسبات در این نرم افزار استفاده از جعبه ابزار پردازش موازی یا Parallel Computing می باشد. با استفاده از این جعبه ابزار می توانید شما انجام یک سری از کارها را تقسیم نمایید و به جای اینکه تمام کارها را به یک کارگر (Worker) واگذار نمایید، هر بخش را به یک کارگر محول نمایید. در MATLAB این کارگرها در ساده ترین حالت هسته های CPU و در حالت پیچیده تر هسته های کامپیوتر های متصل شده به هم می باشند.

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

برای استفاده از این جعبه ابزار کافی است بعد از اطمینان از نصب بودن این جعبه ابزار، حلقه های for برنامه خود را به parfor تبدیل نمایید. حلقه ها معمولاً زمان بر ترین مراحل محاسبات را در خود جای می دهند. نکته ای که در استفاده از parfor وجود دارد این است که در حلقه تکرار مورد نظر برای استفاده از parfor باید تکرارهای شما به یکدیگر وابسته نباشند. به عنوان نمونه در حل مساله پرتابه (یا تحلیل جریان) اگر لازم باشد سرعت (یا جریان) با استفاده از تکرارهای زمانی قبلی محاسبه شود، در این حالت استفاده از parfor غیر ممکن خواهد بود. برای توضیحات بیشتر در این زمینه به راهنمای MATLAB مراجعه گردد.

تنها نکته باقیمانده در این حالت تعریف تعداد کارگرها می باشد. تعیین تعداد کارگرها به سخت افزار های شما و نحوه اتصال آنها به یکدیگر بستگی دارد. در هر صورت برای استفاده از CPU های یک سیستم چند هسته ای معمولاً تعداد کارگرها برابر تعداد هسته ها در نظر گرفته می شود. این تعریف کارگر ها در این جعبه ابزار به کمک تابع matlabpool انجام می شود.

لذا اگر برنامه ساده ای در حالت عادی به صورت زیر صورت پذیرد.

کد:
[این بخش برای برخی از گروه های انجمن در دسترس می باشد.]
[ثبت نام کنید]

پیغام زیر در خط فرمان اجرا می گردد.
نقل قول :Elapsed time is 23.619181 seconds.
با استفاده از جعبه ابزار پردازش موازی می توان برنامه را به صورت زیر برای یک سیستم دو هسته ای بهینه نمود.

کد:
[این بخش برای برخی از گروه های انجمن در دسترس می باشد.]
[ثبت نام کنید]

با اجرای برنامه فوق بر روی کامپیوتر من اجرای برنامه با پیغام زیر رو به رو گردید و سرعت محاسبات تقریبا دو برابر بیشتر گردید.

نقل قول :Starting matlabpool using the 'local' configuration ... connected to 2 labs.
Elapsed time is 17.045922 seconds.
Sending a stop signal to all the labs ... stopped.

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


RE: جعبه ابزار پردازش موازی (Parallel Computing Toolbox) - patmatp - ۱۳۹۰/۸/۲۵ ۰۸:۰۰ عصر

سلام
اگه ممکنه آموزش فارسی این toolbox را قرار دهید


RE: جعبه ابزار پردازش موازی (Parallel Computing Toolbox) - amir - ۱۳۹۰/۸/۲۷ ۱۱:۲۷ صبح

(۱۳۹۰/۸/۲۵ ۰۸:۰۰ عصر)patmatp نوشته شده توسط:  سلام
اگه ممکنه آموزش فارسی این toolbox را قرار دهید

یک فیلم آموزشی در این زمینه در گومتلب قرار خواهم داد.


-------------
لینک فیلم آموزشی جعبه ابزار موازی
http://gomatlab.com/forum/Thread-%D8%AC%D8%B9%D8%A8%D9%87-%D8%A7%D8%A8%D8%B2%D8%A7%D8%B1-%D9%BE%D8%B1%D8%AF%D8%A7%D8%B2%D8%B4-%D9%85%D9%88%D8%A7%D8%B2%DB%8C


پاسخ: جعبه ابزار پردازش موازی (Parallel Computing Toolbox) - eh_soltani - ۱۳۹۱/۲/۲۹ ۱۰:۵۱ عصر

سلام
دوست عزیز شما پردازش موازی با این روش رو بصورت چند نودی تست کردین ؟
من خیلی مطالعه کردم اما هنوز موفق نشدم اگه شما اطلاعاتی دارین لطفا در اختیار قرار بدین


پاسخ: جعبه ابزار پردازش موازی (Parallel Computing Toolbox) - amir - ۱۳۹۱/۲/۳۰ ۱۰:۵۱ صبح

(۱۳۹۱/۲/۲۹ ۱۰:۵۱ عصر)eh_soltani نوشته شده توسط:  سلام
دوست عزیز شما پردازش موازی با این روش رو بصورت چند نودی تست کردین ؟
من خیلی مطالعه کردم اما هنوز موفق نشدم اگه شما اطلاعاتی دارین لطفا در اختیار قرار بدین

لینک زیر یک راهنما برای همین کار شما در دانشگاه میشیگان هست که خیلی خوب مسائل را توضیح داده فیلم آموزشی هم در سایت یوتوب موجود است.

http://cac.engin.umich.edu/.../matlab

اما تا الان خودم استفاده نکردم.