URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 81278
[ Назад ]

Исходное сообщение
"Увидел свет оптимизирующий свободный компилятор Open64 5.0"

Отправлено opennews , 10-Ноя-11 20:40 
Компилятор Open64 (http://www.open64.net) для языков C, C++ и Fortran, разрабатываемый при поддержке компании AMD, обновился (http://www.open64.net/news/single-view/archive/2011/november...) до версии 5.0 и теперь включает в себя более полную поддержку стандарта языка C, архитектуры IA64 и множество оптимизаций, направленных на улучшение быстродействия приложений, собранных для процессоров серии AMD Bulldozer.


Основной упор при подготовке релиза был сделан (http://sourceforge.net/projects/open64/files/open64/Open64-5...) на оптимизирующую функциональность компилятора. Добавлено несколько новых методов оптимизации, расширены существующие. Появились новые способы развертывания циклов и преобразований if-конструкций. Компилятор теперь более интеллектуально обращается со структурами, избегая их слишком частого копирования. Появилось множество улучшений движка векторизации и несколько методов оптимизации ...

URL: http://www.open64.net/news/single-view/archive/2011/november...
Новость: https://www.opennet.ru/opennews/art.shtml?num=32275


Содержание

Сообщения в этом обсуждении
"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено nevar , 10-Ноя-11 20:40 
реквестирую сравнение производительности числодробильных прог, скомпиленных сабжем, gcc и icc.

"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено Аноним , 10-Ноя-11 21:02 
Как минимум с гцц и шлангом недавно сравнивал фороникс. На паре тестов он реально порвал на амдшном проце остальных. Правда в отместку он под интел вообще не смог родить рабочие бинари, равно как не смог собрать некоторые тесты.

"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено Клыкастый , 10-Ноя-11 21:07 
АМД дааа... Так не любить конкурентов... ай-ай-ай...

"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено Аноним , 10-Ноя-11 21:21 
Это они отомстили интелу за хреновую оптимизацию под амд в icc :D

"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено Клыкастый , 10-Ноя-11 22:22 
> Это они отомстили интелу за хреновую оптимизацию под амд в icc :D

увидим ли мы "великое расхождение платформ"?
когда под amd64 будет только один, "свой" компилятор? а под i386 - свой? сколько мейнтейнеров проснутся седыми?



"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено Аноним , 10-Ноя-11 23:46 
Поэтому они так и будут собирать gcc, он для обоих собирает ;)

"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено Boboms , 11-Ноя-11 15:40 
А может целесообразно включить упомянутые "блоки оптимизации" из icc и open64 непосредственно в gcc?

"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено Аноним , 11-Ноя-11 15:48 
> А может целесообразно включить упомянутые "блоки оптимизации" из icc и open64 непосредственно
> в gcc?

На этом пути ожидается несколько грабелек:
1) А, гм, icc - как ни странно проприетарный. Поэтому вопросы к товарищу Интелу. Подозреваю что у них какие-то проблемы с интеллектуальной собственностью там, может кусок прав не их, или типа того. Во всяком случае они предпочли помогать допилить гцц для новых процессоров вместо этого (некоторые последствия оптимизации ощутили фанаты Ульриха Дреппера на федоре с оптимизированным memcpy, ломающим поведение ряда программ :D).

2) Гм, если код сгенеренный для амд64 не очень работает на интеле - не понятно как с ним бороться. С интелом в смысле. Таскать 2 версии кода в 1 проге? Так она ж опухнет в 2 раза и все причастные высрут горы кирпичей когда их системы на сидюк перестанут вмещаться с двукратным отрывом.


"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено me , 11-Ноя-11 17:23 
ну речь то, вообще, про оптимайзер, у вас и сейчас код скомпилированный с march=corei7 на core2 будет фокусы показывать.

"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено Аноним , 11-Ноя-11 22:42 
> ну речь то, вообще, про оптимайзер, у вас и сейчас код скомпилированный
> с march=corei7 на core2 будет фокусы показывать.

Логично - у i7 вроде как есть новые команды. Кор2 их не поймет.


"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено Клыкастый , 17-Ноя-11 19:03 
> Таскать 2 версии кода в 1 проге?

source-based даже и не встретят такой проблемы на пути от исходников к бинарникам ;)


"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено Андрей , 10-Ноя-11 20:43 
Ввиду выхода c++11 интересно было бы, в каком состоянии находится его поддержка у open64.

"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено pro100master , 10-Ноя-11 23:08 
они только Си допилили, а вы уже про какой-то футуристический С++11 :)

"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено Аноним , 10-Ноя-11 20:53 
> Второе достоинство компилятора в лицензии GPLv2

Не достоинство, а жирный недостаток.


"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено Аноним , 10-Ноя-11 21:02 
>> Второе достоинство компилятора в лицензии GPLv2
> Не достоинство, а жирный недостаток.

А это смотря с какой точки зрения смотреть :)


"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено A.Stahl , 10-Ноя-11 21:15 
>в лицензии GPLv2

Что-то я не совсем понимаю какая вообще разница в версии GPL компилятора.
Или кому-то надо статически линковаться с gcc?!


"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено filosofem , 11-Ноя-11 09:52 
да, GPLv3 было бы лучше.

"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено Аноним , 11-Ноя-11 16:19 
>> Второе достоинство компилятора в лицензии GPLv2
> Не достоинство, а жирный недостаток.

Специально для Вас сделали clang.


"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено Аноним , 11-Ноя-11 16:56 
> Специально для Вас сделали clang.

Он не уточнил в чем недостаток состоит :). Может, он наоборот фанат GPLv3? :D


"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено Аноним , 10-Ноя-11 21:07 
Лучше бы для gcc патчи сделали.

"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено Анон , 10-Ноя-11 22:29 
Лучше бы сам что-нибудь полезное сделал.

"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено Аноним , 10-Ноя-11 22:29 
Вот когда он ядро собрать сможет, тогда и посмотрим.

"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено Аноним , 10-Ноя-11 23:06 
Сможет тогда, когда разработчики ядра будут писать на С.

"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено Аноним , 10-Ноя-11 23:46 
в BSD kernel/userland всю собирает. А все потому что пишут на ANSI C, а не на GCC-specific-C-like-language

"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено alexr , 11-Ноя-11 11:11 
Ядро Линукса соответствует ISO "C" 99. и в GCC новые стандарты C обкатываются. Из специфичных GCC расширений это констрейны для inline ассемблера, но без них просто невозможно генерировать оптимальный переносимый код.

"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено Andrew Kolchoogin , 11-Ноя-11 16:17 
Да?
А ну-ка, умник, собери-ка его с -std=c99 -W -Wall -Wextra -Werror -pedantic -pedantic-errors
А мы над тобой поржём. Всем, так сказать, коллективом.

"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено Аноним , 11-Ноя-11 17:13 
> А мы над тобой поржём. Всем, так сказать, коллективом.

А ты чур фряшное с теми же опциями. И как, получается?


"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено pavlinux , 11-Ноя-11 19:14 
А чё, флаги компилятора уже описаны в стандартах?
Ну кроме -c, -o, -E, -s ... и то вряд ли.

"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено Мужик32 , 13-Ноя-11 01:47 
Ты это к чему, умник?

"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено Аноним , 11-Ноя-11 16:22 
Да ну?
Возьмите последнее ядро (3.0.8), посмотрите, к примеру, mm\memory.c(1671).
Это что ли C99?
И подобного добра там навалом.

"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено Аноним , 11-Ноя-11 17:13 
> Возьмите последнее ядро (3.0.8),

Какое же это последнее, если уже 3.1 вышло?!


"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено pavlinux , 11-Ноя-11 01:04 
Блин, он кроме Hello World ченить умеет компилить?!
Ща народ уже не тот пошёл, если оно не умеет компилить ядро, только лишь написав

# make CC=opencc

то никто особо трахаццо и не будет, просто выкинут.  


"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено anonymous , 11-Ноя-11 10:27 
не говорил бы за всех....

"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено pavlinux , 11-Ноя-11 19:17 
> не говорил бы за всех....

Вы собрали с его помощью ядро или firefox ?
HOWTO можно?

вот эта,
http://svn.open64.net/filedetails.php?repname=Open64&path=&#...

ну совсем не работает


  CC      arch/x86/kernel/asm-offsets.s
opencc WARNING: -m32 conflicts with -m64; using latter value (-m64)
opencc WARNING: -mno-mmx is ignored
opencc WARNING: SSE2 required for 64-bit ABI; enabling SSE2.
/usr/bin/gcc -D__OPEN64__="4.2.1" -D__OPENCC__=4 -D__OPENCC_MINOR__=2 -D__OPENCC_PATCHLEVEL__=1 -O2 -D__OPTIMIZE__ -D__KERNEL__ -Wp,-MD,arch/x86/kernel/.asm-offsets.s.d -isystem include -I/media/kernel/uvcvideo/arch/x86/include -Iarch/x86/include/generated -Iinclude -include /media/kernel/uvcvideo/include/linux/kconfig.h -D__KERNEL__ -Wundef -Wno-pointer-sign -DKBUILD_STR(s)=#s -DKBUILD_BASENAME=KBUILD_STR(asm_offsets) -DKBUILD_MODNAME=KBUILD_STR(asm_offsets) -xc -isystem /usr/include -E -mfpmath=387 arch/x86/kernel/asm-offsets.c -o asm-offsets.i
/usr/lib/gcc-lib/x86_64-open64-linux/4.2.1/cc142 -O2 -Wundef -Werror-implicit-function-declaration -Wno-format-security -Wno-sign-compare -fno-omit-frame-pointer -Wdeclaration-after-statement -Wno-pointer-sign -fcxx-openmp -msse2 -dx -quiet -fpreprocessed -fbuiltin -dumpbase arch/x86/kernel/asm-offsets.c asm-offsets.i -spinfile asm-offsets.spin
In file included from /media/kernel/uvcvideo/arch/x86/include/asm/alternative.h:101,
                 from /media/kernel/uvcvideo/arch/x86/include/asm/bitops.h:17,
                 from include/linux/bitops.h:23,
                 from include/linux/kernel.h:18,
                 from /media/kernel/uvcvideo/arch/x86/include/asm/percpu.h:45,
                 from /media/kernel/uvcvideo/arch/x86/include/asm/current.h:6,
                 from /media/kernel/uvcvideo/arch/x86/include/asm/processor.h:16,
                 from /media/kernel/uvcvideo/arch/x86/include/asm/atomic.h:7,
                 from include/linux/atomic.h:5,
                 from include/linux/crypto.h:21,
                 from arch/x86/kernel/asm-offsets.c:9:
/media/kernel/uvcvideo/arch/x86/include/asm/cpufeature.h: In function '__static_cpu_has':
/media/kernel/uvcvideo/arch/x86/include/asm/cpufeature.h:334: error: expected '(' before 'goto'
/media/kernel/uvcvideo/arch/x86/include/asm/cpufeature.h:334: error: expected identifier or '*' before '(' token
In file included from /media/kernel/uvcvideo/arch/x86/include/asm/atomic.h:7,
                 from include/linux/atomic.h:5,
                 from include/linux/crypto.h:21,
                 from arch/x86/kernel/asm-offsets.c:9:
/media/kernel/uvcvideo/arch/x86/include/asm/processor.h: In function 'native_get_debugreg':
/media/kernel/uvcvideo/arch/x86/include/asm/processor.h:501: error: implicit declaration of function '__builtin_unreachable'
make[1]: *** [arch/x86/kernel/asm-offsets.s] Ошибка 1
make: *** [prepare0] Ошибка 2


"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено letsmac , 11-Ноя-11 19:54 
__builtin_unreachable таки Gcc-изм. Что вы хотели?  

"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено Аноним , 11-Ноя-11 15:50 
> Блин, он кроме Hello World ченить умеет компилить?!

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


"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено gs , 11-Ноя-11 20:26 
Если сразу ставить перед собой задачу делать переносимый код, то все прекрасно работает.

Наши программы (на C++, технические числодробилки консоль/GUI на Qt) штатно компилируются gcc, icc, open64 и visual C++.


"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено pavlinux , 11-Ноя-11 21:57 
> Если сразу ставить перед собой задачу делать переносимый код, то все прекрасно
> работает.
> Наши программы (на C++, технические числодробилки

Ёпть, складывать и калькулятор умеет



"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено gs , 12-Ноя-11 13:04 
Так вы как раз из тех, кто хочет ядро компилить, только лишь написав "# make CC=opencc"? ;)

Open64 (как и другие названные компиляторы) прекрасно работает у тех, кто желает и УМЕЕТ делать программы САМ.

А для остальных есть готовые "калькуляторы" из коробки ;)



"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено pavlinux , 12-Ноя-11 17:23 
> Так вы как раз из тех, кто хочет ядро компилить, только лишь
> написав "# make CC=opencc"? ;)
> работает у тех, кто желает и УМЕЕТ делать программы САМ.

Вот вам делать нех...я, сидите и делайте, а мне этот онанизм не оплачивают.


"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено trader2k4 , 14-Ноя-11 20:45 
Вот он, звериный оскал нынешнего линуксоида - "сам программировать не умею, но других обосрать не забуду" :(

"Увидел свет оптимизирующий свободный компилятор Open64 5.0"
Отправлено pavlinux , 14-Ноя-11 21:13 
> Вот он, звериный оскал нынешнего линуксоида -

Это с 1991 до 2000 изучали каждый байтик.
Время ушло, альтернатив на рынке и халявных немерено.
Сейчас никто не будет допиливать то, что должно быть в первую очередь.
Более того, ради сомнительных наносекунд, для непортабильного бинарника.
И говорю же, бабло решает. Клиент захочет софтну с 8-ю видами оптимизаций,
как например у Maple библиотека ATLAS:

ATHLON641024SSE2
ATHLON641024SSE2_2
ATHLON641024SSE3
ATHLON641024SSE3_2
P4EM64TSSE3
X8664SSE2

Так за 2,845.00$ под все известные процы оптимизируем, жопу полижем, и спасибо скажем.

> "сам программировать не умею, но других обосрать не забуду" :(

Ты в своём дистрибутиве все баги сам, руками исправляешь?! Вот тогда сиди и не пи...ди.