Урок 1: Что такое GPU?
Прежде чем мы напишем хоть одну строку кода, познакомимся с героем этого курса — GPU. Представьте офис. CPU (обычный процессор в вашем компьютере) — это как небольшая команда из нескольких очень талантливых работников. Каждый умён, быстр и способен в одиночку решить сложную задачу от начала до конца
CPU — это четверо взрослых, умеющих решать задачи, каждый из которых может в одиночку, шаг за шагом, собрать огромную сложную модель LEGO. GPU — это класс из тысячи детей: каждый ребёнок умеет только соединять два кубика, но если вы дадите им всем одну и ту же простую инструкцию сразу — за секунду они построят гигантскую стену. Секрет GPU не в одном сообразительном ребёнке, а во множестве рук, работающих вместе.
- ядро
- Отдельный работник внутри процессора. У CPU есть несколько сильных ядер; у GPU — тысячи простых ядер, работающих вместе.
- поток
- Небольшая задача одного работника — единица работы. На GPU одновременно выполняются тысячи потоков, каждый над своим элементом.
- параллелизм
- Несколько вещей происходят одновременно, в один и тот же момент, а не одна за другой. В этом источник мощи GPU.
- параллелизм данных
- Выполнение одной и той же операции над множеством независимых элементов одновременно — как раскрашивание каждого пикселя или сложение каждой пары чисел.