реклама на сайте
подробности

 
 
> Как использовать SSE I-III под Visual C++ 6.0, ускорить функцию с помощью всяких MMX
Fast
сообщение Jun 28 2005, 10:58
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



Помогите, плз, ссылкой или советом.
Поставили задачу ускорить до безобразия функцию одну.
Причем оптимизация должна быть произведена под P-IV и под Athlon.
Говорят, используй технологии SSE-I, SSE-II, SSE-III, 3DNow! и т.п.

Можно ли это дело, все эти технологии, как-то в Visual C ++ 6.0 использовать? Так понимаю, нужно какой-н. ASM прикручивать к Visual особый. Встроенного асм-а ведь недостаточно будет.
Подскажите, что и где взять и как начать. Нуно!!!!!!!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bav
сообщение Jun 28 2005, 12:01
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 693
Регистрация: 21-06-05
Из: Санкт-Петербург
Пользователь №: 6 184



Цитата(Fast @ Jun 28 2005, 14:58)
...Подскажите, что и где взять и как начать. Нуно!!!!!!!
*


для начала нужно разбить оптимизируемую функцию на простейшие (сложение, умножение, вычитание... и распараллерить.
MMX и SSE позволяет производить обработку над несколькими байтами одновременно (напр. перемножить несколько байт, слов, удв. слов на константу)

пример:
Есть поток данных. Требуется уменьшить значения всех в два раза (если поток звука, мы уменьшаем громкость)
-обычный проц будет принимать каждый байт и делить на два;
-если исп. MMX, потребуется принять блок данных, а затем все это разделить (что делается одной командой).

Кстати, какая функция? Может ее не возможно оптимизировать... blush.gif
Go to the top of the page
 
+Quote Post
Fast
сообщение Jun 28 2005, 12:17
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



Цитата(bav @ Jun 28 2005, 15:01)
для начала нужно разбить оптимизируемую функцию на простейшие (сложение, умножение, вычитание... и распараллерить...
Это-то понятно. Мне нужно сделать, чтобы компилятор Visual C++ 6.0 понимал SSE инструкции - я их ручками писать собираюсь. А функция сегодня одна, завтра другая - сам голову буду ломать, как параллелить.
В Инете копаюсь, вот что нашел: нужен Visual C++ 6.0 Processor Pack какой-то и там *.h определенные подключить в проекте. Правда, закачать пока не удается. Этот Processor Pack нужный MASM ставит. Во как.
Или взять Visual.NET, там втроенная поддержка SSEI-II, говорят.
Go to the top of the page
 
+Quote Post
bav
сообщение Jun 28 2005, 12:27
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 693
Регистрация: 21-06-05
Из: Санкт-Петербург
Пользователь №: 6 184



можно и ее (Visual.NET)... там есть опции оптимизации под P4. попробуй. у меня такая стоит. вроде никаих проблем не возникало
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th June 2025 - 19:05
Рейтинг@Mail.ru


Страница сгенерированна за 0.01389 секунд с 7
ELECTRONIX ©2004-2016