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.