Woe는 저입니다. GPU와 CPU에서 동일한 부동 소수점 결과를 보장해야합니다. 좋아, 나는 IEEE가 나를 돌보고 몇 가지 반올림 옵션을 고수 할 좋은 표준을 제공했다는 것을 이해한다. CUDA 부분이 정렬됩니다 (다른 반올림 모드에 대한 내장 함수가 있음). 이것이 바로 동기입니다.C++에서 다른 IEEE 부동 소수점 반올림 모드로 작업
호스트 측 C++ 코드 - 특정 반올림 모드에서 부동 소수점 산술을 수행하려면 어떻게해야합니까? 후드 아래에서 어셈블리를 사용하는 래퍼 함수가 있습니까? 다른 반올림 모드가있는 부동 소수점 프록시 용 클래스 집합이 있습니까?
번역 단위 수준에 대해서도 동일한 질문을하고 있습니다. 번역 단위를 컴파일 할 때 컴파일러 (gcc/clang/MSVC)를 특정 반올림 모드로 기본 설정하려면 어떻게합니까? @AndreasPapadopoulos에서 리드에 따라
는
http://en.cppreference.com/w/cpp/numeric/fenv/FE_round IEEE 반올림 모드는 CPU의 런타임 구성 속성이며, 컴파일시 특정 반올림 모드를 선택할 수 있다고는 생각하지 않습니다. . –
@ AndreasPapadopoulos하지만 http://en.cppreference.com/w/cpp/numeric/fenv/feround를 설정할 수 있습니다 (또는 사용자가 재편성 할 수 없다는 것을 알아 내십시오). – StoryTeller
@StoryTeller 예, 근본적으로 무엇입니까? 위의 내 코멘트에 링크되어 있습니다. –