The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

10.11.2011 20:03

Компилятор Open64 для языков C, C++ и Fortran, разрабатываемый при поддержке компании AMD, обновился до версии 5.0 и теперь включает в себя более полную поддержку стандарта языка C, архитектуры IA64 и множество оптимизаций, направленных на улучшение быстродействия приложений, собранных для процессоров серии AMD Bulldozer.

Основной упор при подготовке релиза был сделан на оптимизирующую функциональность компилятора. Добавлено несколько новых методов оптимизации, расширены существующие. Появились новые способы развертывания циклов и преобразований if-конструкций. Компилятор теперь более интеллектуально обращается со структурами, избегая их слишком частого копирования. Появилось множество улучшений движка векторизации и несколько методов оптимизации кода C++. Появилась функция оптимизации указателей фрейма. Улучшена скорость обработки чисел с плавающей точкой при указании флага '-O3'.

Отдельно отмечаются улучшения в поддержке наборов инструкций SSE 4.x, AVX, и FMA, которые должны повысить скорость работы приложений на процессорах серии AMD Bulldozer, таких как, например, AMD FX-8150. Также начиная с этого релиза поддержка операционной системы IRIX, а также совместимость с GCC 3-ей версии объявлены устаревшими.

Open64 был разработан компанией SGI для процессора MIPS R10000, но в 2000 году стал открытым проектом, развиваемый университетом штата Дэлавер, а также коммерческими организациями, такими как HP и AMD. Компилятор поддерживает генерацию кода с языков Fortran 77/95 и C/C++ для процессорных архитектур CISC, RISC, VLIW и GPU, включая IA-32/x86-64, MIPS, IA-64 и CUDA. Основной упор в разработке делается на оптимизирующую функциональность, благодаря чему в некоторых ситуациях произведенные им бинарные файлы оказываются быстрее аналогов, скомпилированных с помощью GCC и LLVM/Clang.

Второе достоинство компилятора в лицензии GPLv2, благодаря которой он пользуется популярностью среди компаний, для которых ограничения GPLv3 оказались неприемлемыми. По состоянию на 2010 год Open64 использовался в таких организациях как Absoft, AMD, HP, Nvidia, Tensilica, Китайский университет наук, Университет Хьюстона и многих других. AMD также развивает собственную версию компилятора Open64, содержащую улучшения в поддержке многоядерных процессоров архитектуры x86.



  1. Главная ссылка к новости (http://www.open64.net/news/sin...)
  2. OpenNews: Компания PathScale открыла под лицензией GPL высокопроизводительные GCC-совместимые компиляторы EKOPath
  3. OpenNews: Релиз набора компиляторов LLVM 2.9
  4. OpenNews: Релиз компилятора PCC 1.0.0, распространяемого под лицензией BSD
  5. OpenNews: Представлен свободный компилятор CUDA-приложений для многоядерных x86-процессоров
Автор новости: Evgeny Zobnin
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/32275-compiler
Ключевые слова: compiler, amd, open64, gcc
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (42) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, nevar (ok), 20:40, 10/11/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    реквестирую сравнение производительности числодробильных прог, скомпиленных сабжем, gcc и icc.
     
     
  • 2.4, Аноним (-), 21:02, 10/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Как минимум с гцц и шлангом недавно сравнивал фороникс. На паре тестов он реально порвал на амдшном проце остальных. Правда в отместку он под интел вообще не смог родить рабочие бинари, равно как не смог собрать некоторые тесты.
     
     
  • 3.6, Клыкастый (ok), 21:07, 10/11/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    АМД дааа... Так не любить конкурентов... ай-ай-ай...
     
     
  • 4.9, Аноним (-), 21:21, 10/11/2011 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Это они отомстили интелу за хреновую оптимизацию под амд в icc :D
     
     
  • 5.10, Клыкастый (ok), 22:22, 10/11/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Это они отомстили интелу за хреновую оптимизацию под амд в icc :D

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


     
     
  • 6.15, Аноним (-), 23:46, 10/11/2011 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Поэтому они так и будут собирать gcc, он для обоих собирает ;)
     
     
  • 7.21, Boboms (ok), 15:40, 11/11/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А может целесообразно включить упомянутые "блоки оптимизации" из icc и open64 непосредственно в gcc?
     
     
  • 8.22, Аноним (-), 15:48, 11/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    На этом пути ожидается несколько грабелек 1 А, гм, icc - как ни странно пропри... текст свёрнут, показать
     
     
  • 9.30, me (??), 17:23, 11/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    ну речь то, вообще, про оптимайзер, у вас и сейчас код скомпилированный с march ... текст свёрнут, показать
     
     
  • 10.36, Аноним (-), 22:42, 11/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Логично - у i7 вроде как есть новые команды Кор2 их не поймет ... текст свёрнут, показать
     
  • 9.42, Клыкастый (ok), 19:03, 17/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    source-based даже и не встретят такой проблемы на пути от исходников к бинарника... текст свёрнут, показать
     

  • 1.2, Андрей (??), 20:43, 10/11/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ввиду выхода c++11 интересно было бы, в каком состоянии находится его поддержка у open64.
     
     
  • 2.14, pro100master (ok), 23:08, 10/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    они только Си допилили, а вы уже про какой-то футуристический С++11 :)
     

  • 1.3, Аноним (-), 20:53, 10/11/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > Второе достоинство компилятора в лицензии GPLv2

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

     
     
  • 2.5, Аноним (-), 21:02, 10/11/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> Второе достоинство компилятора в лицензии GPLv2
    > Не достоинство, а жирный недостаток.

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

     
  • 2.8, A.Stahl (?), 21:15, 10/11/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >в лицензии GPLv2

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

     
  • 2.18, filosofem (ok), 09:52, 11/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    да, GPLv3 было бы лучше.
     
  • 2.25, Аноним (-), 16:19, 11/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> Второе достоинство компилятора в лицензии GPLv2
    > Не достоинство, а жирный недостаток.

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

     
     
  • 3.27, Аноним (-), 16:56, 11/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Специально для Вас сделали clang.

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

     

  • 1.7, Аноним (-), 21:07, 10/11/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Лучше бы для gcc патчи сделали.
     
     
  • 2.12, Анон (?), 22:29, 10/11/2011 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Лучше бы сам что-нибудь полезное сделал.
     

  • 1.11, Аноним (-), 22:29, 10/11/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Вот когда он ядро собрать сможет, тогда и посмотрим.
     
     
  • 2.13, Аноним (-), 23:06, 10/11/2011 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Сможет тогда, когда разработчики ядра будут писать на С.
     
  • 2.16, Аноним (-), 23:46, 10/11/2011 [^] [^^] [^^^] [ответить]  
  • +6 +/
    в BSD kernel/userland всю собирает. А все потому что пишут на ANSI C, а не на GCC-specific-C-like-language
     
     
  • 3.20, alexr (??), 11:11, 11/11/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ядро Линукса соответствует ISO "C" 99. и в GCC новые стандарты C обкатываются. Из специфичных GCC расширений это констрейны для inline ассемблера, но без них просто невозможно генерировать оптимальный переносимый код.
     
     
  • 4.24, Andrew Kolchoogin (?), 16:17, 11/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Да?
    А ну-ка, умник, собери-ка его с -std=c99 -W -Wall -Wextra -Werror -pedantic -pedantic-errors
    А мы над тобой поржём. Всем, так сказать, коллективом.
     
     
  • 5.28, Аноним (-), 17:13, 11/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > А мы над тобой поржём. Всем, так сказать, коллективом.

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

     
  • 5.31, pavlinux (ok), 19:14, 11/11/2011 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А чё, флаги компилятора уже описаны в стандартах?
    Ну кроме -c, -o, -E, -s ... и то вряд ли.
     
     
  • 6.39, Мужик32 (ok), 01:47, 13/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Ты это к чему, умник?
     
  • 4.26, Аноним (-), 16:22, 11/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Да ну?
    Возьмите последнее ядро (3.0.8), посмотрите, к примеру, mm\memory.c(1671).
    Это что ли C99?
    И подобного добра там навалом.
     
     
  • 5.29, Аноним (-), 17:13, 11/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Возьмите последнее ядро (3.0.8),

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

     

  • 1.17, pavlinux (ok), 01:04, 11/11/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Блин, он кроме Hello World ченить умеет компилить?!
    Ща народ уже не тот пошёл, если оно не умеет компилить ядро, только лишь написав

    # make CC=opencc

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

     
     
  • 2.19, anonymous (??), 10:27, 11/11/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    не говорил бы за всех....
     
     
  • 3.32, pavlinux (ok), 19:17, 11/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Вы собрали с его помощью ядро или firefox HOWTO можно вот эта, http svn o... большой текст свёрнут, показать
     
     
  • 4.33, letsmac (ok), 19:54, 11/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    __builtin_unreachable таки Gcc-изм. Что вы хотели?  
     
  • 2.23, Аноним (-), 15:50, 11/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Блин, он кроме Hello World ченить умеет компилить?!

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

     
  • 2.34, gs (?), 20:26, 11/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Если сразу ставить перед собой задачу делать переносимый код, то все прекрасно работает.

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

     
     
  • 3.35, pavlinux (ok), 21:57, 11/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Если сразу ставить перед собой задачу делать переносимый код, то все прекрасно
    > работает.
    > Наши программы (на C++, технические числодробилки

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


     
     
  • 4.37, gs (?), 13:04, 12/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Так вы как раз из тех, кто хочет ядро компилить, только лишь написав "# make CC=opencc"? ;)

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

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


     
     
  • 5.38, pavlinux (ok), 17:23, 12/11/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Так вы как раз из тех, кто хочет ядро компилить, только лишь
    > написав "# make CC=opencc"? ;)
    > работает у тех, кто желает и УМЕЕТ делать программы САМ.

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

     
     
  • 6.40, trader2k4 (?), 20:45, 14/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Вот он, звериный оскал нынешнего линуксоида - "сам программировать не умею, но других обосрать не забуду" :(
     
     
  • 7.41, pavlinux (ok), 21:13, 14/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот он, звериный оскал нынешнего линуксоида -

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

    ATHLON641024SSE2
    ATHLON641024SSE2_2
    ATHLON641024SSE3
    ATHLON641024SSE3_2
    P4EM64TSSE3
    X8664SSE2

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

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

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


     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру