Я пытаюсь использовать версию устройства Mersenne Twister от cuRAND. Я попытался использовать второй пример в документации API cuRAND:
3.6. Примеры API устройств
Я взял на себя смелость скопировать код в отдельную суть:
curand.cu
Это то, что я получаю при выполнении кода на 9400M (CC 1.1, Mac OS X 10.8) и GTS 250 (CC 1.1, Linux) с CUDA Toolkit 5.5. Использование -arch=sm_20
удаляет только предупреждения, но результат тот же:
$ nvcc curand.cu && ./a.out
./curand.cu(32): Warning: Cannot tell what pointer points to, assuming global memory space
./curand.cu(32): Warning: Cannot tell what pointer points to, assuming global memory space
./curand.cu(32): Warning: Cannot tell what pointer points to, assuming global memory space
./curand.cu(32): Warning: Cannot tell what pointer points to, assuming global memory space
./curand.cu(32): Warning: Cannot tell what pointer points to, assuming global memory space
./curand.cu(32): Warning: Cannot tell what pointer points to, assuming global memory space
Error at curand.cu:93
Как ни странно, на 9600 GT (CC 1.0, Linux) и GTX 570 (CC 2.0, Linux) вроде все работает нормально:
$ nvcc curand.cu && ./a.out
./curand.cu(32): Warning: Cannot tell what pointer points to, assuming global memory space
./curand.cu(32): Warning: Cannot tell what pointer points to, assuming global memory space
./curand.cu(32): Warning: Cannot tell what pointer points to, assuming global memory space
./curand.cu(32): Warning: Cannot tell what pointer points to, assuming global memory space
./curand.cu(32): Warning: Cannot tell what pointer points to, assuming global memory space
./curand.cu(32): Warning: Cannot tell what pointer points to, assuming global memory space
Fraction with low bit set was 0.4999963531494
^^^^ kernel_mtgp_example PASSED
Я бы очень хотел запустить Mersenne Twister на 9400M (желательно от cuRAND). Является ли это возможным? Если да, то что бы вы посоветовали это сделать?
Спасибо!
ОБНОВЛЕНИЕ:
Теперь я также получаю сообщение об ошибке на 9600 GT (Linux):
$ ./a.out
GPUassert: unknown error curand.cu 99
Иногда я получаю следующее (9600 GT, Linux):
$ ./a.out
GPUassert: the launch timed out and was terminated curand.cu 99
Примечание: это может быть вызвано загрузкой компьютера, на котором размещен GPGPU (он не простаивает).
Замечание:
Не работает - 9400M (Mac), 9600GT (Linux), GTS250 (Linux)
Работает на - GTX570 ( Linux)
Все вышеперечисленное работает на CUDA toolkit 5.5.
GPUassert: unknown error ./curand.cu 99
Вот суть моего кода (на случай, если я сделал что-то не так с его упаковкой): код - person dejnon   schedule 11.12.2013Error at curand.cu:93
. Приведенные выше результаты получены на машинах с Linux. Примечание: другие примеры CUDA (например,7_CUDALibraries/MersenneTwisterGP11213
), похоже, работают нормально. - person dejnon   schedule 11.12.2013the launch timed out and was terminated
)? Я постараюсь изменить sampleCount и запустить код через некоторое время. - person dejnon   schedule 16.12.2013