HLFX.Ru Forum Страницы (3): « 1 2 [3]
Показать все 44 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Технические вопросы (https://hlfx.ru/forum/forumdisplay.php?forumid=20)
-- BLAS (базовые подпрограммы линейной алгебры) (https://hlfx.ru/forum/showthread.php?threadid=3469)


Отправлено underworlddemon 10-06-2012 в 19:00:

именно с векторизацией ? т.е. 4 float за 1 команду высчитывать ?
или просто команда на принудительное использование sse ?

Цитата:
XaeroX писал:
Надо профилировать каждый кусок, потому что где-то она даёт прирост, а где-то наоборот оказывается медленнее. Общих рецептов нет.

ну учитывая, какой разброс дают матбиблиотеки - предположу, что там не 1 подход и сильная зависимость какой подход в данный момент лучше


Отправлено XaeroX 10-06-2012 в 19:08:

Цитата:
underworlddemon писал:
именно с векторизацией ? т.е. 4 float за 1 команду высчитывать ?

Да, именно векторизация, ассемблер.
Пробовал и интринсики, но они гораздо менее эффективны оказываются, т.к. не всегда получается реюзать регистры.
Команда (ты про gcc -msse?) вроде просто включает поддержку интринсиков.

__________________

xaerox on Vivino


Отправлено underworlddemon 10-06-2012 в 19:19:

Цитата:
underworlddemon писал:
или просто команда на принудительное использование sse ?

Цитата:
XaeroX писал:
Команда (ты про gcc -msse?) вроде просто включает поддержку интринсиков.

точно включает, но вроде ещё и пытается векторизовать (но тут как компилятору покажется правильнее в конкретном случае)

принудительно, да ещё и выровнено - это уже не так просто, чтобы компилятор сам смог


Отправлено XaeroX 10-06-2012 в 19:30:

Цитата:
underworlddemon писал:
принудительно, да ещё и выровнено - это уже не так просто, чтобы компилятор сам смог

Об этом и речь.
Такие вещи, как оптимизация боттлнеков, лучше компилятору не доверять. Это одна из тех немногих вещей в современном программировании, где реально нужен человеческий мозг.

__________________

xaerox on Vivino


Отправлено underworlddemon 10-06-2012 в 19:36:

Цитата:
XaeroX писал:
Это одна из тех немногих вещей в современном программировании, где реально нужен человеческий мозг.

ну матлибы как раз и позволяют упростить некоторым образом работу ибо берут это на себя и минимизируют ошибки\опечатки (за счёт минимизации кода)
ведь о многих низкоуровневых вещах позаботились на уровне самой библиотеке и думать о них уже не надо (ну только проверить правильность )

обновляем библиотеку = обновляем оптимизации под железо
т.е. не надо вручную переписывать, достаточно скомпилировать с новым флагом

я не прав ?


Отправлено XaeroX 10-06-2012 в 19:39:

underworlddemon
Авторы библиотек - тоже люди, и они не безгрешны.
А наказывать шеф будет тебя, а не автора библиотеки. Так что выбор твой, конечно.

__________________

xaerox on Vivino


Отправлено Дядя Миша 10-06-2012 в 19:41:

Цитата:
underworlddemon писал:
но думаю про векторизацию и ассемблерные вставки ты не заморачивался

так я же говорю - узкое место, оно не там.
вы все прекрасно знаете, что ксаш бодрее халфы при прочих равных условиях. На самой обычной матлибе. Даже если прикрутить туда супер быструю матлибу, сам ксаш уже быстрее не станет, хоть убейся. Потому что боттлнек в использовании глбегин. А оптимизировать это место я не могу, поскольку начнутся проблемы со всякими хлфхами-параноями, вернее всего. Точнее так: тупая замена глбегин на арреи вполне возможна, но прироста от такого подхода не будет. Там придется капитально перепахать рендерер. Ну и как следствие - похерить всю совместимость. Поэтому я подобные фокусы практикую исключительно в ксаш-модах, благо архитектура движка позволяет.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 10-06-2012 в 19:51:

Цитата:
Дядя Миша писал:
поскольку начнутся проблемы со всякими хлфхами-параноями, вернее всего

Ну разве что ты будешь перестраивать буферы каждый кадр - тогда проблем не будет. Но это может оказаться даже медленнее глбегина.

__________________

xaerox on Vivino


Отправлено underworlddemon 10-06-2012 в 19:56:

кстати... мастера... вы программы для тестов от производителей железа используете ?
например Intel GPA ?
http://software.intel.com/ru-ru/blo...2_Intel_GPA.pdf
или аналогичные от АМД или нВидии ?


Отправлено Дядя Миша 10-06-2012 в 19:59:

Цитата:
XaeroX писал:
Но это может оказаться даже медленнее глбегина.

я тут кстати подумал. Теоретически можно отрисовку мира сделать на glDrawElements. Но студиомодельки серавно боттлнеком останутся.
Цитата:
underworlddemon писал:
вы программы для тестов от производителей железа используете ?

программы для тестов чего извините? Я движок предпочитаю обкатывать в реальных ситуациях, а не в синтетических тестах.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено underworlddemon 10-06-2012 в 20:01:

Цитата:
Дядя Миша писал:
программы для тестов чего извините? Я движок предпочитаю обкатывать в реальных ситуациях, а не в синтетических тестах.

инструменты для отслеживания узких мест в нагрузке на графику и\или проц

т.е. расширенные мониторинги производительности программ


Отправлено XaeroX 10-06-2012 в 20:13:

Цитата:
underworlddemon писал:
инструменты для отслеживания узких мест в нагрузке на графику и\или проц

т.е. расширенные мониторинги производительности программ

Я использую gDEBugger.

__________________

xaerox on Vivino


Отправлено Дядя Миша 10-06-2012 в 20:14:

Цитата:
underworlddemon писал:
инструменты для отслеживания узких мест в нагрузке на графику и\или проц

т.е. расширенные мониторинги производительности программ

*чешет репу*
да я и так все узкие места знаю. Мониторинг хорош, когда объем кода настолько велик, что не охватывается одним человеком, и с какого-то момента команда перестаёт понимать, что там собственно вообще происходит.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено underworlddemon 10-06-2012 в 20:20:

переспрошу по другому:
специализированные инструменты для выявление узких мест в программе (начиная от нагрузки на железо до конкретных функций вызывающих узкие места) используете ?
Intel® Graphics Performance Analyzers
http://software.intel.com/ru-ru/blo...2_Intel_GPA.pdf
AMD Graphics Developer Performance Tools
http://developer.amd.com/assets/Zar...e_Tools_web.pdf
NVIDIA PerfKit
http://developer.nvidia.com/nvidia-perfkit

Добавлено 11-06-2012 в 00:20:

уже ответили =)

проверить не хочется ?


Временная зона GMT. Текущее время 15:24. Страницы (3): « 1 2 [3]
Показать все 44 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024