|
размер кэша - КАК его максимально использовать?
|
|||
---|---|---|---|
#18+
... тута ... в итоге пришли к тому, что asm знают 2.5 человека, и те предпочитают смотреть в сырцы... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 20:48 |
|
размер кэша - КАК его максимально использовать?
|
|||
---|---|---|---|
#18+
Я тебе там про Cortex написал. Видел да? Так какой прикажешь ассемблер учить? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 21:24 |
|
размер кэша - КАК его максимально использовать?
|
|||
---|---|---|---|
#18+
но здесь же тебе не мешает Cortex "смотреть ассемблерный код" ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 22:57 |
|
размер кэша - КАК его максимально использовать?
|
|||
---|---|---|---|
#18+
Мы с тобой по разному помимаем пользу от реверс инжиниринга. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 23:01 |
|
размер кэша - КАК его максимально использовать?
|
|||
---|---|---|---|
#18+
а это возможно? там просто поток инструкций, и польза одна - понять, ЧТО именно будет "хавать" процессор ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 23:54 |
|
размер кэша - КАК его максимально использовать?
|
|||
---|---|---|---|
#18+
полудух, Имеется ввиду польза в написании программного кода. Так кода нет, то и польза вопроса нулевая. Просто изучаем железо и архитектуру процессоров. авторВы не можете написать программу так, чтобы она случайно заиспользовала не весь кеш и пострадала от этого. +1 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2020, 09:03 |
|
размер кэша - КАК его максимально использовать?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2020, 13:31 |
|
размер кэша - КАК его максимально использовать?
|
|||
---|---|---|---|
#18+
полудух, Тут был пост интересный. С кодом по ссылке. Глюки. Не вижу его. Забей. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2020, 13:39 |
|
размер кэша - КАК его максимально использовать?
|
|||
---|---|---|---|
#18+
Хм... странно. Мне тоже утром показалось что кто-то писал развёрнутый пост по кешам. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2020, 14:20 |
|
размер кэша - КАК его максимально использовать?
|
|||
---|---|---|---|
#18+
Тут много основ и ссылок на более подробные статьи. https://stackoverflow.com/questions/16699247/what-is-a-cache-friendly-code ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2020, 14:36 |
|
размер кэша - КАК его максимально использовать?
|
|||
---|---|---|---|
#18+
Anatoly Moskovsky, спасибо большое. Эх некому занятся систематизацией знаний или написанием FAQ по тем вопросам которые уже здесь обсуждались. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2020, 14:37 |
|
размер кэша - КАК его максимально использовать?
|
|||
---|---|---|---|
#18+
а вот если у меня есть 10 векторов с данными по 10кб каждый... и в каждом цикле используется 1-2-3 из них, но разные и есть всяких других данных гигабайты, из которых в каждом цикле собираются небольшие строки в несколько кб, включая те 1-2-3 вектора... могу ли я эти 100кб векторов принудительно запихнуть в L3, например, как гарантированно постоянно используемые? или это нецелесообразный про*б кэша? или это сделает сам проц/компилятор? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2020, 16:04 |
|
размер кэша - КАК его максимально использовать?
|
|||
---|---|---|---|
#18+
полагаю, он сам их положит куда надо, как часто используемые (и наверное даже в L2/L1 частично) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2020, 16:11 |
|
размер кэша - КАК его максимально использовать?
|
|||
---|---|---|---|
#18+
полудухмогу ли я эти 100кб векторов *принудительно* запихнуть в L3, например, как гарантированно постоянно используемые? Можешь. Тем самым префетчем. Но толку от этого как от козла молока если через один тик шедулера процессор будет отдан другой задаче, которая вытеснит их из кэша обратно. Повторюсь: для максимального использования кэша надо в первую и главную очередь пристрелить всех конкурентов и получить процессор в монопольное распоряжение. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2020, 17:10 |
|
размер кэша - КАК его максимально использовать?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Повторюсь: для максимального использования кэша надо в первую и главную очередь пристрелить всех конкурентов и получить процессор в монопольное распоряжение. это ты так с false sharing борешься? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2020, 18:27 |
|
размер кэша - КАК его максимально использовать?
|
|||
---|---|---|---|
#18+
полудух а вот если у меня есть 10 векторов с данными по 10кб каждый... и в каждом цикле используется 1-2-3 из них, но разные и есть всяких других данных гигабайты, из которых в каждом цикле собираются небольшие строки в несколько кб, включая те 1-2-3 вектора... могу ли я эти 100кб векторов принудительно запихнуть в L3, например, как гарантированно постоянно используемые? или это нецелесообразный про*б кэша? или это сделает сам проц/компилятор? Компиллятор вряд-ли сделает тут что-то полезное. Все такие это больше в плоскости рантайма происходит. Подумай вот над следующим. Я буду оперировать терминологией Linux. Мне так удобнее. 0) Допустим у тебя есть Intel Core i7 с профилем железа как я привел выше на картинке. 1) Для конфигурации init.d и всех сервисов которые запускаются при старте мы используя taskset (или подобный функционал) ты защёлкиваешь affinity на ядрe Core=0. Графическое окружение и все офисные приложения также. 2) После этого согласно таск-менеджеру все системные процессы висят на Core-0. 3) Все твои пользовательские процессы запускаешь с affinity=1,2,3 Таким образом кеши L1/L2 для трех ядер будут твои. А для L3 будет необходимость (увы) частично шарить ресурсы ОС в 3-м слое L3. Ссылки по теме. http://man7.org/linux/man-pages/man1/taskset.1.html https://stackoverflow.com/questions/7759948/set-affinity-with-start-affinity-command-on-windows-7 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2020, 19:16 |
|
размер кэша - КАК его максимально использовать?
|
|||
---|---|---|---|
#18+
Нарисовал такую сравнительную шпаргалку по размерам регистров общего назначения, кеш линиям а также сетевой пакет (MTU) и единица операции различных подсистем I/O. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 21:57 |
|
размер кэша - КАК его максимально использовать?
|
|||
---|---|---|---|
#18+
Главное забыли: размер страницы (2Кб) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 22:23 |
|
размер кэша - КАК его максимально использовать?
|
|||
---|---|---|---|
#18+
bk0010 Главное забыли: размер страницы (2Кб) На интеле 4КБ или 4МБ. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 22:36 |
|
размер кэша - КАК его максимально использовать?
|
|||
---|---|---|---|
#18+
Хороший вопрос. Каким API мы можем посмотреть этот т.н. размер страницы? Всегда ли это одно и тоже понятие или может быть их несколько для одной ОС ? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 22:37 |
|
размер кэша - КАК его максимально использовать?
|
|||
---|---|---|---|
#18+
Размер страницы задается при выделении памяти (параметром в mmap). По умолчанию 4КБ (почти на всех архитектурах со страничной адресацией). ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 22:42 |
|
размер кэша - КАК его максимально использовать?
|
|||
---|---|---|---|
#18+
mayton Каким API мы можем посмотреть этот т.н. размер страницы? getconf PAGE_SIZE getconf PAGESIZE ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 22:52 |
|
размер кэша - КАК его максимально использовать?
|
|||
---|---|---|---|
#18+
полудух, У меня - 4096. В рамках сбора статистики. Коллеги. Дайте сведенья что у вас и почем. Кеш-линии архитектурно тоже разные. От 32 до 128 байт. Но умные статьи сообщают что популярным являет собой размер 64 байт. Подозреваю что 32 это что-то ну очень-очень старое. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 22:57 |
|
размер кэша - КАК его максимально использовать?
|
|||
---|---|---|---|
#18+
mayton Хороший вопрос. Каким API мы можем посмотреть этот т.н. размер страницы? Всегда ли это одно и тоже понятие или может быть их несколько для одной ОС ? для винды - GetSystemInfo GetLargePageMinimum одновременно могут использоваться разные размеры страниц ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 23:34 |
|
|
start [/forum/topic.php?fid=57&msg=39910667&tid=2017358]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
185ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
others: | 254ms |
total: | 549ms |
0 / 0 |