Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Intel C++ Compiler

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4

Открыть новую тему     Написать ответ в эту тему

SnowWhite

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Неделю меня не было...
 
Короче, на выходных сделал 10 вариантов компиляции опенссля...
 
МС рулит )))
 
В результирующей софтине самые большие цифры показывает опессл, которая собрана на вижуал студии.
 
На микрософте рулят ключи /MD /Ox /O2 /Ob2 /W3 /WX /Gs0 /GF /Gy /nologo /G7 /GL /arch:SSE2
 
У интела скорость меньше на 10%. Самая рульная сборка у интела получается с ключами компилятора /MD /Ox /O2 /Ob2 /W3 /Gs0 /GF /Gy /nologo /Ow /Qip
 
это правда. нечто типа /arch:xxx /QxX /Qssp совершенно не катят (только хуже). Ванильная компиляция интелом на зионе работает быстрее всего из интеловых вариантов и проигрывает мс-ной компиляции ))))))))
 
Интел аццтой, я так не играю. Хотя, чует мое сердце, это асмовские куски md5 и sha1 заточены под ml.
 
Нарыл интересную доку по оптимизации распространенных алгоритмой хеширования для П4. Буду читать, долго думать.

Всего записей: 118 | Зарегистр. 22-01-2004 | Отправлено: 17:12 16-01-2006
dyr farot

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
тогда зачем такая странная методика тестирования?
генерим ~~1M случайных чисел, пишем все это дело в файл. пишем простейшую сортировку пузырем и запускаем...

Всего записей: 697 | Зарегистр. 03-08-2004 | Отправлено: 20:12 16-01-2006
SnowWhite

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
необходимо добиться от софтины максимальной скорости шифрования.
софтина использует опенссл.
исходников софтины нет. но можно ей подсовывать разные длл-ки опенссля.
 
вопрос: как добиться максимальной скорости софтины? ответ: экспериментировать с тем, с чем можно - с библиотекой опенссл.

Всего записей: 118 | Зарегистр. 22-01-2004 | Отправлено: 21:10 16-01-2006
Wenzel



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SnowWhite
Странно что /MD. Это ж dll использоваться будет.

Цитата:
У интела скорость меньше на 10%. Самая рульная сборка у интела получается с ключами компилятора /MD /Ox /O2 /Ob2 /W3 /Gs0 /GF /Gy /nologo /Ow /Qip

Как я понял из доки, /Ox то же самое что /O2.

Код:
O2  
 Enables optimizations for speed. This is the generally recommended optimization level.  
On Itanium-based systems, this option enables optimizations for speed, including global code scheduling, software pipelining, predication, and speculation.  
-- skip --
On Linux systems, this option is the same as the O option.  
On Windows systems, this option is the same as the Ox option.
On Windows IA-32 systems, the O2 option sets options /Og, /Oi-, /Os, /Oy, /Ob1, and  /Gs.
 

 
Получается, /O3 (и вообще /fast) дает результат хуже?

Всего записей: 587 | Зарегистр. 10-08-2004 | Отправлено: 21:49 16-01-2006 | Исправлено: Wenzel, 21:51 16-01-2006
SnowWhite

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
/O3 не очень...  
Там я выкладывал ексель со сводными результатами. О3 не катит.
 
Ох и О2 вдвоем это от того, что мне вдумчиво доку лень читать =) Так что, на всякий случай, вместе. Тем более, что компилер самую быструю выберет.
 
А что такого странного в /MD? =)) Лучше /MT? Если библиотека подгружается вместе со стартом софтины, и потом начинается числомолотилка, то библиотека все это время в памяти висит, потому что счетчик юзаний библиотеки не уменьшается до нуля. Вроде так ) Так что, с этой точки зрения мд=мт. Или нет?

Всего записей: 118 | Зарегистр. 22-01-2004 | Отправлено: 22:44 16-01-2006
RomikT

Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Я не уверен, но не исключено, что при использовании /MT компилятору будет легче оптимизировать код - во-первых, он будет иметь доступ к содержимому библиотек (что ему вряд ли поможет), а во-вторых, у него будет возможность делать inline, он же использует link time code generation (а вот это может ускорить работу)

Всего записей: 7 | Зарегистр. 09-01-2006 | Отправлено: 23:15 16-01-2006
SnowWhite

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
х-мм...
надо будет затестить )

Всего записей: 118 | Зарегистр. 22-01-2004 | Отправлено: 23:59 16-01-2006
SnowWhite

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну, статическая компиляция дала плоды - прирост порядка 1-3% =)))
только /MT в понимании микрософтного компилера совсем не то, что в понимании интелового, начались глюки с объявлением одних и тех же функций в разных мс-ных библиотеках:
Цитата:
libeay32.lib(rand_lib.obj) : warning LNK4218: non-native module found; restarting link with /LTCG
MSVCRT.lib(MSVCR71.dll) : error LNK2005: _isdigit already defined in LIBCMT.lib(_ctype.obj)
MSVCRT.lib(MSVCR71.dll) : error LNK2005: _memchr already defined in MSVCRT.lib(MSVCR71.dll)

 
пришлось /G7 /arch:SSE2 /Ox /O2 /Ob2 /nologo /MT /W3 /Gs0 /GF /Gy
менять на /G7 /arch:SSE2 /Ox /O2 /Ob2 /nologo /MD /W3 /Gs0 /GF /Gy
 
сама либа стала 8 мегов =))

Всего записей: 118 | Зарегистр. 22-01-2004 | Отправлено: 12:40 17-01-2006
Wenzel



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Появился вопрос - чем отличаются релизы 9.1.028 и 9.1.029. На сайте не нашел
 
Добавлено:
Эк меня глючит сегодня 029 еще нет.
А где вообще changelog посмотреть-то?

Всего записей: 587 | Зарегистр. 10-08-2004 | Отправлено: 01:16 16-08-2006 | Исправлено: Wenzel, 01:33 16-08-2006
OldGopher



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Хороший компилятор. В полтора раза ускоряет, минимум.
А еще лучше объединить его с ручным ассемблером SSE2/3.  
Тогда вообще хорошо становится.
 
Уже месяц имеюсь с этим делом...

Всего записей: 3802 | Зарегистр. 25-10-2001 | Отправлено: 19:05 16-08-2006
romank



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Компилировал программу по решению некоего дифура в частных производных.
gcc 3.4.5. msvc 8.0 (2005), icc 9.1.0.28
 
gcc:  сетка считается 23 секунды.
icc 9.1.0.28 12 секунд
icc 9.1.0.30 11 секунд
msvc 8.0 (2005) 7 секунд!!!!!!!!!!
 
Железо одно и то же.  
 
Полагаю с настройками gcc по оптимизации знаком не очень. Пробовал все, что есть.
 
Почему интеловский так сделал? Я на интуитивном уровне считал его немеряным рулезом.
Да и реклама на интеловском сайте обещает ого-го!
 
мобыть интеловский косит под дурня на амд-платформе? (немного, понимаю, туманно-глупое предположение)
 

Всего записей: 50 | Зарегистр. 26-06-2004 | Отправлено: 13:28 01-09-2006
FuzzyLogic



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если запускалось всё это на AMD, то вполне нормально, Intel делает оптимизацию именно под архитектуру Intel процессоров. А вообще не мешало бы привести ключики каждого компилятора. Иногда помогает некоторые ключики опускать когда хочется чтобы код сделанный ICC работал быстрее на AMD. Как говорится, что русскому хорошо, то немцу ... ну сами знаете

Всего записей: 1920 | Зарегистр. 27-07-2002 | Отправлено: 11:37 02-09-2006
OldGopher



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Я сравнивал таблицы таймингов по опкодам для Интела и АМД. Картина резко различается.
АМД рекомендует использовать интеловский компилятор с конкретными опциями оптимизации. Иначе может быть деградация...

Всего записей: 3802 | Зарегистр. 25-10-2001 | Отправлено: 21:47 02-09-2006
Qraizer



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ага. Счас Intel начнёт опримизировать код под AMD. Они скорее наоборот поступят, хоть за это и иск могут схлопотать.
Мож кто-нибудь расскажет, где достать средства разработки, ориентированные под AMD? А то самого давно уже мучит проблема непредвзятого сравнения своего ПО под Intelом и AMD.

Всего записей: 613 | Зарегистр. 08-08-2006 | Отправлено: 14:32 04-09-2006
FuzzyLogic



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Для знакомых с английским - пару статей по теме...
http://www.swallowtail.org/naughty-intel.html
http://techreport.com/onearticle.x/8547
 
Для неангличан : попросту говоря, Intel не пользуется стандартными способами проверки наличия скажем поддержки SSE процессором, а в самом начале проверки способностей проца, просто смотрит есть ли процессор "GenuineIntel" и не обладающие данным достоинством процессоры отправляются в кучу и даже не анализируются на поддержу различных расширений и способностей. Хотя статьи немного староваты, не удивлюсь если "проблема" до сих пор существует и в девятых версиях компилятора.

Всего записей: 1920 | Зарегистр. 27-07-2002 | Отправлено: 19:02 04-09-2006
OldGopher



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Смотря что...
 
Я компилирую на Интеле, а целевой сервер - 2*2 АМД Оптерон. Так интелловский компилятор ставит раком и MSVC 6, и даже - 2005.  
Что же касается критичного кода, то я его постепенно переписываю в ассемблер SSE3. Работы еще много, но меня это устраивает...


----------
Женщина - это такая баба, с которой хочется заняться сексом немедленно... (с) 2006

Всего записей: 3802 | Зарегистр. 25-10-2001 | Отправлено: 10:05 05-09-2006
GrechuhinIlya

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
На интеле лежат несколько файлов, в частности:  
W_CC_C_9.1.028.exe и W_CC_P_9.1.022.exe
W_CC и номер версии - ясно,
а кто знает за что отвечает буква: С (Р)?

Всего записей: 1 | Зарегистр. 23-05-2006 | Отправлено: 16:05 20-09-2006
Simbr

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Следует обратить внимание на то, что SSE2/3 работают с 8-ми байтовыми числами, а FPU, во внутреннем представлении, с 10-ти байтовыми. Следовательно, арифметические в первом случае будут больше, особенно  ошибки компенсации. Так что, при решении ДУЧП к использованию SIMD команд следует подходить очень аккуратно.  
А если решение принято в пользу SSE, рекомендую заглянуть на
http://www.applied-mathematics.net/miniSSEL1BLAS/miniSSEL1BLAS.html
A fast library for SDOT,DDOT,SAXPY,DAXPY operations on x86 processor  
 
PS
>мобыть интеловский косит под дурня на амд-платформе?
Так оно и есть, особенно в "числодробилках",  где в полной мере видна разница длин конвейеров AMD и Intel

Всего записей: 124 | Зарегистр. 10-01-2005 | Отправлено: 09:12 21-09-2006 | Исправлено: Simbr, 09:27 21-09-2006
Qraizer



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Что-то я не понял. Они что же, export templates только в компиляторе под Linux реализовали, что ли? В документации на версию 9.1 явно сказано, что для Linux-версии имеется ключик -export для включения export templates, а для Windows - None. По дефолту экпорт выключен... Что-то я не догоняю.
Удалось нарыть вот такой сюрприз из буржуйного форума:
Цитата:
Currently export is only implemented on:
 
Comeau C++
Intel C++ (?, an undocumented switch)
Borland C++ (as yеs unreleased )
Кто-нибудь что-нибудь слышал по этому поводу?

Всего записей: 613 | Зарегистр. 08-08-2006 | Отправлено: 20:13 19-10-2006
xSWRx

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У ICC нужно правельны ключи ставить
Например у меня на 25% быстей чем у VC2003
 
Нужно поставить минемальный код но приоритет на быстрые
отключить SSE, SSE2 (Это тормозит) и оставить совместимось с P3 (MMX)
и ненадо включать параллелизм (если явно его не используеш)
 
 
P.S. Выкрутыв все на максимум тока угробиш оптимизацию и вообще лучше использовать диррективы в коде  

Всего записей: 50 | Зарегистр. 22-06-2006 | Отправлено: 12:42 22-12-2006
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Intel C++ Compiler


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru