LINUX.ORG.RU

icc compiler нужен ли?

 


1

1

Есть много математических вычислений. Выполняются исключительно на одном intel процесоре. Используются либы openCV, SDL, config++, thread, ipp. Вопрос: будет ли какой прирост производительности, если с gcc перейти на интеловский компилятор? На лоре много подобных тем, но они уже с большим сроком давности и в них все ругаются на несобираемость отдельных библиотек.



Последнее исправление: cetjs2 (всего исправлений: 1)

Если ты прочитал предыдущие темы и так ничего и не понял, то, очевидно, что тебе icc не нужен.

AF ★★★
()
Ответ на: комментарий от AF

все-таки надо попробовать.... установил и почти скомпилил. Со всеми либами норм, кроме OpenCV. Кто-нибудь знает, как решить проблему?

/usr/include/opencv2/flann/lsh_index.h(89): error: no instance of constructor «cvflann::LshIndexParams::LshIndexParams» matches the argument list LshIndex(const Matrix<ElementType>& input_data, const IndexParams& params = LshIndexParams(), ^

compilation aborted for core/video/capture/avifile/aviproc.cpp (code 2) make: *** [core/video/capture/avifile/aviproc.o] Ошибка 2

Burns
() автор топика

Кому-то, возможно, нужен.

Eddy_Em ☆☆☆☆☆
()

Скромный тест проведен... В случае без использовния Intel IPP прирост около 16% по времени, с использованием ее - 11%. Но это скомные задачи на 4 мсек. В будущем надо проверить что-то более сложное, может и будут весомые различия

Burns
() автор топика

я знаю чела он IPP юзал (и меня принуждал) - он добивался многократного прироста производительности на тупых но очень длительных операциях типа копирования или разбиения массива на несколько (точно не помню, не сложные алгоритмы а просто кач данных)

но я думаю там просто ассемблерные оптимизиации на параллельность, не думаю что это недостижимо на других компиляторах, просто в IPP это уже сделали

например, я открыл для себя turbojpeg однажды (собрано GCC обычным) - скорость в 4 раза выросла, а ведь это не ICC а просто GCC

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Да! верно говоришь. Правда в моих задачах прирост раза в 2 с использованием IPP, а не в 4. Все-таки, насчет компилятора сделал выводы: если будет такая острая необходимость впихнуть еще какой-нибудь обработчик в достигнутый предел процессорного времени, тогда придется icc применять, а так, 10-15% пока особой роли не играют... и ругается тот на все, что видят(((

Burns
() автор топика

Священные войны)

После выхода 4-х версий gcc, наблюдаются только бешенная зависть конкурентов и выкрики, что точно на следующей версии они заткнут его за пояс. Потрать время, подбери нужные ключи компиляции. Нас горячо убеждали, что шланг 3.1 уже будет рвать gcc как «тузик грелку». Вышел 3.2.. И? Ни тот ни другой даже близко не уперся.

icc неплохой компилятор, но требует использования своих библиотек. gcc же нужно более тщательно настраивать под Вашу архитектуру, тогда будет как минимум не хуже.

glibych ★★
()
Ответ на: Священные войны) от glibych

GCC как бэкэнд (или фронт? не важно) для LLVM - в некоторых случаях рвет просто GCC

но шланг и LLVM более модульное, развиваемое, перспективное направление...

I-Love-Microsoft ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.