powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / C++ [игнор отключен] [закрыт для гостей] / размер кэша - КАК его максимально использовать?
25 сообщений из 85, страница 2 из 4
размер кэша - КАК его максимально использовать?
    #39910655
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... тута ... в итоге пришли к тому, что asm знают 2.5 человека, и те предпочитают смотреть в сырцы...
...
Рейтинг: 0 / 0
размер кэша - КАК его максимально использовать?
    #39910662
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тебе там про Cortex написал. Видел да?

Так какой прикажешь ассемблер учить?
...
Рейтинг: 0 / 0
размер кэша - КАК его максимально использовать?
    #39910667
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
но здесь же тебе не мешает Cortex "смотреть ассемблерный код"
...
Рейтинг: 0 / 0
размер кэша - КАК его максимально использовать?
    #39910669
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мы с тобой по разному помимаем пользу от реверс инжиниринга.
...
Рейтинг: 0 / 0
размер кэша - КАК его максимально использовать?
    #39910678
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а это возможно? там просто поток инструкций, и польза одна - понять, ЧТО именно будет "хавать" процессор
...
Рейтинг: 0 / 0
размер кэша - КАК его максимально использовать?
    #39910700
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух,
Имеется ввиду польза в написании программного кода.
Так кода нет, то и польза вопроса нулевая.
Просто изучаем железо и архитектуру процессоров.
авторВы не можете написать программу так, чтобы она случайно заиспользовала не весь кеш и пострадала от этого.
+1
...
Рейтинг: 0 / 0
размер кэша - КАК его максимально использовать?
    #39910724
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Так кода нет, то и польза вопроса нулевая.

чево
...
Рейтинг: 0 / 0
размер кэша - КАК его максимально использовать?
    #39910728
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух,
Тут был пост интересный. С кодом по ссылке.
Глюки. Не вижу его.
Забей.
...
Рейтинг: 0 / 0
размер кэша - КАК его максимально использовать?
    #39910740
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм... странно. Мне тоже утром показалось что кто-то писал развёрнутый пост по кешам.
...
Рейтинг: 0 / 0
размер кэша - КАК его максимально использовать?
    #39910743
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут много основ и ссылок на более подробные статьи.
https://stackoverflow.com/questions/16699247/what-is-a-cache-friendly-code
...
Рейтинг: 0 / 0
размер кэша - КАК его максимально использовать?
    #39910744
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky, спасибо большое.

Эх некому занятся систематизацией знаний или написанием FAQ по тем вопросам которые уже здесь обсуждались.
...
Рейтинг: 0 / 0
размер кэша - КАК его максимально использовать?
    #39910753
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вот если у меня есть 10 векторов с данными по 10кб каждый...
и в каждом цикле используется 1-2-3 из них, но разные
и есть всяких других данных гигабайты, из которых в каждом цикле собираются небольшие строки в несколько кб, включая те 1-2-3 вектора...
могу ли я эти 100кб векторов принудительно запихнуть в L3, например, как гарантированно постоянно используемые?
или это нецелесообразный про*б кэша?
или это сделает сам проц/компилятор?
...
Рейтинг: 0 / 0
размер кэша - КАК его максимально использовать?
    #39910755
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полагаю, он сам их положит куда надо, как часто используемые (и наверное даже в L2/L1 частично)
...
Рейтинг: 0 / 0
размер кэша - КАК его максимально использовать?
    #39910765
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудухмогу ли я эти 100кб векторов *принудительно* запихнуть в L3, например, как гарантированно
постоянно используемые?

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

Повторюсь: для максимального использования кэша надо в первую и главную очередь
пристрелить всех конкурентов и получить процессор в монопольное распоряжение.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
размер кэша - КАК его максимально использовать?
    #39910782
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Повторюсь: для максимального использования кэша надо в первую и главную очередь пристрелить всех конкурентов и получить процессор в монопольное распоряжение.

это ты так с false sharing борешься?
...
Рейтинг: 0 / 0
размер кэша - КАК его максимально использовать?
    #39910795
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух
а вот если у меня есть 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
...
Рейтинг: 0 / 0
размер кэша - КАК его максимально использовать?
    #39911050
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нарисовал такую сравнительную шпаргалку по размерам регистров общего назначения, кеш линиям
а также сетевой пакет (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.
00 (byte)

00 01 (short/word)

00 01 02 03 (int/dword, IPv4, 32bit)

00 01 02 03 04 05 06 07 (long, double, 64bit, MMX register)

00 01 02 03 04 05 06 07 : 08 09 0A 0B 0C 0D 0E 0F (IPv6, MD5, 128 bit, XMM/SSE register)

00 01 02 03 04 05 06 07 : 08 09 0A 0B 0C 0D 0E 0F (AVX register, 256 bit)
10 11 12 13 14 15 16 17 : 18 19 1A 1B 1C 1D 1E 1F

Single cache line (64 bytes, 512bit)
-----------------
$ getconf LEVEL1_DCACHE_LINESIZE = 64 (AMD Ryzen-5/Linux 5.0.0)

00 01 02 03 04 05 06 07 : 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 : 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 : 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 : 38 39 3A 3B 3C 3D 3E 3F

Network MTU (1500 bytes)
------------------------
?

I/O, Single page (512 bytes, 1K, 4K (database block, page))
-----------------------------------------------------------
$ getconf PAGESIZE = 4096 (AMD Ryzen-5/Linux 5.0.0)

?
...
Рейтинг: 0 / 0
размер кэша - КАК его максимально использовать?
    #39911054
bk0010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Главное забыли: размер страницы (2Кб)
...
Рейтинг: 0 / 0
размер кэша - КАК его максимально использовать?
    #39911056
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bk0010
Главное забыли: размер страницы (2Кб)

На интеле 4КБ или 4МБ.
...
Рейтинг: 0 / 0
размер кэша - КАК его максимально использовать?
    #39911057
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хороший вопрос. Каким API мы можем посмотреть этот т.н. размер страницы?

Всегда ли это одно и тоже понятие или может быть их несколько для одной ОС ?
...
Рейтинг: 0 / 0
размер кэша - КАК его максимально использовать?
    #39911058
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Размер страницы задается при выделении памяти (параметром в mmap).
По умолчанию 4КБ (почти на всех архитектурах со страничной адресацией).
...
Рейтинг: 0 / 0
размер кэша - КАК его максимально использовать?
    #39911060
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Каким API мы можем посмотреть этот т.н. размер страницы?

getconf PAGE_SIZE
getconf PAGESIZE
...
Рейтинг: 0 / 0
размер кэша - КАК его максимально использовать?
    #39911061
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух,

У меня - 4096.

В рамках сбора статистики. Коллеги. Дайте сведенья что у вас и почем. Кеш-линии архитектурно тоже разные.
От 32 до 128 байт. Но умные статьи сообщают что популярным являет собой размер 64 байт. Подозреваю что
32 это что-то ну очень-очень старое.
...
Рейтинг: 0 / 0
размер кэша - КАК его максимально использовать?
    #39911069
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Хороший вопрос. Каким API мы можем посмотреть этот т.н. размер страницы?
Всегда ли это одно и тоже понятие или может быть их несколько для одной ОС ?

для винды -
GetSystemInfo
GetLargePageMinimum

одновременно могут использоваться разные размеры страниц
...
Рейтинг: 0 / 0
размер кэша - КАК его максимально использовать?
    #39911071
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята-виндузятники. Поделитесь цифрами plz.
...
Рейтинг: 0 / 0
25 сообщений из 85, страница 2 из 4
Форумы / C++ [игнор отключен] [закрыт для гостей] / размер кэша - КАК его максимально использовать?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]