VS2008 Express + Intel C++ Compiler

Тема в разделе "WASM.HEAP", создана пользователем InsidE, 10 июл 2009.

  1. W4FhLF

    W4FhLF New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2006
    Сообщения:
    1.050
    Microedition
    Что значит в нём есть? У Intel'a много хороших библиотек, в том числе Math Kernel Library, но они не привязаны в компилеру.

    1nsidE
    Имеется ввиду векторизация вычислений или реальное распараллеливание? Если первое, то MSVC++ умеет. Если второе, то в каком режиме? В автоматическом что ли? MSVC++, как и ICC++, поддерживают OpenMP, где распараллеливание сложных вычислений производится доп. 1-3 строками. С этим проблем не вижу.
     
  2. W4FhLF

    W4FhLF New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2006
    Сообщения:
    1.050
    По поводу Intel MKL и VS: http://software.intel.com/en-us/articles/integrating-a-microsoft-visual-studio-ide-project-with-intel-mkl/
     
  3. W4FhLF

    W4FhLF New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2006
    Сообщения:
    1.050
    В компиляторе от MS тоже есть intristics для SSE.
     
  4. InsidE

    InsidE Member

    Публикаций:
    0
    Регистрация:
    28 май 2009
    Сообщения:
    357
    Адрес:
    Over the hills and far away...
    W4FhLF
    Упс,неккоректно написал,OpenMP имел ввиду тоже,нужно было написать 'больше возможностей для параллельных вычисленний',MS -овский компилер поддерживает только OpenMP 2.0( хотя про VS2010 не знаю ) а Intel -овкий OpenMP 3.0,да и сама Intel пишет

    High Performance Parallel Optimizer (HPO)
    offers an improved ability to analyze, optimize, and parallelize more loop
    nests. This revolutionary capability combines vectorization,
    parallelization, and loop transformations into a single pass which
    is faster, more effective, and more reliable than prior discrete
    phases.

    Multithreaded Application Support
    OpenMP and auto-parallelization allow you to take full
    advantage of multicore technology, including the latest Intel®
    multicore processors.

    плюс всякие распараллененые бибилиотеки,типа MKL
    вот что я имел ввиду
     
  5. W4FhLF

    W4FhLF New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2006
    Сообщения:
    1.050
    Это да, согласен. Хотя лично мне пока 2.0 хватает.

    Я же говорю Math Kernel Library поддерживается и MSVC++ тоже. И не только она, а так же Intel Threading Building Blocks и Intel Integrated Performance Primitives. Насчёт других библиотек не знаю, ибо просто не сталкивался.
     
  6. W4FhLF

    W4FhLF New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2006
    Сообщения:
    1.050
    Без реальных тестов это просто маркетинг.
     
  7. InsidE

    InsidE Member

    Публикаций:
    0
    Регистрация:
    28 май 2009
    Сообщения:
    357
    Адрес:
    Over the hills and far away...
    согласен что без тестов это просто,слова,но если посмотреть на сгенеренный код то этот компилятор имеет много прикольных фич,которые отчасти соответствуют тому что написано.

    P.S.
    А ты случайно не знаеш реальных тестов,а то я нарыл толька эпохи динозавров.
     
  8. MEPOX

    MEPOX New Member

    Публикаций:
    0
    Регистрация:
    15 авг 2008
    Сообщения:
    259
    Intel::Intel C++ Compiler for Linux is substantially standards compliant,
    and includes compatibility with GCC and the GNU* tool chain.
    Вики:К недостаткам компилятора можно отнести несовместимость с компилятором GCC, что может вызвать проблемы при компиляции некоторых программ.
    Кому же из них верить?
     
  9. AsmGuru62

    AsmGuru62 Member

    Публикаций:
    0
    Регистрация:
    12 сен 2002
    Сообщения:
    689
    Адрес:
    Toronto
    Адреса API при циклическом вызове заносились в регистры очень давно (VC++ 6.0 если память не изменяет).
     
  10. Dukales

    Dukales New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2009
    Сообщения:
    199
    Попробовал поставить Intel C plus plus Compiler PE 11.1.054 с установленным Microsoft Visual C++ 2008 Express Edition и потерпел неудачу со следующим сообщением инстоллятора:
    Подскажите пожалуйста у меня не тот процессор? В release notes есть строки:
    Процессор у меня AMD Athlon XP 1833 (2500+) (Barton) с поддержкой наборов инструкций MMX, 3Dnow!, SSE.
    Всё?! Конец? Да?
     
  11. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков
    Dukales
    Нет, не конец. Для некоторых версий был патч, откусываюций эту проверку. Для новых - не знаю. В конце-концов, здесь хакеры или не хакеры? :)
     
  12. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков
    А, блин, может и конец... :dntknw:
    Вполне возможно, что оно SSE2 пользует, а на Бартоне его таки нет...
     
  13. Dukales

    Dukales New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2009
    Сообщения:
    199
    жаль
     
  14. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Dukales
    9-я версия поддерживала P-III и Атлон ХП. Возможно и 10-я.
    Сейчас это железо почти ничего не стоит, нафига его поддерживать в новых версиях, если использование SSE2 ускоряет компиляцию, например.
     
  15. NeuronViking

    NeuronViking New Member

    Публикаций:
    0
    Регистрация:
    29 окт 2004
    Сообщения:
    476
    Адрес:
    где-то в Сиднее
    я точно помню, что интеловский компилер версии 7 делал бинарники значительно лучше чем компилер VS 6.0
     
  16. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    NeuronViking
    по каким параметрам?
     
  17. NeuronViking

    NeuronViking New Member

    Публикаций:
    0
    Регистрация:
    29 окт 2004
    Сообщения:
    476
    Адрес:
    где-то в Сиднее
    Asterix
    скорость
     
  18. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    NeuronViking
    не сомневаюсь что под интеловский проц интеловский компилятор соберет лучший код,
    но код от MS компилера не сильно уступит, причем будет одинаково хорошо работать
    под Интел и АМД процы
     
  19. NeuronViking

    NeuronViking New Member

    Публикаций:
    0
    Регистрация:
    29 окт 2004
    Сообщения:
    476
    Адрес:
    где-то в Сиднее
    Asterix
    я не сравниваю вообще, в среднем, а только лишь помню свой конкретный опыт.
    я тогда занимался обработкой и сжатием графики и разница в скорости была очень ощутимая. интеловский компилер с правильными опциями делал чудеса =)
     
  20. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    Там не на то патч.
    Интеловская RTL при старте проверяет наличие расширений (SSE, SSE2, ...) и устанавливает соответствующие флаги чтобы потом разные ветки кода использовать.
    И при проверке расширений проверяет имя процессора - если не GenuineIntel, то ничего больше не проверяет и считает что у тебя i386.
    Т.е. для процессоров AMD даже при наличии SSE он использоваться не будет.
    Что как бы не очень честно :)
    Потому проверку имени CPU обычно в либах и патчат (где-то готовые патчи валялись).

    У Intel C++ есть как минимум одна фича, которой больше нигде нет.
    Ключами можно задать генерацию нескольких веток кода (к примеру для Core2Duo и i386).
    Т.е. для одной и той же функции компилятор сгенерирует два варианта - один для i386 без расширений, второй для Core2Duo со всякими MMX, SSE и т.д.
    И какую ветку исполнять решается в рантайме по флагам доступных расширений, установленным при старте RTL.
    Бинарник получается больше в размере, но при этом работает как на i386, так и на Core2Duo - при этом на последнем использует все возможности по максимуму.
    И векторизатор в нём лучше чем в студии.
    А в остальном сравнивать надо - всё-таки оба в тройку лучших входят вместе с GCC (IMHO).