All streams
Search
Write a publication
Pull to refresh
80
0
Alexander Komarov @izard

software optimization: CPU, GPU

Send message
Запостил update, могу прислать код u-benchmark'а.
да, тоже очень интересно с исторической т.з. Один из выводов из статьи — в начале 2000х на AMD железные префетчеры не справлялись даже с линейным паттерном доступа. Впрочем, я не уверен, что в те времена и на Pentium4 все было с этим в порядке.
Я специально написал, что есть особый случай для non temporals/write combined памяти (которые и используются для копирования картинок по фреймбуфферам и memory mapped IO). Действительно, там возможна такая разница.

Для наиболее употребительного копирования нескольких килобайт в обычной памяти, могу прислать простой микро бенчмарк в личку. для виндов устроит, найдется nehalem/westmere/sandy bridge чтобы проверить?
А что, там не простого h/w stride prefetcher'а?
На sandy bridge сегодня могу протестировать.

у копирования через non temporal ограниченная применимость. Там, где применимо, оно, конечно, должно быть быстрее rep movs
На sandy bridge сегодня могу протестировать.

у копирования через non temporal ограниченная применимость. Там, где применимо, оно, конечно, должно быть быстрее rep movs
мои тесты не пойдут, у меня все на x86 assembly. Впрочем, на POWER, возможно и проблемы зоопарка memcpy нет — все таки RISC, все там должно быть аккуратненько.
очень уж большая таблица получается (каждый год по микроархитектуре, и штук 5 memcpy). разница получается в 2-3 раза между лучшей и худшей реализацией для каждого проца.

Кроме того, микробенчмарк только из memcpy не так интересен, в реальном приложении еще дополнительные факторы, которые я указал в статье вступают в силу.
Сорри, даже померять не на чем. Может, кто прокомментирует?
Не знаю, но они это поняли наконец-то. Теперь, я думаю, такого зоопарка реализаций больше не будет.
Сорри, у меня в лабе куча всего, но по понятным причинам только Интел. Даже померять не начем. Может быть, кто-нибудь прокомментирует про ARM, MIPS, SPARC или POWER?
monitor/mwait еще позволяет заснуть до наступления события. В юзермоде недоступно пока, к сожалению.
упс, ну да, спалился :)
пользуюсь для этого IACA, очень помогает.
В 2 раза понятно почему, и еще избавились от возни с Х87 стековой машиной. На сингл флотах в 3 раза могло быть.
до 5 метров предыдущее поколение плэйспорта стабильно работает, picasaweb.google.com/109130265135976668813/EilatUnderWater. Давно юзаю.
можно просто назначить з.п. больше 65 тыс (раньше было 85 тыс)
Есть еще ограничение — современные ОС поддерживают 64 бита, а там TSS не поддерживает переключение. Есть несколько редких ОС, которые использовали TSS для поддержки многозадачности, но очень обломались когда захотели поддержку 64 бит.

Information

Rating
Does not participate
Location
München, Bayern, Германия
Registered
Activity

Specialization

Performance engineer
Lead
Performance Tuning