Куди застосувати cuda комп’ютерний ресурс у sm
І хоча перспективи обчислень силами GPU величезні, найбільш популярне рішення - Nvidia CUDA безкоштовно, має безліч документацій і в цілому досить нескладна в реалізації, додатків, що використовують цю технологію не так багато. В основному це всілякі спеціалізовані розрахунки, до яких пересічному користувачеві в більшості випадків немає діла. Але є і програми, розраховані на масового користувача, про них ми і поговоримо в даній статті.
Для початку трохи про саму технологію і з чим її їдять. Оскільки при написанні статті я орієнтуюся на широке коло Новомосковсктелей, то і пояснити постараюся доступною мовою без складних термінів і кілька коротко.
Вхідні потоки обробляються незалежно один від одного, тобто паралельно.

При цьому існує поділ на 3 рівні:

Grid - ядро. Містить одно / двох / тривимірний масив блоків.
Block - містить в собі безліч потоків (thread). Потоки різних блоків між собою взаємодіяти не можуть. Для чого потрібно було вводити блоки? Кожен блок по суті відповідає за свою підзадачу. Наприклад, велике зображення (яке є матрицею) можна розбити на кілька дрібніших частин (матриць) і паралельно працювати з кожною частиною зображення.
Thread - потік. Потоки всередині одного блоку можуть взаємодіяти або через загальну (shared) пам'ять, яка, до речі, куди швидше глобальної (global) пам'яті, або через засоби синхронізації потоків.
Warp - це поєднання взаємодіючих між собою потоків, для всіх сучасних GPU розмір Warp'а дорівнює 32. Далі йде half-warp. є половинкою warp'a, тому що звернення до пам'яті зазвичай йде окремо для першої і другої половини warp'a.
Як можна помітити, дана архітектура відмінно підходить для розпаралелювання завдань. І хоча програмування ведеться на мові Сі з деякими обмеженнями, на ділі не все так просто, тому що не все можна распараллелить. Немає ж і стандартних функцій для генерації випадкових чисел (або ініціалізації), все це доводиться реалізовувати окремо. І хоча готових варіантів є в достатній кількості, радості все це не приносить. Можливість використання рекурсії з'явилася порівняно недавно.
Для наочності була написана невелика консольна (для мінімізації коду) програма, яка виробляє операції з двома масивами типу float, тобто з нецілочисельне значеннями. За вказаними вище причин ініціалізація (заповнення масиву різними довільними значеннями) вироблялося силами CPU. Далі з відповідними елементами з кожного масиву вироблялося 25 всіляких операцій, проміжні результати записувалися в третій масив. Змінювався розмір масиву, результати наступні:
Всього було проведено 4 тесту:
1024 елемента в кожному масиві:

Наочно видно, що при такій малій кількості елементів толку від паралельних обчислень трохи, тому що самі обчислення проходять куди швидше, ніж їх підготовка.
4096 елементів в кожному масиві:

Тепер 12288 елементів в кожному масиві:

І останній тест - 36864 елемента в кожному масиві:

До речі, можна помітити, як в процесі виконання обчислень підвищується навантаження на GPU, а так само відбувається виділення пам'яті.

-
* Серія "Lie to me" - 1280х720, MPEG4, h.264.
-
* Серія "У Філадельфії завжди сонячно" - 624х464, xvid.
Контейнер і розмір перших двох файлів був .mkv і 1,55 гб, а останнього - .avi і 272 мб.
Почнемо з досить гучного і популярного продукту - Badaboom. Використовувалася версія - 1.2.1.74. Вартість програми становить $ 29.90.

Інтерфейс програми простий і наочний - зліва вибираємо вихідний файл або диск, а праворуч - необхідний пристрій, для якого будемо кодувати. Є і призначений для користувача режим, в якому вручну задаються параметри, він і використовувався.



Тепер запросто можна зрозуміти, навіщо ж потрібна підтримка сенсорних дисплеїв і технології мультитач. Більш того, програма наділена многозадачностью, як би дивно це не звучало. Як? Дивимося ролик:
Під час кодування завантаження процесора становить 100%, однак дискомфорту це не викликає. Браузер та інші неважкі програми не гальмують.

Результати куди краще, ніж у Badaboom. Якість так само на висоті, різницю з оригіналом можна помітити тільки порівнюючи попарно кадри під лупою.
Далі перейде до перекодированию з пониженням дозволу і бітрейта:

