|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.11.2011, 22:01 | #1 |
Новичок
Джуниор
Регистрация: 15.05.2011
Сообщений: 2
|
векторизация умножения матриц
имеется две матрицы 1000 X 1000 которые нужно стандартно перемножить. элементы этих матриц - матрицы типа double 5X5.
вот какой получился алгоритм перемножения for(int k = 0;k < N;k++) for(int g2 = 0;g2 < (N*N);g2+= N) for(int i = 0;i < N;i++) //теперь работаем с внутренней матрицей for(int j=0;j<M;j++) for(int h1 = 0;h1 < M;h1++) for(int g3 = 0;g3 < M;g3++) { rez_matrix[g2+k].MM[g3][j] += first_matrix[i+g2].MM[g3][h1] * second_matrix[i*N+k].MM[h1][j]; } вот туточки у меня вопросик. данный алгоритм векторизуется на ура в Intel C++ без всяких прагм и подсказок. но почемуто время выполнения векторизированного цикла в 2 раза больше чем того-же цикла только без векторизации. может у кого мысли есть? |
07.11.2011, 16:32 | #2 |
Новичок
Джуниор
Регистрация: 15.05.2011
Сообщений: 2
|
неужели никто не знает про векторизацию?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
составить программу умножения двух квадратных матриц | gnom 62 | Помощь студентам | 15 | 06.05.2012 14:52 |
Обработка Матриц(Упорядочивание Элементов,Вывод На Экран Матриц При Условии...) | timepoka | Помощь студентам | 8 | 01.07.2011 13:20 |
машина Тьюринга для умножения булевых матриц | Люля. | Помощь студентам | 2 | 09.06.2010 18:11 |
Написать функцию умножения двух матриц X(N,M) и Y(M,K) | Doublefaced | Помощь студентам | 1 | 02.07.2009 09:04 |
Векторизация | Stilet | Софт | 0 | 05.06.2008 12:51 |