SIA: Swarm Intelligence Algorithms

الگوریتم های هوش جمعی

SIA: Swarm Intelligence Algorithms

الگوریتم های هوش جمعی

کتاب: برنامه نویسی موازی با کودا

کتاب برنامه نویسی موازی با کودا

 


این کتاب در سال 1397 توسط آقایان علی اکبر اله دانه و پیام کیافر در 994 صفحه نگارش شده است و در انتشارات ناقوس به چاپ رسیده است. این کتاب شامل دوازده فصل و دو پیوست الف و ب می باشد. در هر فصل از این کتاب علاوه بر پرداختن به مفاهیم فصل مربوطه به منظور تفهیم مفاهیم هر فصل چندین مثال عملی نیز راجع به برنامه نویسی کوائی آن آورده شده است. در این کتاب برای برنامه نویسی برای محاسبات موازی با GPU از پلتفرم کودا سی و سی پلاس پلاس استفاده شده است.

استفاده از توان محاسباتی رایانه‌ها در تحقیقات علمی و فعالیت‌های دانشگاهی، مراکز تحقیقاتی و شرکت‌های تجاری، کاربرد روزافزونی پیدا نموده است؛ ازاین‌رو نیاز به پردازش سریع‌تر افزایش یافته و به یک نیاز اساسی تبدیل شده است. سرعت کامپیوترهای شخصی کنونی نسبت به اجداد خود به‌طور سرسام‌آوری افزایش یافته است اما علیرغم وجود این موضوع باز جوابگوی نیازهای مطرح‌شده نیست. ازجمله عرصه‌هایی که احتیاج به کامپیوترهایی با سرعت پردازش بسیار بالا دارند می‌توان به برنامه‌های شبیه‌سازی در تحقیقات هسته‌ای، نانو فناوری محاسباتی، برنامه‌های پیش‌بینی وضعیت هوا، برنامه‌های فیلم‌سازی کامپیوتری، برنامه‌های ساخت انیمیشن حرفه‌ای و بسیاری از زمینه‌های مختلف دیگر که همگی به‌سرعت پردازش بسیار زیاد نیاز دارند تا در یک زمان مناسب به نتیجه برسند اشاره کرد. یک راه‌حل برای این معضل، استفاده از سوپرکامپیوترها است. درست است که سرعت پردازش سوپرکامپیوترها بسیار بالاتر از کامپیوترهای شخصی است اما استفاده از آن‌ها در همه موارد مقرون‌به‌صرفه نیست؛ ضمن آن‌که این فناوری در انحصار بعضی از کشورهای توسعه‌یافته است و سایر کشورها از دسترسی به این تجهیزات استراتژیک محروم هستند. راه‌حل دیگر در دستیابی به سرعت پردازش بسیار بالا، استفاده از روش پردازش موازی است. به بیان ساده در این روش چند پردازنده (در اینجا منظور پردازنده‏های گرافیکی) معمولی با همکاری یکدیگر به اجرای یک برنامه می‌پردازند که طی این همکاری، برنامه با سرعت بالاتری اجرا می‌شود. به عبارت دیگر، پردازش یا محاسبه‏ی موازی، شکلی از پردازش است که در آن دستورالعمل‌های بسیاری در یک زمان و به صورت هم‌زمان انجام می‌شوند و بر اساس این اصل اجرا می‌شوند که مسائل بزرگ را اغلب می‌توان به مسائل کوچک‌تر تقسیم نمود که سپس باهم و به‌صورت موازی اجرا شوند. کودا در نوامبر 2006 توسط انویدیا معرفی گردید، کودا یک پلتفرم محاسبات موازی همه‌منظوره و مدل برنامه‌نویسی است که رابط‌های برنامه‌نویسی را در اختیار برنامه‌نویسان قرار می‌دهد و به طراحان نرم‌افزار اجازه می‌دهد تا از توانایی‌های جی‌پی‌یو (GPU سرواژه Graphics Processing Unit بوده و به معنای واحد پردازش گرافیکی است) در جهت محاسبات همه‌منظوره روی واحد پردازش گرافیکی استفاده کنند. پلتفرم کودا یک لایه نرم‌افزاری است که دسترسی مستقیم به مجموعه دستورالعمل‌های مجازی جی‌پی‌یو و عناصر محاسبات موازی را می‌دهد. این پلتفرم به گونه‌ای طراحی شده است که با زبان‌های برنامه‌نویسی سی، سی‏پلاس‌پلاس، فرترن و متلب کار می‌کند. این قابلیت دسترسی، کار را برای متخصصان برنامه‌نویسی موازی به منظور استفاده از منابع جی‌پی‌یو به همان شکلی که از دایرکت‌ایکس (DirectX) یا اپن‌جی‌ال (OpenGL) استفاده می‌کنند، هموار کرده است. با استفاده از این معماری می‌توان برنامه خود را به زبان سی یا سی‏پلاس‏پلاس نوشته و سپس بر روی پردازنده گرافیکی اجرا کرده و از سرعت آن لذت برد.  ادامه مطلب ...

کتاب: ژن خودخواه


در شکل 1جلد کتاب ژن خودخواه به نویسندگی ریچارد داکینز با سی امین سالگرد نگارش این کتاب نشان داده شده است. این کتاب ویرایش دوم بوده و در سال 2006 در انتشارات Oxford University Press به چاپ رسیده است.
کتاب شامل سیزده فصل می باشد. در ادامه به توضیح مختصری راجع به هر فصل داده می شود.  ادامه مطلب ...

کتاب توسعه برنامه موازی GPU با استفاده از کودا

معرفی کتاب توسعه برنامه موازی GPU با استفاده از کودا

این کتاب با نام  توسعه برنامه موازی GPU با استفاده از کودا می باشد که توسط Tolga Soyata نوشته شده است. این کتاب در سال  2018 توسط انتشارات Chapman and Hall/CRC منشر شده است. کتاب حاضر در 15 فصل در قالب 477 صفحه ارائه شده است. نویسنده این کتاب مباحث خود را در سه بخش: توضیحات در مورد اجرای برنامه با cpu و چند نخی ارائه می دهد  و  در قسمت دوم به اجرای برنامه ها در پلتفرم nvidia همراه با GPU را بیان کرده است و در قسمت آخر کتاب دید گسترده ای از مفاهیم GPU و کودا را به خواننده می دهد و به معرفی اجمالی از کتابخانه های کودا مانند cuBLAS, cuFFT, NPP, and Thrust می پردازد. تصویر جلد کتاب در شکل 1 قابل مشاهده می باشد.


شکل 1: تصویر جلد کتاب توسعه برنامه موازی GPU با استفاده از کودا