ювача тривимірної графіки. p align="justify"> Висока обчислювальна потужність GPU пояснюється особливостями архітектури. Якщо сучасні CPU містять кілька ядер (на більшості сучасних систем від 2 до 6, станом на 2012 р.), графічний процесор спочатку створювався як многоядерная структура, в якій кількість ядер може досягати сотень. Різниця в архітектурі обумовлює і різницю в принципах роботи. Якщо архітектура CPU передбачає послідовну обробку інформації, то GPU історично призначався для обробки комп'ютерної графіки, тому розрахований на масивно паралельні обчислення. p align="justify"> Відмінності від СPU
Ядра CPU створені для виконання одного потоку послідовних інструкцій з максимальною продуктивністю, а GPU використовуються для швидкого виконання великої кількості паралельно виконуваних потоків інструкцій. CPU оптимізовані для досягнення максимальної продуктивності окремого алгоритму, інструкцій. У відеочіпів робота распараллелена спочатку. На вході приймаються полігони, проводяться необхідні операції, і на виході отримуємо пікселі. При чому обробка полігонів ніяк не пов'язана між собою. p align="justify"> Також відміну GPU від CPU виявляється і в принципі доступу до пам'яті. Тобто, в GPU при записі пікселя в буфер через деякий час буде записаний і сусідній з ним піксель. У слідстві такої організації пам'яті, чіпу просто не потрібна кеш-пам'ять великого розміру (до 256 кБ). p align="justify"> Та й сама по собі робота з пам'яттю у GPU і CPU дещо відрізняється. Так, не всі центральні процесори мають вбудовані контролери пам'яті, а у всіх GPU зазвичай є по кілька контролерів, аж до восьми 64-бітових. Крім того, на відкритих застосовується більш швидка пам'ять, і в результаті відеочіпі доступна в рази більша пропускна здатність пам'яті. p align="justify"> Також є й відмінності в кешуванні. CPU використовують кеш для збільшення продуктивності за рахунок зниження затримок доступу до пам'яті, а GPU використовують кеш для збільшення смуги пропускання. CPU знижують затримки доступу до пам'яті за допомогою кеш-пам'яті великого розміру, а також передбачення розгалужень коду. Ці апаратні частини займають більшу частину площі чіпа і споживають багато енергії. Відеочіпи обходять проблему затримок доступу до пам'яті за допомогою одночасного виконання тисяч потоків - в той час, коли один з потоків очікує даних з пам'яті, відеочип може виконувати обчислення іншого потоку без очікування і затримок. p align="justify"> У підсумку, основою для ефективного використання мощі GPU в неграфічних розрахунках є розпаралелювання алгоритмів на сотні виконавчих блоків, наявних у відеочіпах. - технологія GPGPU, що дозволяє реалізовувати на С алгоритми, здійснимі на графічних процесорах прискорювачів GeForce восьмого покоління і старше. Технологія CUDA розроблена компанією nVidia. Простіше кажучи, графічна підсистема комп'ютера з підтримкою CUDA може бути використана, як вичіслі...