Чому ми все ще використовуємо центральні процесори замість графічних?

Nov 6, 2024
Апаратне забезпечення

Все частіше графічні процесори використовуються для неграфічних завдань, таких як розрахунки ризиків, розрахунки динаміки рідини та сейсмічний аналіз. Що заважає нам застосовувати пристрої, керовані графічним процесором?

Сьогоднішня сесія запитань та відповідей надійшла до нас люб’язно від SuperUser - підрозділу Stack Exchange, групи об’єднань веб-сайтів із запитаннями та відповідями.

Питання

Читач SuperUser Ell не відстає від технічних новин і цікаво, чому ми не використовуємо більше систем на базі GPU:

Мені здається, що в наші дні проводиться багато розрахунків на графічному процесорі. Очевидно, там робиться графіка, але з використанням CUDA тощо, AI, алгоритми хешування (думаю, біткойни) та інші також виконуються на графічному процесорі. Чому ми не можемо просто позбутися центрального процесора і використовувати графічний процесор самостійно? Що робить графічний процесор набагато швидшим, ніж центральний?

Чому справді? Що робить центральний процесор унікальним?

Відповідь

Співавтор SuperUser DragonLord пропонує добре підтримуваний огляд відмінностей між графічними та центральними процесорами:

TL; відповідь DR: Графічні процесори мають набагато більше ядер процесора, ніж центральні процесори, але оскільки кожне ядро ​​графічного процесора працює значно повільніше, ніж ядро ​​центрального процесора, і не має функцій, необхідних для сучасних операційних систем, вони не підходять для виконання більшої частини обробки в повсякденних обчисленнях. Вони найбільш підходять для обчислювальних операцій, таких як обробка відео та фізичне моделювання.

Детальна відповідь: GPGPU все ще є відносно новою концепцією. Графічні процесори спочатку використовувались лише для відтворення графіки; У міру вдосконалення технології велика кількість ядер в графічних процесорах щодо центральних процесорів була використана шляхом розробки обчислювальних можливостей для графічних процесорів, щоб вони могли одночасно обробляти багато паралельних потоків даних, незалежно від того, якими вони можуть бути. Хоча графічні процесори можуть мати сотні або навіть тисячі потокових процесорів, кожен з них працює повільніше, ніж ядро ​​центрального процесора, і має менше функцій (навіть якщо вони Тьюрінг повний і може бути запрограмований для запуску будь-якої програми, яку може запускати центральний процесор). До функцій, відсутніх у графічних процесорах, належать переривання та віртуальна пам’ять, необхідні для реалізації сучасної операційної системи.

Іншими словами, процесори та графічні процесори мають суттєво різні архітектури, що робить їх більш придатними для різних завдань. Графічний процесор може обробляти великі обсяги даних у багатьох потоках, виконуючи відносно прості операції з ними, але погано підходить для важкої або складної обробки на одному або декількох потоках даних. Процесор набагато швидший на основі кожного ядра (з точки зору інструкцій на секунду) і може легше виконувати складні операції з одним або кількома потоками даних, але не може ефективно обробляти багато потоків одночасно.

Як результат, графічні процесори не придатні для обробки завдань, які не мають значної вигоди або не можуть бути паралелізовані, включаючи багато поширених споживчих програм, таких як текстові процесори. Крім того, графічні процесори використовують принципово іншу архітектуру; потрібно було б запрограмувати додаток спеціально для графічного процесора, щоб він працював, і для програмування графічних процесорів потрібні суттєво різні методи. Ці різні техніки включають нові мови програмування, модифікації існуючих мов та нові парадигми програмування, які краще підходять для вираження обчислення як паралельної операції, що виконується багатьма потоковими процесорами. Для отримання додаткової інформації про методи, необхідні для програмування графічних процесорів, див. Статті у Вікіпедії обробка потоку і паралельні обчислення .

Сучасні графічні процесори здатні виконувати векторні операції та арифметику з плаваючою крапкою, а найновіші картки здатні обробляти числа з плаваючою точкою з подвійною точністю. Такі фреймворки, як CUDA та OpenCL, дозволяють писати програми для графічних процесорів, а природа графічних процесорів робить їх найбільш придатними для операцій з високим розпаралеленням, таких як наукові обчислення, де серія спеціалізованих обчислювальних карт GPU може стати життєздатною заміною невеликому обчислювати кластер як Персональні суперкомп'ютери NVIDIA Tesla . Споживачі сучасних графічних процесорів, які мають досвід роботи з Folding @ home, можуть скористатися ними Клієнти графічного процесора , який може виконувати симуляцію складання білка на дуже високих швидкостях і сприяти більшій роботі над проектом (обов’язково прочитайте Поширені запитання по-перше, особливо пов’язані з графічними процесорами). Графічні процесори також можуть забезпечити кращу фізичну імітацію у відеоіграх за допомогою PhysX, пришвидшити кодування та декодування відео та виконувати інші обчислювальні завдання. Саме такі типи завдань графічні процесори найбільше підходять для виконання.

AMD є новатором процесора, який називається Блок прискореної обробки (APU) який поєднує звичайні ядра процесорів x86 з графічними процесорами. Це може дозволити процесору та компонентам графічного процесора працювати разом та покращити продуктивність в системах з обмеженим простором для окремих компонентів. Оскільки технологія продовжує прогресувати, ми побачимо все більший ступінь зближення цих колись окремих частин. Однак багато завдань, що виконуються операційними системами та програмами для ПК, як і раніше краще підходять для центральних процесорів, і для прискорення програми, що використовує графічний процесор, потрібно багато працювати. Оскільки стільки існуючого програмного забезпечення використовує архітектуру x86, а оскільки графічні процесори вимагають різних методів програмування і відсутні кілька важливих функцій, необхідних для операційних систем, загальний перехід від центрального процесора до графічного процесора для повсякденних обчислень надзвичайно важкий.


Є що додати до пояснення? Звук у коментарях. Хочете прочитати більше відповідей від інших досвідчених користувачів Stack Exchange? Ознайомтесь із повним обговоренням тут .

Why Are We Still Using CPUs Instead Of GPUs? (15 Solutions!!)

Why Do CPUs Need Caches? - Computerphile

How Intel And AMD Are Using 'chiplets' To Build Next-gen CPUs | Upscaled

GPUs: Explained


Апаратне забезпечення - Найпопулярніші статті

Що таке диски NVMe і чи варто їх купувати?

Апаратне забезпечення Sep 16, 2025

НЕЗАГОТОВЛЕНИЙ ЗМІСТ Samsung Найбільше оновлення вашого старого ПК - це швидше зберіган�..


C64 Mini прибув, чи можете ви пережити дні слави Комодора?

Апаратне забезпечення Oct 6, 2025

НЕЗАГОТОВЛЕНИЙ ЗМІСТ 9 жовтня в США випускається c64 Mini. Він оснащений відеовиходом високої чіткос�..


Яка різниця між повітродувкою та охолоджувачем графічного процесора просто неба?

Апаратне забезпечення Sep 7, 2025

Якщо ви купуєте нову графічну карту для робочого столу, можливо, ви бачили різні моделі з різним�..


Як працює бездротова зарядка?

Апаратне забезпечення Oct 3, 2025

Бездротова зарядка має стати більш популярною із впровадженням бездротової зарядки Qi в Apple iPhon..


Найкращі геймпади MFi для вашого iPhone або iPad

Апаратне забезпечення Jul 22, 2025

НЕЗАГОТОВЛЕНИЙ ЗМІСТ Є кілька напрочуд пристойних ігор на iPhone, iPad та Apple TV, але сенсорні елементи к..


Як налаштувати Wink Hub (і почати додавати пристрої)

Апаратне забезпечення Mar 13, 2025

НЕЗАГОТОВЛЕНИЙ ЗМІСТ Де ти кохаєш ще один розумний центр, який прагне конкурувати з подібн�..


Повний посібник із покращення ігрових характеристик ПК

Апаратне забезпечення Nov 3, 2024

Якщо ви новачок у світі ігор для ПК, все це може здатися дещо складним. На консолях немає обладнання..


Чому ігри сповільнюються від заряду акумулятора, навіть якщо вибрано високоефективний план живлення?

Апаратне забезпечення Dec 29, 2024

НЕЗАГОТОВЛЕНИЙ ЗМІСТ Якщо ви любите грати в ігри, то ви точно бажаєте найкращої продуктивності, я�..


Категорії