کانال تخصصی متلب
6.85K subscribers
263 photos
112 videos
1.03K files
163 links
👈 فایل‌های آموزشی متلب در حوزه:
مخابرات،کنترل،پردازش سیگنال،عمران،هوافضا، ریاضی،فیزیک

کانال۷۵۰۰ نفره متلب:
@Matlab_Communication

گروه ۶۵۰۰ نفره متلب:
t.iss.one/joinchat/EHEbrEA6SZ1bAjLdUj7bwA

ادمین:
@alimoradi_on

تاسیس۹۵/۱۱/۱۱
Download Telegram
parallel-programming.pdf
495.4 KB
🔘 آموزش برنامه‌نویسی موازی در متلب

👈به صورت PDF به زبان فارسی

#آموزش #برنامه_نویسی #parallel_programming

کانال تخصصی متلب:👇👇👇👇
•┄✺ೋ🌹‌✺┄•
@matlab_communication
پردازش موازی(Parallel Computing) در متلب

🔸نرم افزار متلب این امکان را به وجود آورده است که در کامپیوترهای دارای پردازنده چند هسته ای از پردازش موازی(Parallel Computing) استفاده نماییم. در این مبحث آموزشی قصد داریم که نحوه نوشتن کدهای متلب برای پردازش موازی کدها را شرح بدهیم.

🔸اگر بخواهیم کدهای متلب مورد نظرمان به صورت موازی پردازش شوند باید شکل کلی کدها به صورت زیر باشد:
matlabpool('open',2);
% your code
matlabpool('close');


که در آن، به جای عبارت  your code% باید کدهای متلب مورد نظر خود را بنویسید. به عدد 2 که درون پرانتز اولین دستور matlabpool نوشته شده است دقت کنید. این عدد تعداد هسته‌هایی(cores) را مشخص کرده است که قصد دارید توسط آنها کدها به صورت موازی پردازش شوند. بنابراین مثلا اگر کامپیوتر شما دارای پردازنده چهار هسته‌ای است شما باید حداکثر عدد 4 را به جای آن بنویسید.

👈همچنین توجه داشته باشید که شما می‌توانید تعیین کنید که همه کدها یا یک یا چند بخش دلخواه از کدهای برنامه متلب خود را به صورت موازی پردازش نمایید، بنابراین تنها کافی است که آن بخش های مورد نظرتان از کدها را در میان دو عبارتی که در بالا به کار بردیم، قرار بدهید.

🔻به مثال زیر توجه کنید:
در ابتدا کدی را به صورت معمولی(بدون پردازش موازی) می‌نویسیم و سپس همان را با پردازش موازی اجرا می‌کنیم و همچنین زمان اجرای دستورات را هم با دو دستور tic و toc محاسبه می‌کنیم تا ببینیم که پردازش موازی تا چه حد در سریعتر اجرا شدن کدهای برنامه تاثیر دارد.
برنامه‌ای شامل دو حلقه for متوالی می‌نویسیم، البته به صورت معمولی و بدون استفاده از پردازش موازی:
clear all
close all
clc
tic
x=0;
for nn=1:1000
    x=nn^5;
end
x
y=0;
for mm=1:1000
    y=mm^5;
end
y

toc

🔸نتیجه اجرای کد به شرح زیر می‌باشد:👇👇
x =
  1.0000e+015

y =
  1.0000e+015

Elapsed time is 0.005328 seconds.


مشاهده می‌کنید که زمان پردازش دو حلقه for برابر 0.005328 ثانیه بوده است.

👈حالا این بار از پردازش موازی استفاده می‌کنیم تا ببینیم تا چه حد زمان پردازش کدها کاهش می‌یابد(البته شروع و پایان خود پردازش موازی، چند ثانیه ای طول می‌کشد، ولی این میزان برای برنامه های بزرگ که مد نظر اکثر کاربران است بسیار ناچیز می‌باشد):
clear all
close all
clc
matlabpool('open',2); % start of
Parallel Computing
tic
x=0;
for nn=1:1000
    x=nn^5;
end
x
y=0;
for mm=1:1000
    y=mm^5;
end
y
toc
matlabpool('close'); % end of
Parallel Computing

🔸نتیجه اجرای کد به شرح زیر می‌باشد👇👇
Starting matlabpool using the 'local' configuration...connected to 2 labs.

x =
  1.0000e+015

y =
  1.0000e+015

Elapsed time is 0.002837 seconds.
Sending a stop signal to all the labs ... stopped.


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

✔️منبع: وبسایت کلیدستان

#پردازش_موازی #موازی #هسته
#Parallel_Computing #Parallel #cores

《دوستان خود را فرا بخوانید🌹

~~~~~~~~~~~~~~~~~~~~~
🔴کانال تخصصی متلب:👇👇
•┄✺ೋ🌹✺┄•
@matlab_communication
~~~~~~~~~~~~~~~~~~~~~
🔴لینک سوپر گروه تخصصی متلب بالای همین کانال پین شده است.