Ну, я немного нащупал, а затем попробовал следующее: Я скомпилировал программу, используя опцию -O0 (без оптимизации), и получил ускорение почти на 2 почти для всех значений XYZ. Я также мог видеть, что на моем двухъядерном процессоре используются 2 потока (ранее он использовал только один).
Но теперь, когда я удаляю прагмы OpenMP, я не вижу ускорения, это беспокоит меня, потому что SSE должен быть в состоянии значительно ускорить процесс. Так что это ускорение может быть полностью приписано OpenMP, нужно выяснить, почему SSE дает сбой. Кто-то сказал мне, что, если операции тривиальны (возможно, вес, который это слово выдвигает, является спорным, так как оно отличается от человека к человеку), использование SSE не ускоряет работу. Но я написал небольшую программу, которая вычисляет sqrt (i) / i для i_max_size = 64000 ..... и версия SSE дала ускорение 3,5 ~ 4,0.
Я бы написал больше, как только я найду основную причину.