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

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

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

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

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

KADABRA



Великий покусатель
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
crazy fenix

Цитата:
А есть ли что-нибудь для начинающих под винду
 

Именно интел?
Если нет и нужен только компилятор, то бери MinGW http://www.mingw.org/download.shtml
или Борланд http://www.borland.com/products/downloads/download_cbuilder.html (зарегистрироваться надо).

----------
Это не подпись.

Всего записей: 1718 | Зарегистр. 14-07-2003 | Отправлено: 10:54 12-02-2005 | Исправлено: KADABRA, 10:55 12-02-2005
Prizrak7



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
crazy fenix

Цитата:
А есть ли что-нибудь для начинающих под винду

Если, как сказал KADABRA, нужен только компайлер (т.е. без IDE с умным редактором, встроенным "умным" дебаггером, хитрым project management, итд), то кроме того что он перечислил есть еще Microsoft Visual C++ Toolkit 2003 (~32MB). Он включает в себя неплохой оптимизирующий компайлер (фактически тот же самый что идет с VC7.1), линкер, библиотеки (стандартные библиотеки C  и C++ вкл. STL), и даже мерзкий .NET CLR (какого черта?!?), т.е. почти все что нужно. При этом, он бесплатен и идет с довольно божеской лицензией (т.е. можно потом софтину даже продавать - впрочем за деталями стоит залезть в лицензию). Кроме того, он ставится с намного меньшей головной болью чем MinGW, а по количеству багов я думаю он с BCC 5.5 (Borland) примерно на одном уровне. (Хотя лично мне BCC 5.5 quirks и баги мешают больше).
 
Есть бесплатный компайлер Digital Mars (несколько мегов, зависит от комплектации), тоже идет практически совсем "голым", весьма положителен в плане стандарта C++, но тоже слегка багованый (во всяком случае когда я в послений раз проверял).
 
Ну и если нужна среда, то есть штучки вроде Bloodshed Dev-C++ (~7-15МБ в зависимости от версии и комплектации) - полный IDE который идет с MinGW (т.е. GCC) в качестве компайлера. На любителя , зато бесплатен, FOSS, и все в одном.
 
Кроме того, если ностальгия задавит, есть DJGPP. Это набор инструментов под DOS вкл. компайлер (опять порт GCC). Подобрать комплектацию по вкусу можно здесь, в среднем может вылиться в около ~17МБ, но при таком наборе там даже простенький IDE будет (RHIDE - что-то по внешнему виду напоминающее Turbo C/C++ под DOS).
 
В плане оптимизаций под x86 вообще и под P4 в частности - ICC (Intel) конечно всех их подомнет, но я думаю что начинающему программеру это не столь важно (по сравнению с человеческой поддержкой C/C++, например).
 
А вообще, можешь заглянуть сюда или на аналогичные странички, там есть нехилые списки вещей которые можно достать бесплатно.

Всего записей: 148 | Зарегистр. 22-09-2002 | Отправлено: 22:05 13-02-2005
KADABRA



Великий покусатель
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Prizrak7
+ http://www.rsdn.ru/article/devtools/devtools.xml  поподробнее.

Всего записей: 1718 | Зарегистр. 14-07-2003 | Отправлено: 02:06 14-02-2005
crazy fenix



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Prizrak7
KADABRA
Senks!
Пока просто попробую разобраться со всем этим!

Всего записей: 6 | Зарегистр. 10-02-2005 | Отправлено: 20:10 14-02-2005
alco_H

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а с каких пор размер long double в интеловском компиляторе под ia32/64 стал равен 16 байт???

Всего записей: 61 | Зарегистр. 06-12-2002 | Отправлено: 20:53 30-06-2005
Dpak0n4ik



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята. Такой вопрос - у Intel C++ Compiler своя встроенная библиотека или он берет какую-то другую?
Просто размер у него здоровый, а по поводу библиотек ничего не известно...

Всего записей: 111 | Зарегистр. 12-08-2005 | Отправлено: 14:37 30-11-2005
KADABRA



Великий покусатель
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dpak0n4ik

Цитата:
у Intel C++ Compiler своя встроенная библиотека или он берет какую-то другую?

Какая библиотека???

Всего записей: 1718 | Зарегистр. 14-07-2003 | Отправлено: 15:39 30-11-2005 | Исправлено: KADABRA, 15:39 30-11-2005
Dpak0n4ik



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
да хотя бы STL
Интересно - если ставить компилятор на голую винду без студии - можно сразу писать и отлаживать программы?
Иил всеже придеться ставить доп. софт?

Всего записей: 111 | Зарегистр. 12-08-2005 | Отправлено: 09:16 02-12-2005 | Исправлено: Dpak0n4ik, 09:22 02-12-2005
KADABRA



Великий покусатель
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dpak0n4ik
Да естественно STL в нём есть.
Компилировать можно будет сразу, а вот на счёт дебаггера я не знаю.

Всего записей: 1718 | Зарегистр. 14-07-2003 | Отправлено: 12:17 02-12-2005
SnowWhite

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А вот у меня вопрос по скорости работы генерируемого кода...
 
Есть библиотека openssl-0.9.8
 
Есть компилер интелц++ 9.0.024 (х86 и х86-ЕМТ64) и есть вижуал студия 2003 сп1 на платформе х86 и на платформе амд64
 
Так вот, было сгенерячено (набилдено втупую с разными ключами компилеров) около 20 вариантов.
 
Вы будете смеяться, но микрософтный компилер оказался абсолютным лидером (хеширование мд5, sha1 и кодирование aes) в скорости сгенеренного кода как на платформе х86, так и на платформах амд64 и х86-ЕМТ64!!!
 
Сама задача - тупая -  молотилка чисел. Но факт остается фактом: даже на 64-разрядной платформе микрософтный код быстрее. Могу это объяснить только оптимизацией openssl под микрософтный компилер...
 
Есть мнения и предложения, как сгенерить интеловым компилером под интеловую платформу код быстрее, чем тот, который генерится микрософтным компилером?

Всего записей: 118 | Зарегистр. 22-01-2004 | Отправлено: 20:54 06-01-2006
Dust



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
SnowWhite
А если не в тупую, а подумать? Отчеты оптимизатора и векторизатора посмотреть? Задуматься над методикой тестирования?

Всего записей: 460 | Зарегистр. 01-03-2002 | Отправлено: 02:58 07-01-2006
SnowWhite

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
если не "втупую", то здесь не спрашивал бы, а сделал все сам %)
 
выложил тут http://getfile.biz/20253 результаты по отчетам для х86-32 только для обычного зиона, потому как железок обычных без емт64 у меня больше.
амд64 вообще рвет в числодробильных тестах что х86-32, что х86-ЕМТ64 процы, неважно, каким компилером сгенерен код (мс или интел), интел вырывает победу только на мд5 (по тестам наблюдается достаточно ровная зависимости скорости работы (счета) хеширования по мд5 от тактовой частоты процессора), и то, когда у него тактовая частота задрана под 4ГГц, но такие таковые частоты - неспортивно, гнать процы вредно %).
тест проводился на сгенеренном коде путем выполнения строки "openssl.exe speed md5 sha1 aes" или что-то в этом роде. потом результаты заносились в таблицу =))
 
самое интересное, что (видно в выложенном файле) как только включаются в компиляторе какие-то уж совсем глубокие оптимизации, то начинается сильное падение производительности (относительно). не лезут нагенеренные инструкции в кеш первого уровня или предсказания не отрабатывают?
 
отчет оптимизатора во время компиляции были в стиле "unrolling loops", двухстадийную оптимизацию с применением VTune не делал - это уж совсем не честно по отношению в МС, так как у них подобные игрушки будут только в МС ВС 2005.
 
если интересно, то можете сами скомпилить библиотеку и посмотреть на отчеты, я сам смогу это сделать после выходных ;(

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



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
SnowWhite
Пока собрал на визуалке, на домашнем компе нет инетловского компайлера. На днях раздобуду, попробую отпишусь. Вообще есть еще некоторые вопросы.
1. Зачем соственно это нужно (кроме чисел). Я например твердо уверен что интеловский обгонит микрософтовский в умелых руках. Я этим уже занимаюсь двольно давно, чтобы так утверждать.
2. С какими ключами был собран проект, и под какую платформу _точно_ делаем.
3. Ваши результаты было бы неплохо увидеть. Хотя бы с чем сравниться. А то у меня может процессоры неправильные, и т.п.

Всего записей: 460 | Зарегистр. 01-03-2002 | Отправлено: 04:16 08-01-2006
SnowWhite

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну вот скачайте файлик =))
там все написано - результаты теста (скорости работы), ключи компилеров, также указан процессор на котором гонялось (зион х86-32, 2.4 ГГц). в выложенном файлике есть две интересных страницы (sheet) - х32 и sheet6. просто почему тема меня заинтересовала?
 
осенью 2004-го делал то же самое - собирал актуальную на тот момент версию openssl двумя компилерами - мс и интел. тока в 2004-м я еще использовал (как смог) VTune. так вот, тогда скорость интелового кода была где-то на 25% быстрее! а сечас микрософтный код догнал и, в некоторых случаях, перегоняет по производительности интеловый код. но осенью 2004 я не делал таких масштабных тестов с ключами компилера - просто взял самые быстрые у каждого компилера и сваял. и год мне хватало производительности кода =) а вообще, почитав рассылку опенссл и посмотрев на какие-то куски кода, где я могу что-то понять, у меня создалось такое впечатление, что сама библиотека опенссл оптимизируется под амд и микрософтный компилер.
 
зачем это надо? любая программа, которая использует хеширование, шифрование. да и хочется некоторые cygwin-овские поделки перекомпилить под натив win32, потому как гцц под цигвином далеко не первый по скорости генерируемого кода.

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



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
SnowWhite
Посмотрел табличку. Я право немного в затуднении, как раз icl и неплохо выглядит по сравнению с cl. больший результат лучший - скорость изменяется в количестве байт, обработанных за 1с. Посмотрите свою табличку сами, сравните 13 тест для icl с любым у cl.
Есть конечно некоторые провисания, но я думаю что они устраняться после более детального изучения картины.  
Кроме того вы сами мухлюете - используете /Qparallel и /Qssp, что имеет смысл тока на гипертридинге или SMP-шной машине (как у вас), а с сериальной версией еще до конца не разобрались.
Еще посоветую вам использовать:
/QxP  - для векторизации под SSE2/3;
/ipo   - для инлайнинга мелких функций;
/Ow   - для выравнивания компилятором данных под SSE;
/ftz    - для ускорения работы с денормализованными флоатами;
/Qrcd - ускорение перевода чисел;
 
По поводу unroll могу сказать что это неодназначно, и зависит от количества проходов цикла, так что на вашем месте я бы применял ее вдумчиво. Так же вариант с /O2 может быть быстрее чем /O3. Ну и не стоит забывать что есть еще прагмы и интринсики для особо упорных

Всего записей: 460 | Зарегистр. 01-03-2002 | Отправлено: 17:46 08-01-2006
SnowWhite

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dust
 
в сравнении с 6 экземпляром cl 13 версия не так сильна.
 
/ipo (/Qipo) не работает - у компилера крышу сносит где-то в середине компиляции (начинает страшно ругаться на этапе линковки). Если внятно объясните, как ей пользоваться, то буду очень благодарен.
 
/QxP  - я пользовался /QaxN (7-й вариант) - показало плохие результаты
/Ow   - не пробовал
 /ftz   - не пробовал
/Qrcd - не пробовал
вообще-то меня заботит точность вычислений, при всяких трюках с помощью ключей компилера не будет ли фатальной потери точности вычислений?
 
Когда эта эпопея с компиляньем была, то читал про интринсики, не впечатлило, потому как вроде О2 или Ох включает все эти интринсики, или не так?
 
И еще: просто так интеловый компилер не слишком хочет компилить библиотеку 098 или 098а,  как буду на работе, попробую с этими четыремя ключами. Так что, было бы неплохо, если бы вы сами попробовали откомпилить сие чудо интеловым компилером, чтобы "изнутри" на картину взглянуть...
 
Да, у меня смп машина, но самое интересное, что эти /Qparallel и /Qssp только портят картину. Библиотека (длл) не слишком многопоточная (((
 
В общем, хотелось бы достичь большей скорости, чем 6-й вариант =))))
 
п.с. как раз у 13-го варианта самые низкие показатели...
п.п.с. и еще: усредненная производительность у 6-го варианта самая большая, и в sha-1 он - лидер.

Всего записей: 118 | Зарегистр. 22-01-2004 | Отправлено: 23:21 08-01-2006 | Исправлено: SnowWhite, 23:25 08-01-2006
Dust



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
SnowWhite
Про IPO. Есть там бажина (или фича, я не пойму почему ее так долго не пофиксят), если на промежуточном этапе сборки сначала собирается библиотека, которая используется в следующей стадии, то IPO не собирается. В общем в нашем случае это скорее всего глухой угол, можно попробовать собрать финальный бинарь с ним. Или орграничиться на первое время IP. Разница в них в том, что IPO осуществляет оптимизаицию между модулями, тоесть может заинлайнить функцию с дркгого *.с.
Из вышеназванных ключей на точность может повлиять только Qrcd, ftz - очень слабо, никогда мне не попадалось таких приложений.
Так же я вижу что вы не понимаете что такое интринсики. Это, подобно ассемблеру, псевдокод, который напрямую транслируются в машинные инструкции. Из поддержка целиком относиться к компилятору, поэтому код на интринсиках не является портабельным.
Работа с интринсиками есть при любой степени оптимизации.
Ладно, пока есть предложение свести противостояние к некоторым вариантам.
Например вы жалуетесь на sha-1, и будем пытаться его подтянуть.

Всего записей: 460 | Зарегистр. 01-03-2002 | Отправлено: 10:40 09-01-2006
SnowWhite

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cool!
 
спасибо за участие! =)
 
прав ли я, если скажу, что интринсики есть и в МС? если да, тогда я примерно понимаю в чем дело и почему их не совсем корректно использовать (вернее, надо аккуратно) - в интеловом компилере есть надмножество интринсиков, которые ни в мс ни в гцц не поддерживаются. это раз. два - некоторые мс-ные интринсики не поддерживаются в интеле. в рассылке по опенссл был разговор про переносимость кода между компилерами. и был отдельный спор вроде про memmove (или что-то такое) - про скорость инструкции и то, как она превращается в ассемблерный код. в общем, я не думаю, что с моими знаниями нужно лезть в ассемблерные куски библиотеки =)

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



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
SnowWhite
Есть интринсики (типа __mm_movpd()), есть функции, которые распознаются компилятором и переводяться им на интринсики. Так например функция работы с памятью (например memcpy()) распознается, и вместо побайтового копирования (как это забито в библиотеках) используется SSE копирования по 64бита.

Всего записей: 460 | Зарегистр. 01-03-2002 | Отправлено: 02:54 10-01-2006
Simbr

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SnowWhite

Цитата:
 
вообще-то меня заботит точность вычислений, при всяких трюках с помощью ключей компилера не будет ли фатальной потери точности вычислений
 

/Ow (выравнивание на 16 байт) -- для интеловских процессоров (на AMD не пробовал) дает ускорение даже при использовании FPU.
 
Потеря точности может произойти при использовании SSE2/3 (это надо проверить). Внутренне представление чисел в FPU 80- битное независимо от представление исходных. Для SSE2 исходные числа 64 - битные, а скольно разрядов использутся при внутренних вычислениях это вопрос.

Всего записей: 124 | Зарегистр. 10-01-2005 | Отправлено: 10:17 10-01-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