سلام
سالروز برانگیخته شدن آخرین پیامبر خدا حضرت محمد مصطفی، صلی الله علیه و آله و سلم، بر همهی مسلمانان جهان مبارکباد.
ستاره یی بدرخشید و ماه مجلس شد دل رمیده ی ما را رفیق و مونس شد
نگار من که به مکتب نرفت و خط ننوشت به غمزه مساله آموز صد مدرس شد
به بوی او دل بیمار عاشقان چو صبا فدای عارض نسرین و وچشم نرگس شد
به صدر مصطبه ام می نشاند اکنون دوست گدای شهر نگه کن که میر مجلس شد
خیال آب خضر بست و جام اسکندر به جرعه نوشی سلطان ابوالفوارس شد
طرب سرای محبت کنون شود معمور که تاق ابروی یار منش مهندس شد
لب از ترشح می، پاک کن برای خدا که خاطرم به هزاران گنه موسوس شد
کرشمه ی تو شرابی به عاشقان پیمود که علم بی خبر افتاد و عقل بی حس شد
چو زر عزیز وجودست نظم من آری قبول دولتیان کیمیای این مس شد
ز راه میکده یاران عنان بگردانید چرا که حافظ ازین راه رفت و مفلس شد
دیروز نوشته بودم، برق رفت امروز گذاشتمش!
پیرمردی تنها در مینه سوتا زندگی می کرد. او می خواست مزرعه سیب زمینی اش راشخم بزند اما این کار خیلی سختی بود.
تنها پسرش که می توانست به او کمک کند در زندان بود.
پیرمرد نامه ای برای پسرش نوشت و وضعیت را برای او توضیح داد:
پسرعزیزم من حال خوشی ندارم چون امسال نخواهم توانست سیب زمینی بکارم.
من نمی خواهم این مزرعه را از دست بدهم، چون مادرت همیشه زمان کاشت محصول را دوست داشت. من برای کار مزرعه خیلی پیر شده ام. اگر تو اینجا بودی تمام مشکلات من حل می شد.
من می دانم که اگر تو اینجا بودی مزرعه را برای من شخم می زدی.
دوستدار تو پدر
پیرمرد این تلگراف را دریافت کرد:
پدر, به خاطر خدا مزرعه را شخم نزن، من آنجا اسلحه پنهان کرده ام.
۴ صبح فردا ۱۲ نفر از مأموران FBI و افسران پلیس محلی دیده شدند , و تمام مزرعه را شخم زدند بدون اینکه اسلحه ای پیدا کنند.
پیرمرد بهت زده نامه دیگری به پسرش نوشت و به او گفت که چه اتفاقی افتاده و می خواهد چه کند؟
پسرش پاسخ داد: پدر برو و سیب زمینی هایت را بکار، این بهترین کاری بود که از اینجا می توانستم برایت انجام بدهم.
منبع: ایمیلی از دوستان
زن به همسرش گفت: دوست دارم برای روز تولدم چیزی بگیری که شتاب ۰ تا صدش ۴ ثانیه باشه.
خانم چیزی شبیه این مد نظرش بود:

اما شوهرش چیز بسیار متفاوتی برایش خرید…

الان حال شوهر وخیم بوده و در ICU به سر میبرد!
بازم نتایج کنکور آمد و بحث بسیار سخت انتخاب رشته. یادمه سال ۷۸ که با رتبهی خوبی قبول شده بودم، اصلا نمیدونستم توی دانشگاه چه رشتههایی هست تا اینکه چشمم به دفترچهی انتخاب رشته افتاد. قبلا اطلاعات اندکی از برخی از دانشگاهها مثل تهران و امام صادق به دست آورده بودم ولی کلا میشه گفت صفر کیلومتر بودم طوری که فرق دانشگاه عباسپور و شریف رو نمیفهمیدم! و اگر کمک یک انسان شریف از دیار گرمسار نبود، شاید به جای شریف در عباسپور لیسانس میگرفتم. ماجراش خیلی جالبه، دانشگاه عباسپور آن زمان به صورت نیمه متمرکز دانشجو میگرفت و سر زبانها بود که اگر به این دانشگاهها بروی حتما در آینده استخدام میشی…ما هم جوگیر شده و انتخاب ششم را برق عباسپور زدم (بماند که اول میخواستم انتخاب اول بزنمش!) و برای مصاحبه همراه برادرم رفتم تهران. مدارک مثبته را تحویل بخش مصاحبه دادم و چون یکی دو ساعتی طول میکشید که نوبتم شود. رفتیم توی حیاط دانشگاه. آنجا با یک آدم خوش اخلاق مسن برخورد کردیم که با ما گرم گرفت و از رتبهام پرسید. گفتم ۱۵ منطقه ۳٫ گفت خوب اینجا چیکار میکنید؟ گفتم برای مصاحبه اومدیم. این بندهی خدا هم که یک فرزندش کامپیوتر شریف میخواند و دیگری در امیر کبیر و سومیش هم در عباسپور، به انتخاب ما خندید و گفت وسایلتونو جمع کنید و برید. شریف رو ول کردی میخوای بیای عباسپور. با رتبهی ۱۵ شما حتما برق شریف قبولی. برو آقا اصلا مصاحبه نکن که یکوقت پات گیر میشه و… ما هم تحت تاثیر حرفهای این آقا حتی مدارکمان را از دانشگاه نگرفتیم و فرار کردیم!
در مورد رشته هم که توی شهر کوچک ما کسی نبود که در رشتههای فنی قبول شده باشه و من بتونم از او اطلاعات بگیرم. در حد وسع خودم تلاش کردم که اطلاعات کسب کنم ولی در نهایت به دیگران اقتدا کردم! دیدم از قدیم هر کسی که رتبهاش خوب میشه میزنه برق. حالا اصلا نمیدونستم این برق، برق ساختمونه یا نیروگاه! به هر حال برق شریف قبول شدم (تازه فهمیدم یک برق دیگری هم هست!) و البته از رشتهام راضی بودم هر چند احساس میکنم کامپیوتر بیشتر به گروه خونم میخورد و در نهایت هم با توسل به پردازش تصویر در دورهی فوقلیسانس و دکتری از سخت افزار فرار کردم!
امسال ظاهرا دفترچههای راهنمای انتخاب رشته به دانشآموزان میدن که واقعا کار خوبیه. چون انتخاب رشته یعنی انتخاب آیندهی شغلی و شخصیتی.
در بخش قبل یک روش نه چندان آسان معرفی شد که با استفاده از آن میتوان از حداکثر توان پردازندههای چند هستهای استفاده کرد. امروز قصد دارم کتابخانهای را معرفی کنم که با استفاده از آن به سادگی میتوان حلقههای for سنگین را با استفاده از چند هستهی پردازنده سریعتر اجرا کرد. کتابخانهی OpenMP یک کتابخانهی C/C++ است که توسط میکروسافت و به منظور تسهیل برنامهنویسی برای پردازندههای چند هستهای تهیه شده است. اگر ویژوال استودیوی ۲۰۰۸ را نصب کنید، نسخهی ۲ این کتابخانه نیز به صورت خودکار نصب میشود. برای استفاده از این کتابخانه باید ابتدا در تنظیمات پروژه، گزینهی OpenMP Support را به Yes تنظیم کنید (شکل زیر).

سپس فایل omp.h را به لیست فایلهای سرآیه اضافه کنید. برای شروع کار بهتر است مثال قبلی را این بار با این کتابخانه امتحان کنیم. با استفاده از دستور omp_set_num_threads میتوان تعداد رویههای مستقل برای استفاده توسط این کتابخانه را تعیین کرد. مقدار پیش فرض به تعداد هستههای پردازنده است. یکی از پرکاربردترین عبارات(هر چی فکر کردم معادل directive یادم نیومد!) این کتابخانه عبارت parallel هست که میتوانید قبل از حلقهی for به صورت زیر از آن استفاده کنید.

به همین سادگی؛ حالا اگر برنامه را اجرا کنید، حلقهی for به طور خودکار در ۴ رویهی مستقل اجرا خواهد شد. با استفاده از این دو خط برنامه شما میتوانید به راحتی تعداد رویههایی که باید در اجرای حلقه کمک کنند را تعیین کنید. مثال جلسات قبل را با استفاده از این کتابخانه اجرا کردم، زمان اجرا برای حالتی که از دو ریسمان استفاده شد ۵٫۵ ثانیه و برای ۴ ریسمان ۲٫۸۵ ثانیه شد که تقریبا مشابه حالتی است که خودمان ۲ یا ۴ ریسمان را تولید کنیم. حتما استفاده از این کتابخانه راحت تر است! برای یادگیری بیشتر این کتابخانه و امکانات جالب آن به MSDN (راهنمای ویژوال استودیو) مراجعه فرمایید.
In the previous paper, I introduced an approach based on threads to use the maximum power of multicore processors in our programs. Here I introduce a handy library from Microsoft which makes programming for multicore CPUs an amazing work. OpenMP is an efficient library with several directives and functions which helps us to write or migrate codes for multi core CPUs simply by adding some line of codes. If you are using visual studio .net 2005 or 2008, this library is already installed and you can use it. To demonstrate this library we consider the example of the previous paper. To add support of OpenMp in our project, we must open “Project Settings” and change the value “OpenMP Support” to “Yes”. This makes visual studio to load required libraries for OpenMP.

Then we should add header file omp.h at the beggining of our cpp file. Using “omp_set_num_threads” we are able to set the number of threads which should be used by OpenMp library. The default value is equal to the number of CPU cores. One of the most important directive in this library is the “parallel” directive which can be used before heavy “for” loops to tell that the following loop must be shared between several cores of the processor. You can use it as follows:

Thats all! you have not to create separated threads and manage them, all of the works will be done by OpenMP. Using this code with omp_set_num_threads(2) the program takes about 5.5 seconds on Q6600 processor and with omp_set_num_threads(4) about 2.85 seconds. These values are almost the same as in the previous paper which we created threads mannualy. But I think OpenMP is easier!. For more information on OpenMP see MSDN (Visual Studio Help)
در جایی خواندم که فرشتهها بر سه نوعاند، گروه اول حاجتهای بندگان را به خداوند میرسانند، گروه دوم پاسخ خداوند را به بندگان میدهند و گروه سوم منتظر جوابی از سمت بندگان هستند که با گفتن یک “الهی شکر” پاسخ را به پروردگار میرسانند؛ واین گروه اخیر از همه بیکارترند.
خیلی از داشتههای امروز ما، آرزوهای دیروز بودهاند. پس خدایا تو را شکر برای همهی آرزوهایی که برآورده کردهای…





