OpenCL Simple Hello World! программа компилируется правильно, но при выполнении выдает мусор

Как следует из названия, я дословно скопировал файлы hello.cl и hello.c из онлайн-книги Fixstar по OpenCL по адресу http://www.fixstars.com/en/opencl/book/OpenCLProgrammingBook/first-opencl-program.html и не может получить правильный вывод.

Я компилирую программу, используя gcc -lOpenCL hello.c -o hello.

Я нормально выполняю с ./hello.

Но мой вывод выглядит примерно как ���.

Я запускаю Arch Linux и установил OpenCL, заголовки и реализацию NVIDIA. Я хотел бы продолжить изучение OpenCL, но просто не могу продолжить, если мои программы не будут работать. Есть ли у кого-нибудь идеи о том, что происходит? Кроме того, если у кого-то есть совет, как это отладить, я был бы безмерно счастлив.

РЕДАКТИРОВАТЬ: я использовал драйверы Nouveau вместо драйверов Nvidia. Nouveau не поддерживает OpenCL. Это была проблема.


person voxeloctree    schedule 22.05.2012    source источник
comment
Вы предприняли все шаги, необходимые для правильной установки? thebigblob.com/getting-started-with-opencl-and -gpu-computing. Вы смотрели на этот конкретный образец, который предназначен для работы в Arch Linux? sublimated.wordpress .com / 2010/07/27 /   -  person Ani    schedule 22.05.2012
comment
Правильно ли работают в вашей системе какие-либо обучающие программы?   -  person mfa    schedule 22.05.2012
comment
Нет, у меня некорректно работает. Я действительно считаю, что правильно выполнил процесс установки, согласно wiki.archlinux.org/index. php / GPGPU для OpenCL, и я действительно видел два сайта, которые вы рекомендовали anathonline (хотя и спасибо), но я считаю, что проблема может заключаться в следующем: реализация Nvidia доступна в extra / opencl-nvidia. Он поддерживает только графические процессоры Nvidia, на которых работает модуль ядра nvidia (nouveau еще не поддерживает OpenCL).   -  person voxeloctree    schedule 22.05.2012
comment
Вы должны добавить это в качестве ответа и принять его, чтобы другие люди могли найти его, когда придут искать. Да, и добавьте в свой вопрос соответствующие теги, такие как arch-Linux, в дополнение к OpenCL, потому что это актуально здесь.   -  person Ani    schedule 23.05.2012


Ответы (1)


Nouveau еще НЕ поддерживает OpenCL. Замените nouveau на nvidia и убедитесь, что libcl, libcl-headers и opencl-nvidia правильно установлены.

person voxeloctree    schedule 23.05.2012