انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: Keivan در 17 خرداد 1387، 07:56 بظ
-
من از ubuntu desktop و mpich2 برای کامپایل کردن یک برنامه mutithreat استفاده کردم ولی هر کاری که انجام می دهم برنامه یا درست کامپایل نمی شود یا درست اجرا نمیشود. ](*,) ??? به هر حال سوال بنده این هست که آیا ubuntu desktop 8.04 قابلیت های multicore سخت افزار را بالقوه استفاده می کند یا نه؟ آیا حتما باید از نسخه سرور استفاده کنم؟
در ضمن کامپیوتر من Dell Inspiron 6400 دارای پردازنده Intel Core 2 Dure هست.
-
بالاخره بخشی از مشکل را حل کردم. مشکل اصلی در کامپایل کردن برنامه نبود بلکه در نحوه نوشتن دستور برنامه بود. من برای اجرای این برنامه که به محاسبه عدد پی می پردازد از دستور زیر استفاده می کردم:
mpiexec -np 4 cpi_anim
که اصلاح شده آن در ubuntu به شکل زیر می باشد:
mpiexec -np 4 ./cpi_anim
ولی متاسفانه اجرای این برنامه با استفاده از یک پردازنده 500 بار سریعتر از 2 پردازنده بود. نظر شما چیست؟ آیا مشکل از ubuntu desktop است؟
-
چرا شما 4 np- انتخاب کردید، مگه cpu شما بیشتر از ۲ هسته داره؟
-
چرا شما 4 np- انتخاب کردید، مگه cpu شما بیشتر از ۲ هسته داره؟
نه پردازنده من بیشتر از 2 هسته ندارد ولی استفاده از np2- هم تفاوت چندانی ایجاد نکرد.
-
شما وقتی برنامه خودتون رو موازی سازی می کنید، خیلی وقتا سرعتتون بیشتر میشه ولی این به این معنی نیست که همیشه اینطور باشه چون ممکنه برای یه برنامه ساده این کار باعث کم شدن کارایی بشه چون ارتباطی که پردازنده ها با هم برقرار می کنن زمان گیره.
برای مورد شما فکر می کنم اگه برنامتون رو بذارید اینجا بچه ها میتونند بیشتر کمکتون کنن، ;)
فراموش نکنید موازی سازی برنامه کار پیچیده ای نیست ولی کارا کردن برنامه موازیده خیلی هم راحت نیست ;D