2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2
 
 Re: Оптимизация умножения симметричных матриц
Сообщение29.05.2019, 17:06 
В общем, чуда, как обычно, не произошло.

-- 29.05.2019, 18:11 --

vpb в сообщении #1396283 писал(а):
Это барышня бывает вся из себя разрЯженная да расфуфыренная

о проверочном слове "редко" я осведомлён, также,как и о том, что буква "Я" в середине слова пишется маленькая, а в начале - заглавная (да и то не всегда)

 
 
 
 Re: Оптимизация умножения симметричных матриц
Сообщение29.05.2019, 17:14 
Реально, я вижу один путь. Отметим, что если $A$, $S$ симметричны, то $X=ASA$ тоже симметрична. Поэтому можно так: сначала посчитать $Y=SA$, используя разреженность $S$. Затем посчитать те элементы из $X=AY$, которые лежат на диагонали или выше. А те, что снизу, дописать по симметрии. Больше ничего не сделаешь.

 
 
 
 Re: Оптимизация умножения симметричных матриц
Сообщение29.05.2019, 17:17 
Аватара пользователя
vpb в сообщении #1396291 писал(а):
А те, что снизу, дописать по симметрии. Больше ничего не сделаешь.

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

 
 
 
 Re: Оптимизация умножения симметричных матриц
Сообщение29.05.2019, 17:17 
Andrey_Kireew в сообщении #1396289 писал(а):
о проверочном слове "редко" я осведомлён

Там не нужно проверочное слово, так как в слове "разрЕженная" ударение как раз на эту букву и приходится, если я ничего не путаю.

-- 29.05.2019, 16:19 --

photon в сообщении #1396294 писал(а):
перемножение матриц в матлабе зашито где-то в ядре и достаточно хорошо оптимизировано, а обход по каким-то выборочным индексам будет заведомо медленным.
Тогда, значит, вообще ничего не сделаешь.

 
 
 
 Re: Оптимизация умножения симметричных матриц
Сообщение29.05.2019, 17:35 
photon в сообщении #1396294 писал(а):
перемножение матриц в матлабе зашито где-то в ядре и достаточно хорошо оптимизировано

да, там используется библиотека blas, я как то пробовал оптимизировать матричное умножение на "С", в том числе и с использование того же blas, но заметного прироста производительности так и не получил

(Оффтоп)

vpb в сообщении #1396295 писал(а):
в слове "разрЕженная" ударение как раз на эту букву и приходится

Тогда уж, не обессудьте, поговорить мне на такие темы не с кем, только книжки да форумы ...
(но, мне казалось, что оно падает после буквы "ж")

 
 
 
 Re: Оптимизация умножения симметричных матриц
Сообщение29.05.2019, 17:45 
Andrey_Kireew в сообщении #1396306 писал(а):
там используется библиотека blas
Как я понимаю, матлаб использует DGEMM из BLAS. Но в BLAS также есть DSYMM и DTRMM. Правда, прирост производительности там неочевидный.

 
 
 
 Re: Оптимизация умножения симметричных матриц
Сообщение29.05.2019, 17:50 
В общем $S$ не просто разреженная. У неё много нулевых столбцов. Посмотрел на результат перемножения
vpb в сообщении #1396291 писал(а):
сначала посчитать $Y=SA$, используя разреженность $S$

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

-- 29.05.2019, 18:52 --

Nemiroff в сообщении #1396311 писал(а):
Но в BLAS также есть DSYMM и DTRMM

Действительно, нашёл такие, надо будет потом попробовать. Спасибо Nemiroff

 
 
 
 Re: Оптимизация умножения симметричных матриц
Сообщение29.05.2019, 17:54 

(Оффтоп)

Ну тогда извините. Зря я, наверное, стал шутить про разряженную барышню ...

 
 
 [ Сообщений: 23 ]  На страницу Пред.  1, 2


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group