Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.02.18;
Скачать: CL | DM;

Вниз

О связке SSE/MMX - Delphi   Найти похожие ветки 

 
Александр А.   (2001-11-09 15:56) [0]

Только вчера, казалось бы, получил ответ (в этой конфе) и закрыл для себя вопрос, но по дороге домой купил UPGRADE за ноябрь (№21) и прочёл (с.25):
"... работы с матрицами - их перемножение, сложение и т.д. ... До изобретения SSE(сперва MMX) программисты д.б. заставлять камень делать такие действия поэлементно ... Разработчики процессора (Athlon XP) ... добавили ещё и 3DNOW!Professional, поддерживающий SSE на уровне команд. ... такой шаг мотивирован желанием добиться лучшей работы процессора, при выполнении программ, написаных под набор SSE. Тем более, что количество таких приложений растёт, а фирмы ..., например Borland, уже давно пишут компиляторы для вышеупомянутого типа программ".

На этой конфе мне объяснили (я так понял), что под SSE и MMX имеется в виду набор команд, фактически, для параллельных вычислений (при работе с матрицами). Если это так, то хотелось бы понять, какая возможность реализована:

1. Delphi сама оптимизирует матричные вычисления, как параллельные.

2. Delphi предоставляет программисту возможность СВОИМИ методами (Delphi-ими) распараллелить матричные задачи.

3. Delphi предоставляет программисту возможность дополнительными методами (типа Си, Ассемблер и т.д.) дописать понятные ей (и стандартно добавляемые)"вставки" и, всё же, распараллелить матричные задачи.

4. Delphi не даёт возможности РЕАЛЬНО проводить параллельные вычисления.

Итак - ??? (если ответ позитивен, дайте, пожалуйста ссылки на мануалий). Спасибо.


 
Mbo   (2001-11-10 06:44) [1]

3)- несомненно, MMX задействуется через команды сопроцессора

К сожалению, не встречал технического описания компилятора, в частности, относительно оптимизации под MMX


 
Александр А.   (2001-11-12 15:40) [2]

Эта строка написана просто для того, чтобы повторить исходный вопрос (см. выше).
СПАСИБО


 
Mbo   (2001-11-13 08:58) [3]

К слову, из старого опыта -
в начале 90-х была машина с сопроцессором Weitek.
Вещь крутая, для операции надо было загрузить операнды и код операции
по определенному адресу памяти и сразу считать результат. На 386 это 4 такта, если не ошибаюсь, на 486 - 2. Правда, поддерживали этот сопр редкие компиляторы, например, NDP Fortran, и операций очень мало. Так что пришлось написать ассемблерную библиотеку (ТурбоПаскальный ассемблер не поддерживал расширенный режим 386) для вычисления всяких синусов и отдельных частей Фурье и использовать ее. В результате
386-25 на моих счетных задачах обгоняла 486DX266. Трудов понадобилось много.

Думаю, использование MMX может ускорить, например, умножение матрицы на число на порядок.
посмотри
developer.intel.com/software/products/perflib
у меня плохая связь, так что не разобрался, что там есть


 
Iskander M   (2001-11-13 09:37) [4]

2 Mbo:
Дельфи ничего под MMX не оптимизирует.
Вот в C++Buildere что-то было подобное, если мне память не изменяет.
Но можно с помощью BASM написать все что угодно.


 
Iskander M   (2001-11-13 09:40) [5]

Извиняюсь. Ошибся. Это адресовано Александру А.

>Дельфи ничего под MMX не оптимизирует.
>Вот в C++Buildere что-то было подобное, если мне память не изменяет.
>Но можно с помощью BASM написать все что угодно.


 
PGM   (2001-11-15 10:31) [6]

Если нужны подробности по оптимизации под ММХ и SSE, то лучше чем места с информацией чем support.intel.com трудно придумать. Там и библиотек с примитивами уже написанными и оптимизированными Intel под разные процессоры полно. А свое делать надо руками на BASM или в DLL на С.



Страницы: 1 вся ветка

Текущий архив: 2002.02.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.009 c
3-56988
xmapa
2002-01-23 16:20
2002.02.18
Можно ли в QuickReport выводить текст вертикально?


3-56994
_РК
2002-01-09 08:08
2002.02.18
Нужен совет.


1-57086
Priz_Datiy
2002-02-01 22:43
2002.02.18
DialUp соединения...


1-57124
Demon Ltd
2002-02-03 00:49
2002.02.18
Разница между датами


3-57035
dm
2002-01-25 13:50
2002.02.18
RecordSet