سلام آقا امیر حسین .برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید ارسالی توسط XFXForce برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
چند نکته بگم .
اول اینکه اگه دقیق تر بخوام بگم ، پروسه ها شامل نخ ها هستند .
نخ ها ، شامل تابع هستند . نخ ها ، همیشه در حال اجرای تابع ، نیستند (خیلی وقت ها ، به دلایل مختلف ، انتظار میکشند تا دستوری را که اغلب با کلیک روی یک دکمه هست را بهشون برای اجرا بده) .
هر تابع (یا متد) ، در هر لحظه ، یک سری دستورات را به cpu برای اجرا ممکنه بدهند . این اجرای متد (یا متدهای پی در پی) ، زمان خاصی را از cpu (فعلا در یک هسته بحث میکنم) میگیره .
یعنی در زمانی که تابع اجرا میشه ، یک هسته از پردازنده ، یک زمان خاصی را در هر پردازنده (مثلا در پردازنده ی 12100 ، یک هسته اش ، فلان تابع را اگه اجرا کنه ، 50 میلی ثانیه زمان لازم داره) که این سرعت اجرا در یک هسته ، هم به معماری cpu وابسته هست (که در یک نسل ، همه از یک معماری استفاده میکنند) و هم از به کلاک و فرکانس cpu (که معمولا با افزایش تعداد هسته ها و در مدل های بالاتر ، فقط اندکی از فرکانس مدل های پایین ترش ، بالاتر هست) .
از طرفی ، چند نخ ، ممکنه در چند هسته اجرا بشه (ممکنه هم نشه) . یعنی یک نخ ، ممکنه در یک هسته ی مجزا از cpu ی دیگه اجرا بشه (این احتمال ، به چند تا عوامل بستگی داره که یکیش اینه که کاربر به قدر کافی ، هسته ی آزاد داشته باشه و (یا) همچنین اینکه متدش اون قدر زمان بر برای cpu باشه ، یعنی اجرای متدش ، سریع تمام نشه و اون متد در اون نخ ، پردازش نسبتا سنگین داشته باشه و ...) .
پس پروسه هایی که چندین نخ دارند ، ممکنه در چند هسته اجرا بشن .
حالا اما برای مایی که کاربر هستیم ، چیزی که در task manager میبینیم ، فقط نخ ها با متدهای سنگین را حس میکنیم . مثلا فلان نرم افزار را که اجرا میکنیم و میبینیم که معادل 5 هسته را استفاده میکنه ، همون متدهای سنگین در نخ های اون پروسه هست که برای ما و کاربر نهایی هم همین مهم هست .
پس اینکه یک نرم افزار یا پروسه ، از چه تعداد هسته استفاده کنه ، به این بستگی داره که چند نخ داره که درون هر کدوم از اون نخ ها ، متدهای سنگین و زمان بری در حال اجرا هستند .
===========
بجز قضیه ی رندر (معمولا رندر فیلم یا رندر 3 بعدی) اون هم اگه با cpu انجام بدن (یعنی موتور رندرش cpu based باشه) ،
در اغلب موارد ، پروسه ها ، از تعداد محدودی نخ استفاده میکنند (که متدهای سنگین و زمان بری برای پردازش داشته باشند) .
این یعنی اینکه در اغلب نرم افزارها (بجز اون موارد) ، از تعداد محدودی هسته استفاده میشه .
فتوشاپ هم از این مستثنی نیست و در آخرین نسخه اش هم (مثل نسخه های قبل) ، تقریبا از 6 هسته استفاده میکنه :
Adobe Photoshop: Intel Core 14th Gen vs AMD Ryzen 7000 | Puget Systems
درباره ی لایه ها هم که اگر این طور فکر کنید که هر چی که تعداد لایه ها در فتوشاپ بیشتر باشه ، پس استفاده و تعداد هسته های مورد استفاده اش هم باید بیشتر بشه ، باید بگم بستگی به طراحی موتور رندرش داره .
اگر طراحی موتور رندر فتوشاپ جوری باشه که مثل موتورهای رندر 3 بعدی ، یک تصویر را به چند قسمت تقسیم کنه و هر بخشش را در نخ ای مجزا پردازش کنه ، بله ، به همون تعدادی که تقسیم شد ، میشه که به تعداد هسته های مختلف نیاز باشه . یعنی در این صورت ، مخصوصا هر چی که پیکسل های تصویر و همچنین عمق تصویر (چند بیتی بودن تصویر) بالاتر بره ، مثل موتور رندرهای 3 بعدی ، هر چی که تعداد هسته موجود باشه ، از همه شون استفاده میکنه و در این صورت ، کامل استفاده از هسته های بسیار بالا را نشون میده .
اما اگه طراحی اش این طور باشه که کل تصویر را در یک هسته پردازش کنه ، با افزایش تعداد لایه ها و فیلترها ، نمیتونه هر لایه یا هر فیلتر را در یک هسته ی مجزا پردازش کنه . چون یک فیلترِ درونی ، ابتدا باید پردازش بشه و فیلترِ بیرونی باید منتظرِ پردازشِ فیلترِ درونی باشه تا ابتدا ، خروجیِ تصویرِ فیلترِ درونی ، خروجیِ تصویری را بده تا اون را به عنوان ورودی ، به فیلترِ بیرونی بده .
بنابراین همه باید در یک نخ اجرا بشه .
چیزی هم که ما از فتوشاپ میبینیم (تست همین سایت) ، نشون میده که موتور رندرش روال دوم را در پیش گرفت . چرا ، نمیدونم .
حجم بالا که قطعا در حالت حرفه ای هست :برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید ارسالی توسط XFXForce برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
Hardware Recommendations for Adobe Photoshop | Puget Systems
در حالت حرفه ای فتوشاپ ، 32 تا 64 و یا حتی بالاتر در حالت فوق حرفه ای پیشنهاد میشه .
البته تازه فقط اگه فتوشاپ باشه . یعنی به همراهش ، نرم افزارهای دیگه بصورت همزمان باز نباشن (مثل ایلاستریتور و ... ، همزمان با فتوشاپ استفاده نشه) ، یا شایدم حتی مرورگر .
بله ، حتی کارت 1650 هم احتمالا واسه ی نیمه حرفه ای فتوشاپ کافی باشه .برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید ارسالی توسط XFXForce برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
حتی برای بالاتر از حرفه ای هم 3050 باید کافی باشه و اختلاف چندانی با بقیه ی کارت ها ندارن :
Adobe Photoshop - AMD Radeon RX 6900 XT Performance | Puget Systems
دقت کنید توی قضیه ی هوش مصنوعی ، 2 موضوع کلی هست .برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید ارسالی توسط XFXForce برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
اولی ، ساختن مدل هوش مصنوعی و آموزش دادن به اون مدل هست . بحث اصلی روی این قضیه ی آموزش دادن هست که حجم داده ی عظیمی را میطلبه (بسته به تعداد پارامترهاش و ...) که باعث میشه کارت گرافیک با مخصوصا vram ئه بالا را لازم داشته باشه . در شرکت هایی مثل آدوب ، برای آموزش دادن به مدل هوش مصنوعی ، احتمالا به صدها یا هزاران کارت گرافیکی که همزمان با هم پردازش کنن ، داره .
این آموزش دادن به مدل ، کار کسی هست که نرم افزار را داره میسازه (مثلا در اینجا کار شرکت آدوب هست) و به کاربر ربطی نداره .
دومی ، استنتاج کردن (inference) و استفاده کردن مدل هوش مصنوعی هست که کاربر نهایی اون را انجام میده (مثلا کاربری که از فتوشاپ استفاده میکنه) .
استنتاج کردن ، خیلی خیلی به منابع کمتری نیاز داره .
گوگل اخیرا گفت که میشه استنتاج را در cpu هم اجرا کرد مخصوصا برای مدل های کوچیک تر (با پارامتر کمتر از 20 میلیارد) اما مدل های بزرگتر از این مقدار پارامتر ، برای استنتاج ، به کارت گرافیک نیاز دارن . هم هزینه اش کمتره و هم cpu های موجود برای این مقدار کافی هه (میگفت cpu ها هم در حال بهینه سازی برای استنتاج های بهتر هستند) :
Google: CPUs are Leading AI Inference Workloads, Not GPUs | TechPowerUp
اما خوب ، فعلا ، احتمالا اغلب نرم افزارهایی که هوش مصنوعی دارن ، حتی استنتاج کردن شون هم ممکنه توی کارت گرافیک انجام بشه (احتمالا تا حالا این طوره ، دقییق نمیدونم) اما به کارت گرافیکی به مراتب (و خیلی) ضعیف تر از زمان آموزش دادن مدل هوش مصنوعی ، براشون کافی هه .
اما اگه فرضا در آینده ، استنتاج هوش مصنوعی را به عهده ی cpu بسپارن ، به تعداد هسته های بیشتر (یا خیلی بیشتری) از cpu برای اجرای اون نرم افزار نیاز هست .






پاسخ با نقل قول
Bookmarks