Производительность процессора с дополнительными ядрами
Как повысить скорость обработки одного потока за счет объединения нескольких ядер ЦП, как, например, обучение настраиваемой нейронной сети (не тензорного потока) на компьютере типа Google Compute Engine n1-highmem-64, имеющем 64 ядра ЦП? Кластерные компьютеры или что? Не уверен, с чего начать... спасибо!
1 ответ
Ну, вы просите о более высоких скоростях в одном потоке, но с несколькими ядрами.
Единственный реальный способ ускорить обработку одного потока, принадлежащего одному ядру, - это разгон. Вы также можете получить лучший чипсет, получив новые ядра.
Это было бы просто невозможно, вам, вероятно, пришлось бы исправлять микропрограмму для нескольких компонентов, чтобы они могли обмениваться данными через процессор в одном потоке, используя кэш L3 или что-то в этом роде… очень недостижимо.
Противоположностью этому был бы путь.
Многопоточность используется для одновременной обработки различных частей данных на нескольких ядрах.
Использование GPU общего назначения предназначено для выполнения той же операции с большим набором данных путем передачи вычислений на GPU. Это увеличило накладные расходы, но даст хорошие результаты, когда ввод будет достаточно большим.
Забавно, что вы упомянули не TensorFlow, потому что он фактически реализует оба из них.
Даже если бы вы смогли реализовать что-то вроде этого, он, вероятно, просто перебил бы атомные блокировки, если вы все равно не проделали это.
редактировать
Если вы хотите использовать программное обеспечение в качестве службы, Amazon ( https://aws.amazon.com/tensorflow/ и другие компании) предлагает широкий спектр услуг, которые совместимы с различными средами глубокого обучения / машинного обучения. коробка.