MATLAB و پردازندههای چند هستهای (۲)
حالا هم وقتی نمیتوانم از تمام ظرفیت پردازشی سیستم -درحالیکه نیاز دارم- استفاده کنم اعصابم خرد میشود.
قبلاً در این پســـــت راجع به چگونگی استفاده از چند هستهٔ CPU در MATLAB مطلبی را نوشته بودم و گفته بودم:
ظاهراً نسخههای جدید MATLAB امکانات موازی سازی، محاسبات توزیعشده و چندنخی (Multithreading) خوبی دارند.
اون موقع هنوز نسخه جدید را نداشتم ولی به تازگی MATLAB نسخهٔ R2009a را نصب کردهام که جعبه ابزار Parallel Computing را دارد. یک دستور اضافه شده در این نسخه، دستور parfor است که برای اجرای عملیات یک حلقه، به صورت همزمان بر روی چند هسته بکار میرود. نحوهٔ استفاده از آن هم همانند for است با یک سری محدودیتها. به صورت موازی درآوردن یک الگوریتم نه همیشه شدنی و نه همیشه راحت است؛ لیکن MATLAB جدا از برخی محدودیتها، کار را برای برنامههای Single Instruction Multiple Data یا SIMP، بسیار راحت کرده است. نحوهٔ استفاده از این دستور برای اجرای دستوراتی خاص روی چهار هسته در زیر آمده است:
statements
end
matlabpool('close')
فعلاً به همین معرفی parfor بسنده میکنم؛ اشاءالله بعداً بیشتر خواهم گفت.