Какой бы мы не писали код, рано или поздно он выполняется на процессоре. При создании облачной инфраструктуры мы можем выбирать разные типы процессоров. Еще этот слой называют
compute. Важно выбрать правильно — тогда результат мы получим быстрее, а заплатим меньшеДавайте посмотрим, какие варианты у нас есть:
1️⃣ CPU — central processing unit. Самый обычный процессор, такой стоит в вашем компьютере. Такие процессоры проще всего программировать. Они подходят для большинства стандартных задач.
CPU состоит из нескольких ядер.
2️⃣ GPU — graphical processing unit. Изначально такие процессоры предназначались для обработки графики. Но стали применяться и в других задачах, где нужен большой объем параллельных вычислений.
GPU процессор состоит из тысяч ядер. Важно, что, чтобы использовать эти преимущества, ваша программа должна уметь работать с таким процессором.
3️⃣ FPGA — field-programmable gate array. Это железо, которое можно низкоуровнево запрограммировать, чтобы оно стало лучше обрабатывать определенные задачи. Грубо говоря, такой процессор сперва нужно прошить, а только потом использовать.
4️⃣ ASIC - application-specific integrated circuit. В этом случае процессор сразу производят оптимизированным для выполнения определенных задач. Например, Google предлагает
tensor processing unit для обработки TensorFlow задач.Если характеризовать эти процессоры по цене 💰(больше мешков = дороже), эффективности 📈 и гибкости ⚖️, то будет так:
1.
CPU: 💰, 📈, ⚖️⚖️⚖️⚖️2.
GPU: 💰💰, 📈📈, ⚖️⚖️⚖️3.
FPGA: 💰💰💰, 📈📈📈, ⚖️⚖️ 4.
ASIC: 💰💰💰💰, 📈📈📈📈, ⚖️ ◼️Еще раз — процессоры бывают разные, обычно хватает CPU. Если не хватает и софт позволяет, то можно использовать GPU. Если все еще не хватает — поздравляю, вы работаете над чем-то интересным.
Использовали когда-нибудь GPU? Пишите в комментариях.