Я в очень странной ситуации, когда мой код работает на моем рабочем столе, но падает на удаленном кластере. Я потратил бесчисленное количество раз, проверяя код моего кода на ошибки, запуская его в отладчике, чтобы поймать, что нарушает код, и ищет утечки памяти под valgrind (который оказался чистым - по крайней мере, под gcc).Что означает, когда один и тот же исходный код дает разные ответы в двух разных компиляторах?
В конечном итоге то, что я выяснил до сих пор, заключается в том, что тот же исходный код производит одинаковые на обеих машинах, если я использую один и тот же компилятор (gcc 4.4.5). Проблема в том, что я хочу использовать компилятор Intel в удаленном кластере для улучшения производительности, а также некоторые готовые библиотеки, которые используют intel. Кроме того, я все еще беспокоюсь, что, возможно, gcc пренебрегает некоторыми проблемами памяти, которые попадают в компилятор Intel.
Что это значит для моего кода?
Можете ли вы показать нам какой-нибудь код? Может быть, ошибка очевидна для некоторых из нас. – fredoverflow
Я бы, к сожалению, имел большой проект с несколькими файлами, и я понятия не имею, откуда это может произойти. Есть ли анализатор кода, который может предложить возможные неопределенные действия? – GradGuy
Напишите модульные тесты. –