Я провожу тест производительности в научных приложениях и пытаюсь принять во внимание все элементы, которые могут повлиять на производительность приложения (например, иерархию размеров кэша, скорость процессора... строку кэша и все, что может быть связано с производительностью). Этот вопрос приходит мне на ум, хотя он может быть глупым, но я хотел бы, чтобы он стал для меня очевидным.
*Вопрос:*
если я не прав, поправьте меня, пожалуйста. Стоимость обработки значений int и float или double различается в зависимости от процессора, и это из-за использования ЦП. единица измерения с плавающей запятой (для вычисления значений с плавающей запятой). Теперь я хочу знать, есть ли разница между заполнением двух 2d-матриц одинаковым значением с плавающей запятой или двойным значением и их умножением или заполнением их случайным значением с плавающей запятой или двойным значением, а затем их умножением. Компилятор дозы использует кэширование для матрицы, все элементы которой имеют одинаковые значения?.
В целом обработка обработки плавающего значения, например (A.B), в которой A и B могут быть числами разного размера в цифрах, если размеры A и B влияют на время обработки (например, умножение) или нет? и если есть разница в дозе, важно это учитывать или нет? .
Я могу измерить производительность своего приложения с помощью библиотеки счетчиков производительности, но из-за накладных расходов используемой библиотеки вы не можете с уверенностью сказать, что вариация инструкций/флопов связана со случайным значением или другим параметром, таким как промах I/Dcache, кеш размер, размер проблемы или другие параметры.
используется машина Intel E4500.
компилятор g++ 4.7.
Спасибо
Подробнее здесь: https://stackoverflow.com/questions/141 ... cal-matrix
Производительность умножения 2 одинаковых/неидентичных матриц ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение