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