我一直试图摆脱使用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/