我一直试图摆脱使用OpenCL(在Intel GPU上使用beignet)作为root始终运行应用程序的麻烦。我似乎遇到了一些权限问题。 clinfo似乎显示了相同的权限问题。是否有一些简单的方法来找出需要哪些权限/功能?

当我以普通用户身份从Linux控制台运行clinfo时,将获得以下信息:

drm_intel_gem_bo_context_exec() failed: Invalid argument
/dev/dri/card0 not authenticated
Device open failed, aborting...
error in /home/magnus/lcam-deb/libbeignet-lcam/src/cl_api.c line 298
Invalid device

作为root,它可以正常工作。

如果我以同一用户身份启动X,然后在xterminal中运行clinfo,它也可以正常工作。

最佳答案

对我来说,解决方案是在引导时将drm.rnodes=1传递给内核。我发现该信息隐藏在beignet wiki的“如何运行”部分中。

关于linux - OpenCL : permission (capability) needed to run `clinfo` as non-root,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32432585/

10-12 20:29