Информация об изменениях

Сообщение Re[7]: Паттерсон «Компьютерная архитектура. Количественный п от 06.09.2022 8:42

Изменено 06.09.2022 8:43 Nuzhny

Re[7]: Паттерсон «Компьютерная архитектура. Количественный п
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Теория мне хорошо известна. Интересны, повторю, практические примеры. Не "правильное размещение данных позволяет ускорить обработку на 30%", а "наша программа выполняла операцию XXX за 3 (1, 0.5, 0.1) секунды, а после оптимизации размещения данных, без изменения алгоритма, это время было снижено на 30%".


На CUDA/OpenCL такое сплошь и рядом, там и занимаешься тем, что не столько алгоритм придумываешь, сколько потом его в памяти упаковываешь. Там реально в десятки раз скорость вырастает.
В С++ на CPU у меня был скачок производительности, когда я свою очередь на мьютексах заменил на lock-free из гитхаба. Вот там я и подсмотрел, что есть проблема false sharing. Но время работы самой очереди не замерял, на практике производительность всего пайплайна выросла на несколько fps, что позволило мне вписаться в тайминг.
Re[7]: Паттерсон «Компьютерная архитектура. Количественный п
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Теория мне хорошо известна. Интересны, повторю, практические примеры. Не "правильное размещение данных позволяет ускорить обработку на 30%", а "наша программа выполняла операцию XXX за 3 (1, 0.5, 0.1) секунды, а после оптимизации размещения данных, без изменения алгоритма, это время было снижено на 30%".


На CUDA/OpenCL такое сплошь и рядом, там и занимаешься тем, что не столько алгоритм придумываешь, сколько потом его в памяти упаковываешь. Там реально в десятки раз скорость вырастает.
В С++ на CPU у меня был скачок производительности, когда я свою очередь на мьютексах заменил на lock-free из гитхаба. Вот там я и подсмотрел, что есть проблема false sharing. Но время работы самой очереди не замерял, на практике производительность всего пайплайна выросла на несколько fps, что позволило мне вписаться в тайминг.
Ну и очевидные замены типов данных, когда память начинает выделяться на стеке вместо кучи считается?