رفتن به مطلب

زیر بار نرفتن پردازنده در matlab


 اشتراک گذاری

Recommended Posts

درود بر دوستان

علت این که در متلب حین محاسبات فرکانس پردازنده بیشینه می شود، اما هسته ها کامل زیر بار نمی روند چیست؟ آیا راهی هست که بتوان از همه ی توان پردازنده استفاده کرد؟

matlab 2018b

matlab.JPG

 

پ.ن  دریافتم که خوشبختانه متلب این قابلیت را دارد که همزمان چند نشست ازش در حال اجرا باشد.

گفتم تا به کار دیگران بیاید.

ویرایش شده توسط سعید بهمنیان
لینک به دیدگاه
Share on other sites

یعنی فقط ۱ هسته با بالاترین فرکانس کار میکنه و بقیه هسته ها بیکار هستند ؟

خیلی از نرم افزارها و بازی ها هستند که فقط از ۱ هسته کار می کشند.

لینک به دیدگاه
Share on other sites

در 43 دقیقه قبل، aVaOMi گفته است :

یعنی فقط ۱ هسته با بالاترین فرکانس کار میکنه و بقیه هسته ها بیکار هستند ؟

خیلی از نرم افزارها و بازی ها هستند که فقط از ۱ هسته کار می کشند.

درود

هر چهار هسته فرکانسشان بیشینه است اما  هر هسته حدود 20 درصد زیر بار است. متلب برنامه ی محاسباتی پیشرفته ای است و قابل قیاس با بازی نیست.

لینک به دیدگاه
Share on other sites

سلام 

احتمال زیاد منظورتون نرم افزار matlab هست نه mathlab . چون به هر دو اسم نرم افزار محاسباتی وجود دارند.

و اگر منظور matlab هست ورژن نرم افزار و نوع دستور اجرا شونده رو بهم بگین شاید بتونم راهنماییتون کنم

لینک به دیدگاه
Share on other sites

در 8 ساعت قبل، maximal10 گفته است :

سلام 

احتمال زیاد منظورتون نرم افزار matlab هست نه mathlab . چون به هر دو اسم نرم افزار محاسباتی وجود دارند.

و اگر منظور matlab هست ورژن نرم افزار و نوع دستور اجرا شونده رو بهم بگین شاید بتونم راهنماییتون کنم

درود

سپاس از تذکرت. اصلاح کردم. در پست اول مشخصاتی را که می‌دانم  نوشته‌ام.

لینک به دیدگاه
Share on other sites

درود ,  داخل تنظیمات خود نرم افزار ممکن هست قسمتی برای تنظیم میزان استفاده از منابع سیستمی وجود داشته باشه اما چون من با متلب آشنایی ندارم اطلاعی در این مورد ندارم  اما اگر نبود ممکن هست این روش جواب بده :درحا لی که نرم افزار متلب باز هست task manager  رو باز کنید , بعد از تب Processes رشته ی پردازشی متلب رو پیدا کنید روش کلیک راست کنید و از قسمت  set priority روی real time کلیک کنید , پنجره محاوره ای که با میشه رو تایید کنید ,  امیدوارم مفید واقع بشه

لینک به دیدگاه
Share on other sites

در 15 دقیقه قبل، Gintama گفته است :

درود ,  داخل تنظیمات خود نرم افزار ممکن هست قسمتی برای تنظیم میزان استفاده از منابع سیستمی وجود داشته باشه اما چون من با متلب آشنایی ندارم اطلاعی در این مورد ندارم  اما اگر نبود ممکن هست این روش جواب بده :درحا لی که نرم افزار متلب باز هست task manager  رو باز کنید , بعد از تب Processes رشته ی پردازشی متلب رو پیدا کنید روش کلیک راست کنید و از قسمت  set priority روی real time کلیک کنید , پنجره محاوره ای که با میشه رو تایید کنید ,  امیدوارم مفید واقع بشه

درود

این روش برای وقتی است که چند برنامه در حال اجرا باشند و بخواهیم تخصیص پردازنده به برنامه‌ها را اولیوت بندی کنیم. الان متلب به تنهایی هم در حال کار باشد همینقدر پردازنده را درگیر می‌کند. وقتی برنامه‌ای نهایتا  تا مثلا ۱۵ درصد پردازنده را بتواند درگیر کند، اولویت‌بندی تاثیری ندارد.

لینک به دیدگاه
Share on other sites

در 36 دقیقه قبل، عظما گفته است :

به خاطر این هستش نخ های اجرایی متوالی هستن و بین ها هسته ها جابه‌جا میشوند برای رفع مشکل هم، مسلتزم برنامه‌نویسی به روش نخ هستش.

درود

سپاسگزارم. به احتمال زیاد مشکل همین است و به نوع محاسبات به کار رفته مربوط است.

لینک به دیدگاه
Share on other sites

خوشبختانه متلب این قابلیت را دارد که همزمان چند نشست ازش در حال اجرا باشد.

گفتم تا به کار دیگران بیاید.

لینک به دیدگاه
Share on other sites

در 26 دقیقه قبل، سعید بهمنیان گفته است :

خوشبختانه متلب این قابلیت را دارد که همزمان چند نشست ازش در حال اجرا باشد.

گفتم تا به کار دیگران بیاید.

سلام دوست عزیز

راستش من اطلاعانم تو این زمینه ضعیفه ولی یادمه که برای اینکه برنامه هایی که برنامه نویسی میشه تو متلب یا هر سیستم دیگه، از کل قدرت سی پی یو استفاده کنه، باید طور خاصی برنامه نویسی بشه! ینی یکم کار میبره! یه سرچی بزنین

لینک به دیدگاه
Share on other sites

در 1 ساعت قبل، amirff1 گفته است :

سلام دوست عزیز

راستش من اطلاعانم تو این زمینه ضعیفه ولی یادمه که برای اینکه برنامه هایی که برنامه نویسی میشه تو متلب یا هر سیستم دیگه، از کل قدرت سی پی یو استفاده کنه، باید طور خاصی برنامه نویسی بشه! ینی یکم کار میبره! یه سرچی بزنین

کار خاصی نمیبره فقط باید به صورت مولتی تردینگ نوشته بشه. هر برنامه ای هم مولتی تردینگ نمیشه چون وقتی تردی برای اجرا شدنش به نتیجه ی ترد دیگه نیاز داشته باشه عملا غیر ممکن میشه. 

البته من تو سی شارپ نوشتم با مطلب اشنایی ندارم ولی فک کنم اینم کتاب خانه های مخصوص مولتی تردینگ خاص خودشو داشته باشه.

لینک به دیدگاه
Share on other sites

سلام

کد نویسی که انجام دادید به صورت سریال هستش. برای درگیر شدن همه هسته ها نیاز به نوشتن کد به صورت موازی هستش که نیاز به دانش در این زمینه هست. می تونید چندتا متلب همزمان باز کنید و برنامه ها رو اجرا بزارید. تغییر سرعتی تو اجرا یه برنامه ایجاد نمیشه اما چند برنامه به صورت همزمان انجام میشه که تو زمان می تونید صرفه جویی کنید. 

لینک به دیدگاه
Share on other sites

سلام

کدی که شما تو متلب نوشتین رو من نمیدونم ولی این جور که پیداست یک سری ماتریس دارین و قطعا عملیات ماتریسی مثل ضرب و معکوس گیری داره. این جور عملیات خیلی با پردازش چند هسته ای سازگار نیست. تو همین شاتی هم که گرفتید هسته ها زیر لود نیستن. اگر کارت گرافیک nvidia روی همین سیستم داشته باشین میتونید کل پردازش رو روی کارت گرافیک اجرا کنید ولی خیلی تاثیری روی کد شما نداره.

لینک به دیدگاه
Share on other sites

در 53 دقیقه قبل، maximal10 گفته است :

سلام

کدی که شما تو متلب نوشتین رو من نمیدونم ولی این جور که پیداست یک سری ماتریس دارین و قطعا عملیات ماتریسی مثل ضرب و معکوس گیری داره. این جور عملیات خیلی با پردازش چند هسته ای سازگار نیست. تو همین شاتی هم که گرفتید هسته ها زیر لود نیستن. اگر کارت گرافیک nvidia روی همین سیستم داشته باشین میتونید کل پردازش رو روی کارت گرافیک اجرا کنید ولی خیلی تاثیری روی کد شما نداره.

سپاس

کارت کوادرو m2000 و m4000 دارم. گذاشتن پردازش روی گرافیک به چه شکل انجام می شود و چقدر روی سرعت اثر گذار است؟ آیا در دقت محاسبات هم اثر دارد؟

لینک به دیدگاه
Share on other sites

در ۱ ساعت قبل، سعید بهمنیان گفته است :

سپاس

کارت کوادرو m2000 و m4000 دارم. گذاشتن پردازش روی گرافیک به چه شکل انجام می شود و چقدر روی سرعت اثر گذار است؟ آیا در دقت محاسبات هم اثر دارد؟

یک قسمت به عنوان parallel computing toolbox  داره که توابع لازم رو داره ولی اگر بخام به طور مختصر راهنمایی تون کنم بهتره دو سه تا از مثال های موجود در help نرم افزار رو مطالعه کنید. دو عبارت زیر رو در هلپ نرم افزار تایپ کنید . یکسری کدهای آماده داره که میتونید ازش برای قابلیت کارت گرافیکی تون در پردازش استفاده کنید و هم به طور مختصر روش استفاده از gpu رو نشون می ده

1-Establish Arrays on a GPU

2- Measuring GPU Performance

مخصوص گزینه دوم به طور خودکار کدهای اماده ای را دارد که تفاوت زمان محاسبات پردازنده و جی چی یو رو نشون می دهد.

در مورد دقت محاسبات هم برا ی کاربرد شما قطعا دقت کافی را دارد و گرنه برای پروژه های بزرگ و حرفه ای که با حجم عظیم داده و پردازش روبرو هستند کارت های گران قیمت تسلا استفاده میشه که اونجوری که من میخوندم بسار روی دقت محاسباتشون کار شده

لینک به دیدگاه
Share on other sites

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.

مهمان
ارسال پست در این تاپیک...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

 اشتراک گذاری

×
  • اضافه کردن...