یک CPU (واحد پردازش مرکزی) همراه با یک GPU (واحد پردازش گرافیکی) برای افزایش توان عملیاتی دادهها و تعداد محاسبات همزمان در یک نرمافزار کار میکند. پردازندههای گرافیکی در ابتدا برای ایجاد تصاویر برای گرافیکهای رایانهای و کنسولهای بازی ویدیویی طراحی شده بودند، اما از اوایل سال ۲۰۱۰، پردازندههای گرافیکی میتوانند برای سرعت بخشیدن به محاسبات شامل حجم عظیمی از داده نیز استفاده شوند.
یک CPU هرگز نمی تواند به طور کامل با یک GPU جایگزین شود: یک GPU با اجازه دادن به محاسبات تکراری در یک برنامه به صورت موازی در حالی که برنامه اصلی به کار خود روی CPU ادامه می دهد، معماری CPU را تکمیل می کند. میتوان CPU را بهعنوان مسئول کل سیستم در نظر گرفت که طیف وسیعی از وظایف محاسباتی همهمنظوره را هماهنگ میکند، با GPU که طیف محدودتری از وظایف تخصصیتر (معمولاً ریاضی) را انجام میدهد. با استفاده از قدرت موازی سازی، یک GPU در مقایسه با یک CPU می تواند کارهای بیشتری را در مدت زمان مشابهی انجام دهد.
تفاوت اصلی بین معماری CPU و GPU در این است که یک CPU برای انجام سریع طیف وسیعی از وظایف (که با سرعت ساعت CPU اندازهگیری میشود) طراحی شده است، اما در همزمانی وظایفی که میتوانند اجرا شوند محدودیت دارد. یک GPU برای ارائه سریع تصاویر و ویدیوهای با وضوح بالا به طور همزمان طراحی شده است.
از آنجایی که پردازندههای گرافیکی میتوانند عملیات موازی را روی چندین مجموعه داده انجام دهند، معمولا برای کارهای غیرگرافیکی مانند یادگیری ماشین و محاسبات علمی نیز استفاده میشوند. پردازندههای گرافیکی که با هزاران هستهی پردازشی که به طور همزمان کار میکنند طراحی شدهاند، موازیسازی عظیمی را امکانپذیر میکنند که در آن هر هسته بر انجام محاسبات کارآمد متمرکز است.
در حالی که GPU ها میتوانند بهخاطر موازی بودن پردازندهها، دادهها را چندین مرتبه سریعتر از یک CPU پردازش کنند، GPU ها به اندازه CPU ها همهکاره نیستند. CPU ها دارای مجموعه دستورالعملهای بزرگ و وسیعی هستند که هر ورودی و خروجی یک کامپیوتر را مدیریت میکنند، کاری که یک GPU نمیتواند انجام دهد. در یک محیط سرور، ممکن است 24 تا 48 هسته CPU بسیار سریع وجود داشته باشد. افزودن 4 تا 8 پردازنده گرافیکی به همین سرور می تواند تا 40000 هسته اضافی را فراهم کند. در حالی که تک هستههای CPU سریعتر (که با سرعت کلاک CPU اندازهگیری میشود) و باهوشتر از هستههای GPU جداگانه هستند، تعداد هستههای GPU و مقدار عظیم موازیسازیای که ارائه میدهند خروجی را میتواند در شرایطی بهبود بخشد.
GPU ها برای کارهای محاسباتی تکراری و موازی بسیار مناسب هستند. فراتر از رندر ویدئو، پردازندههای گرافیکی در یادگیری ماشین، شبیهسازیهای مالی و مدلسازی ریسک، و بسیاری دیگر از محاسبات علمی برتری دارند. در حالی که در سالهای گذشته، GPU ها برای استخراج ارزهای دیجیتال مانند بیت کوین یا اتریوم مورد استفاده قرار میگرفتند، GPU ها معمولا دیگر در مقیاس مورد استفاده قرار نمیگیرند و جای خود را به سختافزارهای تخصصی مانند آرایههای شبکهی قابل برنامهریزی میدانی (FPGA) و مدارهای مجتمع ویژه برنامه (ASIC) میدهند. .
رندر ویدیویی در CPU و GPU – کارت گرافیک کمک میکند تا تبدیل ویدیو از یک فرمت به فرمت دیگر سریعتر از اتکا به CPU انجام شود. GPU بهصورت خاص برای شکلدهی گرافیکی ساخته شده است و در این زمینه با توجه به سختافزار ممکن است GPU تا ۱۰۰ برابر سریعتر از CPU باشد.
شتاب دادن به داده ها – یک GPU دارای قابلیت محاسبات پیشرفتهای است که میزان دادههایی را که یک CPU میتواند در مدت زمان معین پردازش کند، افزایش دهد. وقتی برنامههای تخصصی وجود دارند که به محاسبات پیچیده ریاضی مانند یادگیری عمیق یا یادگیری ماشین نیاز دارند، این محاسبات میتوانند توسط GPU بارگیری شوند. این کار زمان و منابعی را برای CPU آزاد می کند تا سایر وظایف را به نحو احسن انجام دهد.
برای یادگیری عمیق GPU بهصورت خاص از CPU عملکرد بهتری دارد. فاکتورهای مهمی که در این زمینه نقش دارند را در زیر لیست کردهایم:
پهنای باند: هدف اصلی جی پی یو رندر سهبدی بافتها و ترکیبات پیچیده است، برای همین سپردن پایگاه دادههای انبوه مناسب آنها است. حافظهی cache سی پی یو ها برای میزان پردازشی که یک GPU انجام میدهد کوچک است و برای همین آنها از گذرگاههای حافظهی سریعتر و جادارتری بهره میبرند.
مجموعه دادههای انبوه: مدلهای یادگیری عمیق نیاز به مجموعه دادههای انبوه دارند. کارایی GPU در هندل کردن محاسبات نیازمند حافظهی زیاد ثابتشده است.
انجام موازی کارها: GPU ها با موازی کردن پردازشها است که میتوانند بدون تاخیر نتایج را به شما تحویل دهند. همزمانی انجام کارها میتواند سرعت تحویل خروجی نهایی را بالا ببرد.
قیمت بهتر: کار سنگین مربوط به شبکههای عصبی نیاز به قدرت سختافزاری بالایی دارد. برای یک میزان خاص از توان پردازشی، قیمت GPU از CPU بهصرفهتر است.
استخراج ارزهای دیجیتال – به دست آوردن ارزهای مجازی مانند بیت کوین شامل استفاده از رایانه بهعنوان رلهای برای پردازش تراکنشها است. در حالی که یک CPU می تواند این کار را انجام دهد، یک GPU روی کارت گرافیک میتواند به شما کمک کند تا بسیار سریعتر ارز تولید کنید.
در GPU ها، hash rate بالاتری را میتوانید به دست بیاورید. یک جی پی یو میتواند تا ۸۰۰ بار قویتر از CPU محاسبات ریاضی مخصوص ماینینگ بیتکوین را انجام دهد.