Код Thrust возвращает разные результаты при компиляции с бэкэндом OpenMP - PullRequest
0 голосов
/ 14 октября 2019

Я испытываю в Windows 10 ситуацию, в которой один и тот же код, либо скомпилированный с бэкэндом CUDA 9.2 (с использованием nvcc с cl.exe), либо скомпилированный с бэкэндом OpenMP (с использованием g++, предоставленным MinGW), возвращаетчисленные результаты. CUDA один правильный, в то время как в OpenMP есть несколько неработающих примеров.

Сейчас я не могу сказать, что происходит, а также не могу найти подобную ситуацию в Интернете, но я уверен, что этопотому что я делаю что-то глупое.

Я пытаюсь сгенерировать приличный изолированный код прямо сейчас, но, пожалуйста, есть ли ошибки новичка, которые могут вызвать такие ошибки?

1 Ответ

1 голос
/ 14 октября 2019

В итоге проблема заключалась в том, что у моего функтора были внутренние переменные, которые вызывали скачки данных в OpenMP, но не в CUDA. Позор мне.

...