Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.11.2011, 22:01   #1
alek3s
Новичок
Джуниор
 
Регистрация: 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 раза больше чем того-же цикла только без векторизации.
может у кого мысли есть?
alek3s вне форума Ответить с цитированием
Старый 07.11.2011, 16:32   #2
alek3s
Новичок
Джуниор
 
Регистрация: 15.05.2011
Сообщений: 2
По умолчанию

неужели никто не знает про векторизацию?
alek3s вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
составить программу умножения двух квадратных матриц 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