PDA

View Full Version : Parallel programming چیست ؟



خسرو خان
شنبه 21 مرداد 1391, 07:47 صبح
سلام
کسی میدونه Parallel programming چیه و کجاها استفاده مبشه و اینکه دات نت هم همچین قابلیت و داره یا نه ؟

با تشکر

fjm11100
شنبه 21 مرداد 1391, 14:57 عصر
واژه Parallel Computing صحیح تر است. یعنی محاسبات و پردازش همزمان. در دات نت از اول هم بصورت thread در دسترس بود ولی در دات نت 4 ماکروسافت با معرفی Task Parallel Library یا TPL کار را راحت تر کرد. این لینک را ببین
http://blogs.msdn.com/b/csharpfaq/archive/2010/06/01/parallel-programming-in-net-framework-4-getting-started.aspx
کاربردش در زمانهایی است که شما میخوای چند کار را همزمان انجام بدهی. مثلا اگر یک پردازش داشته باشی که یک progressbar را تغییر میده و شما درصد پیشرفت را روی اون می بینی میای و یک ترد جدا برای اون پردازش ایجاد می کنی تا کل فرمت بخاطر درگیر شدن در پردازش هنگ نکنه و بتونی مثلا دکمه stop را فشار بدی.

rezatavassoli
شنبه 22 تیر 1392, 21:45 عصر
اطلاعات بیشتر به اینجا رجوع کنید http://msdn.microsoft.com/en-us/library/dd460693.aspx

kazem235
یک شنبه 23 تیر 1392, 00:26 صبح
این دوتا هم کامل هستند منتهی انگلیسی اند.
http://www.codeproject.com/Articles/71369/Parallel-Computing-Concepts-via-C-4-0
http://www.codeproject.com/Articles/29813/Parallel-Computations-in-C

sibooy
دوشنبه 11 شهریور 1392, 15:59 عصر
دوستان من فکر می کنم برنامه نویسی موازی با محاسبات موازی با وجود شباهت خیلی بزرگ یه تفاوت کوچولو دارن.
محاسبات موازی اینه که اصلا ساختار یه محاسبات می تونه موازی پیاده سازی بشه یا نه؟ بعد با مبحث الگوریتم های موازی الگوریتم اون محاسبات رو درمیاریم. منظور اینه که یه الگوریتمو چطور بنویسی (منظور الگوریتم نویسی هست نه برنامه نویسی) که اون الگوریتم قابلیت موازی اجرا شدن برای همه سخت افزار های موازی یا یه مدل سخت افزار خاص رو داشته باشه(مثلا الگوریتم رو برای روش message passing بنویسید یا یه همون الگوریتم رو برای معماری shared memory تغییر بدین)
اما برنامه نویسی موازی یعنی اینکه شما نوع معماری و سخت افزارتون مشخصه. محیط برنامه نویسی تون رو مشخص می کنید و متناسب با امکاناتی که اون محیط برنامه نویسی برای اون سخت افزار بهتون داده اون الگوریتم رو تبدیل به برنامه اجرایی می کنید و برنامه رو موازی اجرا می کنید.
من توی این پست روش برنامه نویسی موازی با OpenMP و CUDA رو برای اجرای برنامه ها روی پردازنده های چند هسته ای و پردازنده های گرافیکی گذاشتم. هردو از روش shared memory استفاده می کنن. لینکش اینجاست
http://barnamenevis.org/showthread.php?414780-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%85%D9%88%D8%A7%D8%B2%DB%8C-%D8%AF%D8%B1-C-%D8%A8%D8%A7-%D9%BE%D8%B1%D8%AF%D8%A7%D8%B2%D9%86%D8%AF%D9%87-%D9%87%D8%A7%DB%8C-%DA%86%D9%86%D8%AF-%D9%87%D8%B3%D8%AA%D9%87-%D8%A7%DB%8C%D8%8C-%D9%BE%D8%B1%D8%AF%D8%A7%D8%B2%D9%86%D8%AF%D9%87-%D9%87%D8%A7%DB%8C-%DA%AF%D8%B1%D8%A7%D9%81%DB%8C%DA%A9-%D9%88-%DA%86%D9%86%D8%AF-%D9%BE%D8%B1%D8%AF%D8%A7%D8%B2%D9%86%D8%AF%D9%87-%D8%A7%DB%8C
درپناه خدای یکتا پیروز و سربلند باشید.