PDA

View Full Version : برنامه نویسی موازی



bpzone
جمعه 26 مرداد 1386, 01:10 صبح
سلام به همگی دوستان
من میخوام در مورد برنامه نویسی موازی بدونم و شروع به کار و برنامه نویسی توی این زمینه بکنم
لطفاً اگه کسی اطلاعاتی در این مورد داره کمکم کنه
همچنین در مورد MPI Library کسی چیزی میدونه ؟؟

mohammad272005
جمعه 26 مرداد 1386, 02:34 صبح
معمولا برنامه‏نویسی موازی (که خودش یه بحث کاملا جداست) به Threading هم‏معنی گرفته می‏شه.
البته هر دو بحث نسبتا بزرگن و خودشون شامل بحثهای دیگه‏ای میشن. مثلا میشه تو Threading مستقیما Threadها رو manage کرد و می‏شه Thread management رو به ThreadPool سپرد. تو برنامه‏نویسی موازی (Sync)، برنامه‏ها متدها (یا هر کد دیگه‏ای مثل Annonymouse methodها) رو اصطلاحا invoke می‏کنن.

bpzone
جمعه 26 مرداد 1386, 14:07 عصر
با تشکر از mohammad272005 (http://barnamenevis.org/forum/member.php?u=43326)
ولی من چیزی فراتر از یک توضیح می خوام ، من دنبال راهی برای آشنای با منطق برنامه نویسی موازی هستم و بعدس روشی برای پیاده سازی این علم ...

hdv212
جمعه 26 مرداد 1386, 15:41 عصر
این مقاله میتونه کمکت کنه :
http://www.codeproject.com/cs/threads/csharp.asp

sibooy
شنبه 23 دی 1391, 10:37 صبح
کسی هست که بتونه بهم بگه این تیکه کد رو چطور می تونم بصورت موازی بنویسم؟
می خوام هر سه حلقه موازی اجرا بشه
int i,j,k;
int a[10][10][10];
int b[10][10][10];
int c[10][10][10];
for (i=0;i<10;i++)
for(j=0;j<10;j++)
for(k=0;k<10;k+)
a[i][j][k]=b[i][j][k]+c[i][j][k];
می خواهم این سه حلقه تودرتو موازی اجرا بشه و همه عناصر آرایه ها بصورت موازی با هم محاسباتشون انجام بشه
کسی هست که بتونه به من کمک کنه؟
کمک بزرگی به من خواهید کرد اگی کمکم کنید

sibooy
پنج شنبه 28 دی 1391, 16:21 عصر
من با openmp توی ویژوال C++‎‎ 2011 برنامه نوشتم. حلقه های موازی و سریالش دقیقا یکجور پردانده مو بکار می گیرن و دقیقا هم یک زمان اجرا دارن.
پردازنده من یک Intel core i3 هست این دو نمونه کد رو ببینید جفتش عیت هم اجرا می شن.
for (i = 0 ; i < 10000 ; i++)
for(j=0;j<1000;j++)
printf("i=%d\n", i+j);
و اینم کد موازی


#pragma omp parallel


{

#pragma omp for collapse (2)


for (i = 0 ; i < 10000 ; i++)
for(j=0;j<1000;j++)
printf("i=%d\n", i+j);


}
کسی هست بتونه منو راهنمایی کنه؟



خدا کمک کرد خودم فهمیدمش
باید openmp رو اولی روی ویژوال استودیو راه اندازی کرد طریقه راه اندازی رودراین لینک گذاشتم
http://barnamenevis.org/showthread.php?395000-%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-vs-c-2010-%D8%A8%D9%87-%D9%88%D8%B3%DB%8C%D9%84%D9%87-OPENMP

RED-C0DE
پنج شنبه 28 دی 1391, 18:22 عصر
پروژه آخر ترم چ درسیتون هست باز؟
تو تالار C++ مطرحش کنید براتون حلش کنن!

من با openmp توی ویژوال C++‎ 2011 برنامه نوشتم. حلقه های موازی و سریالش دقیقا یکجور پردانده مو بکار می گیرن و دقیقا هم یک زمان اجرا دارن.
پردازنده من یک Intel core i3 هست این دو نمونه کد رو ببینید جفتش عیت هم اجرا می شن.
for (i = 0 ; i < 10000 ; i++)
for(j=0;j<1000;j++)
printf("i=%d\n", i+j);
و اینم کد موازی


#pragma omp parallel


{

#pragma omp for collapse (2)


for (i = 0 ; i < 10000 ; i++)
for(j=0;j<1000;j++)
printf("i=%d\n", i+j);


}
کسی هست بتونه منو راهنمایی کنه؟

sibooy
دوشنبه 11 شهریور 1392, 15:24 عصر
در این پست هم روش نصب CUDA هم یک مثال از اون رو گذاشتم. هم برنامه نویسی موازی روی پردازنده های چندهسته ای با openMP رو با یک مثال گذاشتم.
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
دوستان اگر نکته ای آموزشی چیزی در مورد برنامه نویسی موازی با پردازنده های چند هسته ای پردازنده های گرافیکی و چند پردازنده ای بلدید همونجا بذارید.

tooraj_azizi_1035
سه شنبه 12 شهریور 1392, 12:33 عصر
Parallel.For رو در Google سرچ کن.

monem hsz
دوشنبه 06 اردیبهشت 1395, 07:40 صبح
سلام در پردازنده های چند هسته ای چه نوع برنامه نویسی هایی است کداش چجوریه تقریبا مثل 8086 یا خیلی فرق میکنه کسی میتونه کمک کنه؟ مقاله ای پی دی افی ؟ کسی میتونه کمک کنه ؟
در مورد معماریشم میخوام بدونم کش ها و گذرگاهاش و برنامه نویسیش؟