저는 win32 환경에서 C++ 최적화 프로그램을 실행하고 있습니다. 이 프로그램은 FFTW 및 pthreads에 대해 미리 빌드 된 DLL을 사용합니다.매우 큰 부동 소수점 숫자가 비 결정 성을 일으킬 수 있습니까?
최근에 프로그램이 매우 많은 수와 무한대로 만날 수있는 방식으로 변경되었습니다. 이 변경 이후, 다르게 경량이며 견고한이 시스템은 이상한 증상을 일으키기 시작했습니다. 가장 큰 차이점은 같은 컴퓨터에서 동일한 바이너리를 사용하여 다른 수치 결과를 산출하고 여기 저기에 printf 또는 더미 할당을 추가하는 것입니다 행동을 근본적으로 바꿨다.
가능한 모든 버퍼 오버런, 메모리 할당, 스레딩 문제 (스택 풀 크기를 1로 줄였습니다.), 스택 크기를 두 번 확인했지만 몇 주 동안 검색했지만 아무 것도 발견하지 못했습니다. 변경 전, 프로그램에는 비 결정론이나 안정성 문제가 없었으며 일정 기간 동안 정기적으로 실행됩니다.
문제가 FFTW 모듈에있을 수 있는지 궁금합니다. 아니면 그러한 부동 소수점 불안정성이 큰 숫자에서 유래 할 수 있습니까?
큰 숫자를 사용하고 이전 범위의 숫자가 입력 된 경우 여전히 견고하고 견고한 상태로 실행되는 경우에만이 문제가 발생합니까? 또는 실제로 사용하는 숫자에 관계없이 결정 론적 동작이 전혀 변경되지 않았습니까? –