在内核中可以使用OpenGL吗?

我可以在Linux内核中使用OpenGL吗? 也就是说,我想提高一些代码的性能,所以使用GPU会对另一个驱动程序有好处。 可以肯定的是,GPU将固定在内核将要构build的机器上。

对不起,如果我听起来天真,我只是想得到一个总的情况。

谢谢!

不,你不能,最大的原因是你不能在内核中使用浮点数学。 除此之外,从内核访问这样的驱动程序是一个非常糟糕的主意。 我不知道内核是否甚至能够链接到一个用户模式库(libGL.so或libOpenCL.so)。

OpenGL是用来在屏幕上显示3D的,我真的不知道你要在内核中以何种方式使用它。

如果你的意思是使用GPU的计算能力进行一些计算,我认为在内核的某些部分是可行的,但是我怀疑这是否值得这样做。

  • GPU不能像你想象的那样工作。
  • 你想加速什么? 只是一些标准的计算? 内核代码不会比用户空间代码运行得更快! 其实有些东西更慢。
  • 你知道,甚至在内核中使用浮点单元(FPU)也是非常平凡和不鼓励的。
  • GPU计算不是一个神奇的子弹。