Здесь были хорошие ответы о возможных вариациях с эффектами компиляции и т. Д., Которые вполне верны; но есть и другие причины ожидать различий. Подобные довольно простые (например, с низкой арифметической интенсивностью) вычисления, как правило, очень чувствительны к пропускной способности памяти; и объем доступной пропускной способности памяти для потока будет зависеть от того, сколько потоков вы запустили. Память настроена одинаково в обеих системах?
Похоже, у i7 860 более высокая тактовая частота, но у E5540 общая пропускная способность памяти выше. Поскольку в случае 2 можно использовать только 4 потока, а в случае 3 можно использовать больше, совсем не сумасшедшим думать, что в случае с 4 потоками тактовая частота выигрывает, а в случае с 8 потоками - повышенная конкуренция памяти ( 8 потоков, пытающихся вытянуть / вытолкнуть значения), подает руку к более высокому диапазону с Xeon.
Возможность сделать это потенциально более сложным связано с тем, что похоже, что вы используете 8 потоков - это системы с двумя сокетами или вы используете гиперпоточность? Это значительно усложняет ситуацию, поскольку гиперпоточность фактически помогает скрыть некоторые конфликты памяти, переключая потоки, когда другой поток застревает в ожидании памяти.
Если вы хотите попытаться определить, играет ли здесь роль ограниченная пропускная способность памяти, вы можете искусственно добавить дополнительные вычисления к задаче (например, умножить exp (sin (a)) на cos (b) * cos (b) или что-то еще), чтобы гарантировать, что проблема связана с вычислениями, исключая одну переменную, когда вы пытаетесь разобраться в сути дела. Компиляция кода в каждой системе с оптимизацией для этой конкретной машины (с -march или -xHost или что у вас) исключает другую переменную. Если гиперпоточность включена, ее отключение (или просто установка OMP_NUM_THREADS на количество физических ядер) избавляет от другой переменной. Как только вы поймете, что происходит в этом упрощенном случае, ослабление ограничений выше одного за другим должно помочь вам понять, что происходит немного лучше.