[identity profile] vlkamov.livejournal.com posting in [community profile] engineering_ru
538 последняя китайская новость:
В Китае началась работа прототипа вычислительной машины эксафлопсного класса, относящейся к следующему поколению суперкомпьютеров.

Еще в прошлом тысячелетии суперкомпьютеры состояли из десятков тысяч процессоров. в этом наверняка больше ста тысяч будет.

Вместе с тем и отдельные процессора тоже стали существенно многоядерными. Но и это не все, там внутри всякие потоки, конвейеры, спекулятивное исполнение. А еще кэши в три наката и всякое такое, что, увеличивая количество вентилей в разы, позволяет слегка повысить производительность всего чипа в целом.

Вместе с тем, будучи пользователем однопроцессорной машины, я не вижу у себя задач, которые без всяких конвейеров нельзя было бы разложить по тысяче менее сложных ядер. Более того, графический процессор так и сделан. И это работает. Да так, что для особо тяжелых задач охотно используют именно GPU. Наверное, при желании можно программными средствами заставить тысячу ядер всеми этими спекуляциями заниматься. Но, повторяю, не вижу в этом необходимости.

И еще более того, вот этот экзафлопный, сколько бы конвейеров какой бы длины ни было в каждом отдельном процессоре, снаружи все равно - отдельный процессор и большую задачу придется распределять между ними более -менее равномерно.

Вот объясните нам, блондинам, какие вообще задачи (кроме маркетинговых, конечно) требуют непременно очень сложных процессоров. И отдельно: какие задачи для персонального компьютера реально требуют сложных процессоров, а не массива простых ядер.

Date: 2018-08-08 05:08 am (UTC)
From: [identity profile] 0x8.livejournal.com
Принципы работы GPU сильно отличаются от работы CPU. В GPU все ядра выполняют одну и ту-же операцию, но над разными данными. Т.е. все делают A*B, только значения A и B у всех ядер свои.
В CPU каждое ядро выполняет свои команды. Одно что-то умножает, другое в это время переход по адресу делает и т.п. Соответственно, если у вас в алгоритме нет синхронных повторяющихся блоков, то CPU сильно быстрее.

Второе цена ветвления. Когда у вас алгоритм:
Если (A < 10)
То
B = A * 5
Иначе
B = A - 3

То у вас есть ветвление. Иногда исполнение идет по одной ветке, иногда по другой. CPU намного лучше выполняют ветвление. GPU вынужден обсчитать ОБЕ ветки и потом хитрым образом объединить результат. CPU может выполнить только одну ветку, и еще пытается предсказать по какой ветке пойдет исполнение.

Переход по адресу CPU обрабатывает лучше (обычно). Т.к. у него меньше потери скорости на перезаполнение конвеера. У GPU конвеер обычно длиннее.

Date: 2018-08-11 07:57 am (UTC)
From: [identity profile] alj868.livejournal.com
Ну так вы сами спросили: почему не мириады простых ядер? ГПУ это пример простых ядер. Которые простые именно в том смысле как в объяснении 0х8. Сложные ядра ЦПУ выигрывают потому что они сложные.

Profile

engineering_ru: (Default)
Инженерия

December 2025

S M T W T F S
 123456
78910111213
14151617181920
2122232425 2627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 7th, 2026 09:45 am
Powered by Dreamwidth Studios