Технический форум

Технический форум (http://www.tehnari.ru/)
-   C/C++/С# (http://www.tehnari.ru/f42/)
-   -   SSE перемножение матриц (http://www.tehnari.ru/f42/t83304/)

Abraziv 30.12.2012 11:25

SSE перемножение матриц
 
Все привет, есть код перемножения матриц на с++:

for(int j = 0; j < SIZE ; j++)
{
for(int i = 0; i < SIZE; i++)
{
for(int t = 0; t < SIZE; t++)
{
temp += A[j][t]*B[t][i];
}
file_result << temp;
file_result << " ";
temp = 0;
}
file_result << endl;
}

Подскажите пожалуйста, как оптимизировать с помощью SSE .
Прочитал про саму концепцию , про функции intrinsics , но в упор не вижу как это оптимизировать. Есть 8 регистров XMM по 128 бит , возможно загрузить 4 данных в 4 части ( по 32 бита) в один из MMX и как то работать. Для матрицы 4*4 всё понятно, загружаем один раз и перемножаем с чем угодно сколько потребуется. А тут как ? Хотя бы на пальцах объясните.


Часовой пояс GMT +4, время: 03:19.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.