|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.08.2016, 17:10 | #1 |
Пользователь
Регистрация: 14.10.2015
Сообщений: 17
|
Вопрос по SSE
Доброго времени суток господа, вопрос такой:
Написал я значит, положим функцию умножения матриц на SSE / AVX, затем мне понадобилось умножить 4 матрицы, естественно каждое умножение я делаю отдельно, вопрос в том, а что будет, если я в каждом отдельном потоке буду выполнять эту функцию, которая внутри написана с SSE / AVX ? Т.е у меня 8 ядер, хочу умножить 8 матриц параллельно, и с тем же преимуществом что дал мне SSE. Это возможно ? Будет ли прирост производительности ? |
14.08.2016, 18:11 | #2 | |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Цитата:
А может вам напели про 8 ядер и вы поверили? Ускорение будет. Но что-бы сказать во сколько раз, надо точно знать характеристики вашего процессора.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . Последний раз редактировалось Pavia; 14.08.2016 в 18:29. |
|
14.08.2016, 20:48 | #3 |
Пользователь
Регистрация: 14.10.2015
Сообщений: 17
|
Каюсь, 4 ядра, а процессор i7 4750HQ, 2ghz.
Но в целом, речь идет о общем ускорении |
14.08.2016, 20:50 | #4 |
Пользователь
Регистрация: 14.10.2015
Сообщений: 17
|
В своем вопросе я имею ввиду использование и сопроцессора и многопоточности.
|
14.08.2016, 21:21 | #5 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
m3g4z0rdEX
http://www.intel.com/content/www/us/...on-manual.html У вас 4 ядра. Согласно документации у вас в каждом ядре по своему конвейеру. В каждом конвейер по 2 порта, поддерживающих SSE и в каждом порту по 2 юнита для неспаренных команд. И SSE выполняет операции над вектором до 4 чисел. Так что в вашем случае производительность будет 4*2*2*(2|4). Что касается 8 потоков, на 4 ядра - HT. То можете не мечтать в вашем случае код скорее всего уже оптимизирован и влезьте в очередь конвейера практически невозможно. Но в принципе HT неплохо работает когда процессор скачет из класса в класс по абстракциям каркаса/движка. Так что тут зависит от вашего каркаса. В вашем случае скорее всего HT даст отрицательный результат, так как код у вас оптимизирован. Поэтому больше чем не получите 4*2*2*(2|4).
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . Последний раз редактировалось Pavia; 14.08.2016 в 21:27. |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
SSE. Подение программы | Bummmm | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 9 | 04.09.2013 18:58 |
SSE инструкции + ликбез | Kukurudza | Общие вопросы C/C++ | 4 | 10.04.2012 19:26 |
оптимизация SSE | ANsy | Мультимедиа в Delphi | 1 | 01.02.2011 20:08 |
статья - Введение в SSE | Pblog | Обсуждение статей | 0 | 23.06.2010 05:13 |
SSE intrinsics C++ | qpharm | Общие вопросы C/C++ | 1 | 13.11.2009 12:57 |