Piglit是用来测试OpenGL实现的自动化测试集合。它的目标是通过为开发人员提供执行回归测试的简单方法来帮助提高开源OpenGL驱动程序的质量。它包含Glean测试,一些从Mesa改编的测试以及一些针对某些bug的特定回归测试。
官方git仓库位于: git://anongit.freedesktop.org/git/piglit
piglit运行的脚本在piglit项目top路径下,所以cmake需要在top路径下运行。
运行测试使用如下命令:
其中sanity是指定运行的测试集,results/sanity指定结果存放路径。
piglit中有如下的测试集:
OpenGL 测试集
OpenCL 测试集
Vulkan 测试集
查看上面测试生成的结果使用如下命令:
将会在 summary/sanity/ 目录下生成一个结果的 html 文件:
测试结果会包含的状态如下:
OpenCL是GPU通用运算API。是显卡作通用浮点运算的API。比如视频转码,原来这个工作都是CPU来做的。现在显卡运算能力比较强,这个工作完全可以交给显卡来做。
要调用显卡,这个工作不需要再由程序员考虑了,因为已经有一个现成的接口了,程序员只要管好转码的算法,然后直接调用OpenCL中现成的指令,这个工作就自动由CPU转交到GPU了。
OpenCL是一个为异构平台编写程序的框架,此异构平台可由CPU,GPU或其他类型的处理器形成。OpenCL由一门用于编写kernels (在OpenCL设备上运行的函数)的语言(基于C99)和一组用于定义并控制平台的API组成。OpenCL提供了基于任务分割和数据分割的并行计算机制。
OpenCL类似于另外两个开放的工业标准OpenGL和OpenAL,这两个标准分别用于三维图形和计算机音频方面。OpenCL扩展了GPU用于图形生成之外的能力。OpenCL由非盈利性技术组织Khronos Group掌管。
扩展资料
API之主要目的是提供应用程序与开发人员以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。提供API所定义的功能的软件称作此API的实现。API是一种接口,故而是一种抽象。
应用程序接口(英语:Application Programming Interface,简称:API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定。由于近年来软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的维护性和扩展性。[1]
参考资料来源 OpenCL_百度百科
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)