Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Одновременная компиляция в Intel Compiler (число прочтений - 6978 )
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Одновременная компиляция в Intel Compiler
25. Сентября 2007 :: 09:06
Печать  
Что-то никак не пойму, может ли IC компилировать несколько файлов одновременно?
Uzhast, ты, случайно, не думал еще на эту тему?

А то в свете последних тенденций процессоростроения как-то странно мне, что все это счастье работает на одном ядре.
Может, секрет какой есть? Улыбка
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Одновременная компиляция в Intel Compiler
Ответ #1 - 25. Сентября 2007 :: 12:36
Печать  
kms писал(а) 25. Сентября 2007 :: 09:06:
Что-то никак не пойму, может ли IC компилировать несколько файлов одновременно?
Uzhast, ты, случайно, не думал еще на эту тему?

А то в свете последних тенденций процессоростроения как-то странно мне, что все это счастье работает на одном ядре.
Может, секрет какой есть? Улыбка

Хм, вроде что-то в Студии есть...
"Tools" - "Options" - "Projects and solutions" - "Build and run" - "maximum number of parallel project builds"

Правда, не совсем понятно, что эта опция включает: одновременный билд нескольких проектов или несколько потоков на билд одного проекта...
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Одновременная компиляция в Intel Compiler
Ответ #2 - 28. Сентября 2007 :: 08:56
Печать  
Ага, эту штуку видел, по-моему не то.
В принципе, это же в самом компиляторе должно быть реализовано, т.е. это просто его опция должна быть.
Но... не нашел.

В IC10 добавили
Цитата:
Qipo-jobs<n>       specify the number of jobs to be executed simultaneously
                   during the IPO link phase


Опять не то, хотя прогресс по сравнению с 9.1 налицо.

Интернет молчит, что у нас, что у них, как будто вопроса такого вообще нет.

В итоге набросал мегаоптимизатор Dual-Core Intel inside  Очень довольный
http://itland.ru/forum//index.php?showtopic=21088

Пятница... день прожит не зря...
  

De quelle planète es-tu?
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Одновременная компиляция в Intel Compiler
Ответ #3 - 28. Сентября 2007 :: 09:33
Печать  
kms писал(а) 28. Сентября 2007 :: 08:56:

Оффтопик: Не в первый раз наблюдаю, что ты файлики предпочитаешь выкладывать на итланде. Можешь рассказать почему?
  
Наверх
www  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Одновременная компиляция в Intel Compiler
Ответ #4 - 28. Сентября 2007 :: 10:56
Печать  
fez писал(а) 28. Сентября 2007 :: 09:33:
Можешь рассказать почему?

Потому что я ленивый и ты ленивый. Улыбка
Шутка.

1. Там удобное управление своими файлами
2. Ограничение на размер одного файла 2М это иногда важно
3. Счетчик скачиваний

Правда, зря они дали возможность скачивать только зарегистрированным пользователям.
Не думаю, что это правильно.

А вообще, мне давно пора сделать какой-то свой веб-портал.
Я пока обдумываю формат.

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

Я совсем недавно заглядывал в прошлое, еще во времена pre-hare.ru, и понял, насколько все изменилось.
Многое понял. Подмигивание
  

De quelle planète es-tu?
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Одновременная компиляция в Intel Compiler
Ответ #5 - 28. Сентября 2007 :: 11:08
Печать  
kms писал(а) 28. Сентября 2007 :: 10:56:
А вообще, мне давно пора сделать какой-то свой веб-портал.
Я пока обдумываю формат.

Для квикстарта есть вика. Это я так, если кто забыл. Подмигивание

P.S. Про pre-hare времена хотелось бы услышать. А то я их в оффлайне просидел. Улыбка
  
Наверх
www  
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Одновременная компиляция в Intel Compiler
Ответ #6 - 30. Сентября 2007 :: 18:06
Печать  
Кстати, по поводу IPO. Попробовал как-то заюзать... Сначала было без IPO: парсинг мокселя 80Мб занимал 11 секунд. Собрал с IPO - время подскочило до 13 секунд. Результат повторяется четко. Так что иногда это приводит к антиоптимизации Улыбка

Вообще, жаль, что у меня не многоядерник (обычный четвертый пень даже без ХТ Улыбка). А то бы попробовал Улыбка
  
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Одновременная компиляция в Intel Compiler
Ответ #7 - 04. Октября 2007 :: 22:39
Печать  
Кстати, по поводу скорости компиляции. Интел медленный во многом из-за того, что параллельно компилирует файлы майкрософтовским компилятором. Т.е. файлы фактически компилируются дважды. Из-за этого, например, вылазят иногда ошибки про "microsoft compilation", которые не влияют на успешность сборки.

Интел запускает МС-ный компилятор, когда находит в комстроке некоторые ключи (например, /Fd). Вот думаю, а что если при запуске интеловского компилятора вырезать эти ключи, чтобы МС-ный компилятор вообще не запускался? Из Студии совсем избавиться от ключей не получится. Например, в справке написано, что ключ /Fd будет присутствовать всегда, если сборка происходит из Студии.

Непонятно, правда, не поломает ли это билд вообще... МС-ный компилятор вообще-то сразу отваливается на VC6-ных хедерах... Но, может, он какие-то нужные для Студии данные обновляет... И кто тогда будет генерить PDB-файл ? Улыбка
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Одновременная компиляция в Intel Compiler
Ответ #8 - 05. Октября 2007 :: 07:54
Печать  
Правда, так все и есть.

А я их сразу заблокировал в своем параллелизаторе (конкретно /FD и /Gm).
Помогает немного.

Причем не понимаю я такого сервиса, убираешь "minimal rebuild", ставит /FD и наоборот.
Что за забота такая иезуитская? Ужас

А работать они не будут, пока CL не перестанет выворачивать от наших проектов.
А при текущей погоде, еще долго не перестанет. Улыбка
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Одновременная компиляция в Intel Compiler
Ответ #9 - 05. Октября 2007 :: 20:55
Печать  
kms писал(а) 05. Октября 2007 :: 07:54:
А я их сразу заблокировал в своем параллелизаторе (конкретно /FD и /Gm).
Помогает немного.

Попробовал. Либо я чего не так делаю, либо влияние от отключения этих ключей очень невелико.

Первый полный ребилд с твоим стартером: 6 мин 42 с.
Второй полный ребилд с твоим стартером: 5 мин 40 с.
Третий полный ребилд с исходный компилятором: 5 мин 20 с.

Обычно у меня так и есть: полный ребилд - примерно 6-7 минут. Если долго активно работать, то время снижается до, примерно, 5 минут. Кеши всякие, похоже, начинают работать.

Вероятно, МС-ный компилятор от заголовков VC6 настолько фигеет, что отваливается просто сразу Улыбка Вот если бы там был код, который он бы мог хавать, то компиляция, наверное, замедлилась бы раза в полтора Улыбка
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Одновременная компиляция в Intel Compiler
Ответ #10 - 05. Октября 2007 :: 21:06
Печать  
О. привет.

У меня тоже несильная разница, ~5%, наверное.
Тоже думаю, что CL падает после первого стакана Улыбка

А стартер тебе наверное вообще замедлять сборку будет.
Там же на каждый файл оригинальный ICL запускается, а без стартера - основная масса идет одним пакетом.

Переходи скорее на многоядерники Улыбка
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Одновременная компиляция в Intel Compiler
Ответ #11 - 25. Октября 2007 :: 18:12
Печать  
Вот надыбал чуть-чуть таймингов:
Все это для IC9.1-038, без оптимизации (debug), один и тот же проект
Система   Ядер   Время на одном ядре   Время на всех ядрах   ratio
AMD64 x2 3800+ 2 80 48 0.6
Core2 Duo 3.36Ghz   2 55 38 0.7

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

Что же будет на Core Quad и есть ли сейчас такой AMD, который обскачет кору дуба при использовании всех ядер?
Может, мне букмекерскую контору открыть? Улыбка
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать