Форум: "Система";
Текущий архив: 2002.02.18;
Скачать: [xml.tar.bz2];
ВнизО связке 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c