빌드하는 컴퓨터의 CPU의 제조사(Intel, AMD)에 따라 프로그램의 실행 결과가 달라진다?

bizzare의 이미지

부동소수점 처리를 비롯해서 Intel과 AMD의 여러 부분이 다르기때문에,

동일한 프로그램이라도 (특히 수치연산 프로그램) Intel CPU에서 실행하느냐, AMD CPU에서 실행하느냐에 따라 결과가 달라진다는 사실은 알고 있습니다.

그런데, 빌드할 때 Intel에서 하느냐, AMD에서 하느냐에 따라
나중에 동일한 컴퓨터에서 실행하더라도 결과가 달라진다는 말을 들었습니다.

하지만 일부러 Intel최적화 옵션이나 AMD최적화 옵션을 쓴것이 아니라면,
결과물은 동일하지 않겠느냐는 것이 제 생각입니다.

이에 관련된 문헌을 찾아보기가 쉽지 않네요.

혹시 이미 조사해보신 분이 계실 것 같아서 문의 드립니다.

즉, A라는 PC가 Intel CPU일 때,

AMD CPU에서 빌드해서 A에서 실행할 때와,
Intel CPU에서 실행해서 A에서 실행할 때, 결과가 다르겠는가, 같겠는가가 저의 질문입니다.

nineye의 이미지


cpu가 동일하다고 가정했을 때도,
특정 언어의 코드를 어셈으로 표현하는 방법은 아주 많습니다.
따라서 이것은 컴파일러가 어떤 표현으로 해석하느냐의 차이이기 때문에, 최적화를 하지 않아도 많은 차이가 있을 것 같네요.
때문에, 단순한 어플에서는 동작이 달라지지 않겠지만,
복잡한 어플일수록 차이가 날 가능성이 많아질 것 같습니다.
_________________________________________________________

nineye's blog

_________________________________________________________

nineye's blog