Кросс-компиляция для Atom Z510 от Intel i7 - PullRequest
0 голосов
/ 30 марта 2012

Я пишу серверное приложение с большим количеством исходного кода. Компиляция приложения на моем Intel Atom z510 занимает около 15-20 минут и около 2-3 минут на моем Intel i7.

Я очень новичок в кросс-компиляции, как и раньше, я никогда не делал этого. Я не могу найти ссылку на то, как кросс-компилировать на Z510. Я нашел отличную статью о флагах оптимизации для атома здесь . Однако нет описания того, как использовать их на моем компьютере Intel i7 для моего процессора Intel Atom.

Я предполагаю, что все, что скомпилировано на моем i7, будет по умолчанию оптимизировано для моего i7, что приведет к падению производительности на Atom. Будем весьма благодарны за любые советы / поисковые термины / сайты.

Как всегда, большое спасибо заранее.

Редактировать: я использую gcc 4.4. Извиняюсь. (Тот, который поставляется с Ubuntu 10.04)

Constantin

Ответы [ 2 ]

3 голосов
/ 31 марта 2012

Я думаю, что ваше предположение о том, что код, скомпилированный в Atom, автоматически оптимизируется для Atom, неверно.

Даже если вы запрашиваете такое поведение через -march=native -mtune=native, gcc 4.4 не знает, как оптимизировать для Atom.

И код, оптимизированный для Core i7, будет работать медленнее, чем код, скомпилированный на Atom, только если вы передадите эти флаги, чтобы оптимизировать код для Core i7 (который, я думаю, также требует более поздней версии gcc).).Избавление от этих флагов приведет к тому, что компилятор на i7 сгенерирует тот же код, что и на Atom.

1 голос
/ 31 марта 2012

Если вы используете i7 и хотите скомпилировать двоичные файлы, совместимые и оптимизированные для вашего Atom, просто используйте опцию -march=atom для gcc. Созданные двоичные файлы должны работать при условии, что вы используете одну и ту же ОС в обеих системах (это включает в себя согласование 32/64 битности) и присутствуют все необходимые зависимости времени выполнения.

...