作为大多数人都知道的,与GPU相比,CPU并没有很好地设计来进行浮点运算。我想知道如何在没有任何抽象层或驱动程序的情况下使用GPU的功率。我可以使用汇编语言、C、C++语言编写GPU程序吗?虽然汇编似乎可以帮助我直接访问GPU,但是C/C++可能需要一个中间库(例如OpenCL)来访问GPU。
让我再问你一个问题:如果没有第三方驱动程序,现代GPU的多少能力将暴露给程序员?
让我再问你一个问题:如果没有第三方驱动程序,现代GPU的多少能力将暴露给程序员?
基本上,您需要在Windows或Linux上编写驱动程序。根据您要使用的芯片组,接口可能已经有文档记录。英特尔网站上有大量PDF文档可供参考。但是,这最多只是一个非常复杂的练习,您的代码只能用于那一组硬件。在大多数情况下,仅仅阅读和理解文档就需要花费一些时间,因为“糟糕,它并不是真正的工作方式”,而且如何做这个或那个的操作并没有记录,只有硬件和寄存器。然而,如果您真的想这样做,最好的方法是从Linux上的开源驱动程序开始,针对特定的芯片组进行调整以适应您的需求。总之,除了学习方面,这可能是一个不好的主意。