2014 dxdy logo

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

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




 
 перемножение больших матриц
Сообщение15.10.2013, 16:05 
Допустим у нас есть 2 большие матрицы которые не влезают в память и мы хотим их перемножить, по идее можно использовать http://en.wikipedia.org/wiki/Memory-mapped_file, так же есть алгоритм блочного перемножения матриц. По идее алгоритмы такого класса полезны в таких случаях как hard drive<->ram, gpu ram<->cpu ram, cpu ram<->cpu cache.

Так вот может быть есть что то готовое и даже может быть есть что то самонастраиваемое под конкретное железо.+Еще оно должно работать на 1 компьютере, а не на кластере.Так же желательно чтобы к матрицам был "прозрачный доступ" как если бы они были просто в памяти и чтобы стандартные алгоритмы могли принимать их, а не приходилось бы читать блоками и писать специализированные процедуры.

например в R вроде как есть http://cran.r-project.org/web/packages/ ... index.html

+еще интересно всё тоже самое для решения систем линейных уравнений (вроде как есть какие то out-of-core,out-of-memory,iterative методы).

И еще много чего есть с sparse матрицами, но врядли это поможет в случае dense или всё таки можно добиться какой либо экономии?

 
 
 
 Re: перемножение больших матриц
Сообщение15.10.2013, 17:29 
про самонастройку я имел ввиду что то такое
topic27510.html

 
 
 
 Re: перемножение больших матриц
Сообщение16.10.2013, 03:15 
Аватара пользователя
Посмотрите в сторону библиотеки TPIE: a Transparent Parallel I/O Environment, которая как раз упрощает работу с внешней памятью.

 
 
 
 Re: перемножение больших матриц
Сообщение16.10.2013, 22:28 
mrgloom_ в сообщении #775496 писал(а):
+еще интересно всё тоже самое для решения систем линейных уравнений (вроде как есть какие то out-of-core,out-of-memory,iterative методы).

Для этого можно попробовать разделять матрицу на блоки и применять к ним Schur_complement пока размер блока не станет приемлемым для обработки в ОЗУ

 
 
 [ Сообщений: 4 ] 


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