В характеристиках видеокарты гордо написано «тысячи ядер CUDA» или «тысячи потоковых процессоров», и первая мысль — если ядер в тысячу раз больше, чем у процессора, значит и задача решится в тысячу раз быстрее. На практике реальное ускорение почти никогда не приближается к этой цифре, и дело не в «плохом» коде и не в маркетинге производителя. Дело в том, что ядро GPU устроено принципиально иначе, чем ядро CPU, а реальный выигрыш ограничен долей задачи, которую вообще можно распараллелить, ветвлениями в коде и стоимостью пересылки данных. Разберём по…
Подробнее →