IT и интернет

Стоимость умножения плотных матриц

Считает скалярные операции и базовый объём хранения обычного произведения двух матриц.

</>быстрый расчёт
онлайн
Введите данные
Данные не отправляются на сервер
Результат
Скалярные умножения и сложения1 990 000
Память для A, B и C0,24 МБ
Скалярные умножения1 000 000
Формула

Как считается результат

Скалярные умножения и сложения = rows*columns*(2*shared-1); Память для A, B и C = bytes*(rows*shared+shared*columns+rows*columns)/1000000 (МБ); Скалярные умножения = rows*columns*shared
Пример с тестовыми данными

Строк в первой матрице m: 100; Общий внутренний размер k: 100; Столбцов во второй матрице n: 100; Байт на один элемент: 8

Скалярные умножения и сложения: 1 990 000; Память для A, B и C: 0,24 МБ; Скалярные умножения: 1 000 000
О расчёте

Как пользоваться
калькулятором

Считает скалярные операции и базовый объём хранения обычного произведения двух матриц.

Для C=A(m×k)B(k×n) каждый из mn элементов требует k умножений и k−1 сложений. Итого mn(2k−1) скалярных операций; хранение трёх матриц требует b(mk+kn+mn) байт.

  1. 01
    Подготовьте данные

    Используйте исходные величины именно для рассматриваемого случая: строк в первой матрице m; общий внутренний размер k; столбцов во второй матрице n; байт на один элемент.

  2. 02
    Проверьте единицы и условия

    Обычный плотный алгоритм без разреженности и Страссена, результат вычисляется с нуля. Выравнивание, служебные объекты, рабочие буферы библиотеки и копии на ускорителе не включены.

  3. 03
    Прочитайте результат

    МБ десятичные. Умножение со сложением FMA может считаться двумя FLOP, но одной машинной инструкцией; здесь подсчитаны математические скалярные операции.

Подробное объяснение

Как читать результат

Расшифровка показателей, пример вычисления и ограничения метода — без лишних терминов.

01

Что означают результаты

МБ десятичные. Умножение со сложением FMA может считаться двумя FLOP, но одной машинной инструкцией; здесь подсчитаны математические скалярные операции.

02

Когда модель применима

Обычный плотный алгоритм без разреженности и Страссена, результат вычисляется с нуля. Выравнивание, служебные объекты, рабочие буферы библиотеки и копии на ускорителе не включены.

Разбор по шагам

Пример расчёта

Пример 1
Исходные данные
Строк в первой матрице m: 100; Общий внутренний размер k: 100; Столбцов во второй матрице n: 100; Байт на один элемент: 8
Вычисление
Для C=A(m×k)B(k×n) каждый из mn элементов требует k умножений и k−1 сложений. Итого mn(2k−1) скалярных операций; хранение трёх матриц требует b(mk+kn+mn) байт. Скалярные умножения и сложения: (100) × (100) × (2 × (100)-1) = 1 990 000. Память для A, B и C: (8) × ((100) × (100)+(100) × (100)+(100) × (100)) ÷ 1000000 = 0,24 МБ. Скалярные умножения: (100) × (100) × (100) = 1 000 000.
Результат
Скалярные умножения и сложения: 1 990 000; Память для A, B и C: 0,24 МБ; Скалярные умножения: 1 000 000

МБ десятичные. Умножение со сложением FMA может считаться двумя FLOP, но одной машинной инструкцией; здесь подсчитаны математические скалярные операции.

Пример 2
Исходные данные
Строк в первой матрице m: 100; Общий внутренний размер k: 1; Столбцов во второй матрице n: 100; Байт на один элемент: 8
Вычисление
Скалярные умножения и сложения: (100) × (100) × (2 × (1)-1) = 10 000. Память для A, B и C: (8) × ((100) × (1)+(1) × (100)+(100) × (100)) ÷ 1000000 = 0,0816 МБ. Скалярные умножения: (100) × (100) × (1) = 10 000.
Результат
Скалярные умножения и сложения: 10 000; Память для A, B и C: 0,0816 МБ; Скалярные умножения: 10 000

Этот вариант использует другие исходные данные: Общий внутренний размер k — 1. МБ десятичные. Умножение со сложением FMA может считаться двумя FLOP, но одной машинной инструкцией; здесь подсчитаны математические скалярные операции.

Формула и обозначения

Скалярные умножения и сложения = rows*columns*(2*shared-1); Память для A, B и C = bytes*(rows*shared+shared*columns+rows*columns)/1000000 (МБ); Скалярные умножения = rows*columns*shared

rows — строк в первой матрице m.

shared — общий внутренний размер k.

columns — столбцов во второй матрице n.

bytes — байт на один элемент.

Для C=A(m×k)B(k×n) каждый из mn элементов требует k умножений и k−1 сложений. Итого mn(2k−1) скалярных операций; хранение трёх матриц требует b(mk+kn+mn) байт.

Практическое применение

Считает скалярные операции и базовый объём хранения обычного произведения двух матриц. Для C=A(m×k)B(k×n) каждый из mn элементов требует k умножений и k−1 сложений. Итого mn(2k−1) скалярных операций; хранение трёх матриц требует b(mk+kn+mn) байт.

МБ десятичные. Умножение со сложением FMA может считаться двумя FLOP, но одной машинной инструкцией; здесь подсчитаны математические скалярные операции.

Частые ошибки

Используйте исходные величины именно для рассматриваемого случая: строк в первой матрице m; общий внутренний размер k; столбцов во второй матрице n; байт на один элемент.

Обычный плотный алгоритм без разреженности и Страссена, результат вычисляется с нуля. Выравнивание, служебные объекты, рабочие буферы библиотеки и копии на ускорителе не включены.

Источники и допущения

Основание расчёта

Ниже перечислены условия, в которых интерпретируется результат. Последняя проверка этой реализации: 2026-09-30.

Коротко о главном

Вопросы
и ответы

Что показывает «скалярные умножения и сложения»?+

МБ десятичные. Умножение со сложением FMA может считаться двумя FLOP, но одной машинной инструкцией; здесь подсчитаны математические скалярные операции.

Как проверить расчёт на конкретном примере?+

Строк в первой матрице m: 100; Общий внутренний размер k: 100; Столбцов во второй матрице n: 100; Байт на один элемент: 8. Скалярные умножения и сложения: 1 990 000; Память для A, B и C: 0,24 МБ; Скалярные умножения: 1 000 000. Для C=A(m×k)B(k×n) каждый из mn элементов требует k умножений и k−1 сложений. Итого mn(2k−1) скалярных операций; хранение трёх матриц требует b(mk+kn+mn) байт.

Какие ограничения есть у метода?+

Обычный плотный алгоритм без разреженности и Страссена, результат вычисляется с нуля. Выравнивание, служебные объекты, рабочие буферы библиотеки и копии на ускорителе не включены.

Можно ли изменить исходные данные и сравнить варианты?+

Да. МБ десятичные. Умножение со сложением FMA может считаться двумя FLOP, но одной машинной инструкцией; здесь подсчитаны математические скалярные операции. Сравнивайте варианты в одинаковых единицах и при неизменных допущениях: Обычный плотный алгоритм без разреженности и Страссена, результат вычисляется с нуля. Выравнивание, служебные объекты, рабочие буферы библиотеки и копии на ускорителе не включены.