Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
From_Tula
40 / 40 / 2
Регистрация: 22.05.2009
Сообщений: 481
#1

Умножение матриц делением на полосы (строки или столбцы) — ленточная схема - C++

04.01.2012, 19:04. Просмотров 1676. Ответов 3
Метки нет (Все метки)

Нужна помощь в разборе алгоритма, до меня никак не доходит по какой схеме этот алгоритм работает.
http://www.intuit.ru/department/calc...aralltp_7.html
Пункт 7.3. вроде хорошо описанно, но я все равно не могу понять.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2012, 19:04     Умножение матриц делением на полосы (строки или столбцы) — ленточная схема
Посмотрите здесь:
C++ Умножение матриц
Умножение матриц C++
Умножение матриц C++
C++ Умножение матриц
C++ Умножение матриц
C++ Умножение матриц
Умножение матриц C++
C++ Умножение матриц
C++ Умножение матриц
C++ Умножение матриц
C++ Умножение матриц
Умножение матриц C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
04.01.2012, 22:36     Умножение матриц делением на полосы (строки или столбцы) — ленточная схема #2
всё просто:
как бы вы умножали матрицы в одном потоке?? (для наглядности - квадратные размера size*size)
C++
1
2
3
4
5
6
7
8
9
for(int i = 0;i<size; ++i){
//!!!
    for(int j = 0; j<size; ++j){
        c[i][j] = 0;
        for (int k = 0; k<size; ++k)
            c[i][j] += a[i][k]*b[k][j];
    }
//!!!
}
теперь, если мы хотим распараллелить задачу, нужно просто вынести блок кода обрамлённый восклицательными знаками в отдельные потоки. В этом случае вы получите искомый вами алгоритм.

ps:
умножение матриц неплохой (вернее, классический) пример для параллельных вычислений и очень дурной пример для многопоточности.
From_Tula
40 / 40 / 2
Регистрация: 22.05.2009
Сообщений: 481
05.01.2012, 04:05  [ТС]     Умножение матриц делением на полосы (строки или столбцы) — ленточная схема #3
Vladimir., Может действительно все так просто... просто я пытался сделать по картинкам, алгоритм вроде понял, но слишком запарно получается...

А вообще потом нужно сделать его для параллельных вычислений, но это уже другая история=)

Еще раз спасибо, реально думал что все гораздо сложнее.
From_Tula
40 / 40 / 2
Регистрация: 22.05.2009
Сообщений: 481
17.01.2012, 04:42  [ТС]     Умножение матриц делением на полосы (строки или столбцы) — ленточная схема #4
Такой вопрос возможно ли применить алгоритм параллельного ленточного умножения для матриц
N*M*K

точнее говоря можно ли при любом количестве процессов и при любой размерности матриц применить этот алгоритм???

просто везде примеры квадратных матриц, а про прямоугольные нигде ни слова...
Yandex
Объявления
17.01.2012, 04:42     Умножение матриц делением на полосы (строки или столбцы) — ленточная схема
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru