Арифметическая интенсивность и пропускная способность RAM или VRAM

Арифметическая интенсивность и пропускная способность RAM или VRAM

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

Процессор, независимо от того, является ли он ЦП или GPU / ГРАФИЧЕСКИЙ ПРОЦЕССОР, ничего не делает кроме обрабатывать данные , что приводит к потребность в памяти кормить его. К сожалению, с течением времени расстояние между скоростью памяти и скоростью процессора увеличивалось, что привело к внедрению таких методов, как кэш-память. Мы не можем забыть ни задержка между процессором и памятью, что происходит, когда интерфейс между RAM и процессором не может предоставить или изменить данные с достаточной скоростью.

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

Что такое арифметическая интенсивность?

интенсивная арифметика

Арифметическая плотность - это мера производительности, состоящая из измерения количества операций с плавающей запятой, которые процессор выполняет над определенным участком кода. Чтобы получить его, количество операций с плавающей запятой делится на количество байтов, которые алгоритм использует для выполнения.

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

В случае использования аппаратной архитектуры с высокой степенью распараллеливания требуется высокая арифметическая интенсивность, то есть низкое соотношение между пропускной способностью и вычислительной мощностью с того момента, когда соотношение между вычислительной мощностью указанных процессоров и доступной пропускной способностью памяти в приоритете. Поскольку во многих приложениях, особенно в графике, требуется, чтобы вычисления обрабатывались несколько раз, и, следовательно, для сравнения требуется большая вычислительная мощность.

Производительность алгоритма и взаимосвязь с арифметической интенсивностью

Примечание об алгоритмах

При написании алгоритма программисты учитывают производительность алгоритмов, которые они пишут в своих программах, которая измеряется нотацией Big O, которая измеряет среднее значение операций с данными. Обозначение Big O не измеряется с помощью каких-либо тестов, а программисты вычисляют их вручную, чтобы получить приблизительное представление о загруженности программ.

  • Или (1): алгоритм не зависит от размера обрабатываемых данных. Считается, что алгоритм с производительностью O (1) имеет идеальную производительность и не имеет себе равных.
  • На): время выполнения прямо пропорционально размеру данных, производительность растет линейно. Также может быть, что
  • O (журнал n): встречается в алгоритмах, которые обычно разбивают и решают проблему по частям, например в алгоритмах упорядочивания данных или бинарном поиске.
  • O (n войти n): это эволюция предыдущего, речь идет о дальнейшем разделении разрешения различных частей.
  • На 2 ): есть алгоритмы, которые выполняют несколько итераций, потому что им приходится запрашивать данные несколько раз. Следовательно, они обычно представляют собой часто повторяющиеся алгоритмы и, следовательно, имеют экспоненциальную вычислительную нагрузку.
  • На!): Алгоритм, соответствующий этой сложности, является полностью несовершенным алгоритмом с точки зрения производительности и требует переписывания.

Не все алгоритмы могут достичь уровня сложности O (1), и некоторые из них работают намного лучше на одном типе оборудования, чем на другом. Вот почему в последние годы были разработаны специализированные ускорители или процессоры, которые ускоряют один тип алгоритма по сравнению с другими. Общая идея состоит в том, чтобы разделить алгоритмы на части и обработать каждый из них наиболее подходящим устройством обработки для его арифметической интенсивности.

Соотношение между коммуникацией и вычислениями

ЦП RAM Placa ПК

Обратный случай - это соотношение между коммуникацией и вычислением, которое измеряется обратно пропорционально арифметической интенсивности и, следовательно, достигается путем деления количества байтов на мощность в операциях с плавающей запятой. Таким образом, он используется для измерения пропускной способности, необходимой для выполнения этой части кода. Проблема при измерении возникает из-за того, что данные не всегда находятся в одном и том же месте, и поэтому полоса пропускания ОЗУ используется в качестве эталона.

Следует принять во внимание, что это не полностью надежная мера не только из-за того, что система кеширования приближает данные к процессору, но также из-за того, что существует явление задержки, когда каждый тип Используемая память RAM имеет различные преимущества и недостатки, и результат может варьироваться в зависимости от типа используемой памяти.

Сегодня при выборе памяти в системе учитывается не только пропускная способность, но и потребление энергии, поскольку затраты энергии на перемещение данных превышают затраты на их обработку. Таким образом, вы выбираете определенные типы памяти в определенных приложениях. Конечно, всегда в пределах затрат, связанных с построением системы, и они не такие же в суперкомпьютере, как в домашнем ПК.