Статья на Хабре. Большинство программистов отлично разбираются в работе процессоров и последовательном программировании, поскольку с самого начала пишут код для CPU. Однако многие из них меньше знают о том, как устроены графические процессоры (GPU) и в чем заключается их уникальность. За последнее десятилетие GPU стали чрезвычайно важны благодаря широкому применению в глубоком обучении, и сегодня каждому разработчику необходимо обладать базовыми знаниями о том, как они работают. Цель этой статьи — дать вам это понимание...
На современных видеокартах можно делать параллельные математические вычисления, не связанные с 3D-графикой. Наиболее известные программные интерфейсы Direct3D (DirectX) или OpenGL, ответственные за вывод графики, в данном случае не подходят. На сегодня есть два основных типа интерфейсов для доступа к таким вычислениям, в том числе векторным, на GPU – CUDA и OpenCL. Стоит также уточнить, что в отличие от многоядерных CPU, ядра видеокарт менее универсальны и более просты. Из-за этого, их может быть на видеокарте огромное количество...