你的gpu驱动程序不满足_英特尔图形驱动程序现在在Windows/Linux之间共享约60%的代码库...

英特尔今天发布了他们基于Xe-LP微架构的数据中心服务器GPU,初期主要针对高密度、低延迟的Android云游戏和媒体流。对于与英特尔服务器GPU一样令人兴奋的是,一些令人兴奋的英特尔Linux图形驱动细节也被披露出来。

H3C服务器GPU是他们首款面向数据中心的独立GPU。这款首款基于Gen12 Xe-LP的dGPU产品拥有128位的流水线和8GB的LPDDR4内存。H3C型号将四颗英特尔服务器GPU封装在一块四分之三长、全高的PCI Express 3.0 x16 PCB上,可支持100+安卓云游戏用户。每台服务器最多四块英特尔H3C XG310卡是目标配置,即每台服务器共十六块英特尔服务器GPU。英特尔服务器GPU目前已经出货,但价格和供货细节仍然不清楚。

英特尔图形软件工程总监丽莎皮尔斯(Lisa Pearce)在简报会上介绍了他们的Linux图形驱动程序,并为他们的数据中心做准备。她指出,就在两年前,他们只有大约10%的驱动程序代码被跨平台(即Windows和Linux)重用,而他们的Linux驱动程序提供了大约60%的Windows性能。官方也只支持一个发行版。但是现在,随着我们接近2021年,大约有60%的代码重用,Linux性能是Windows的90~100%,并且正在三个主要的企业Linux发行版上进行验证。3D的相对性能大约为90%,这取决于Linux游戏端口的质量,或者如果是原生的,以及其他因素,而计算性能在Windows和Linux之间大致相当。

为了准备英特尔GPU出现在更多的数据中心,英特尔还推出了一个“GPGPU文档”门户网站dgpu-docs.intel.com,中包含有关为不同发行版安装新的/更新的驱动程序、最新的驱动程序版本等信息。在接下来的几个月里,他们的GPGPU文档区应该有更多的资源。

今天宣布的Flipfast项目是改善Linux游戏体验的又一项努力。Flipfast项目用于在虚拟机中运行图形应用程序/游戏,同时利用来宾和主机之间视频内存缓冲区的零拷贝共享来提供“本机”性能。在VMs中运行任务时,数据中心的Intel显卡也利用了此Flipfast技术。

在平台间大约60%的驱动程序代码中,归根结底是英特尔图形编译器(IGC)和媒体/计算组件现在在Windows和Linux之间共享。OpenGL和Vulkan驱动程序以及内核模式驱动程序仍然是独立的代码。最近,他们加大了Linux驱动程序的开发力度,从2018年开始,当他们为数据中心制定GPU计划时,他们开始整合他们以前独立的Linux图形驱动团队,并做出其他根本性的改变来支持他们的Linux。

在跨平台提供更快的性能和更多的代码重用的同时,对于使用IGC的英特尔Mesa驱动程序来说,这有一些影响:Intel Graphics Compiler将成为Mesa的一个新的构建依赖项,Linux发行版需要开始打包它,增加映像的大小。Intel IGC核心二进制文件在Linux桌面ISOs上大约额外压缩了30MB。

04025d7ea0b31c45563a89647973dba2.png 1c201eb51d550b2313964660ab8858af.png a48a349d4a5b14ba05cbac456af37a4c.png 7a7987183d308b862252acb087e3709d.png 18dd7b3724b55d5cd356c822482349dd.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的步骤,可以帮助您开始编写i.mx6 solox的linux gpu驱动程序: 1. 了解i.mx6 solox的GPU硬件架构和工作原理。 2. 阅读i.mx6 solox的GPU手册和文档,以便了解如何在Linux内核中启用GPU和配置GPU驱动程序。 3. 创建一个新的驱动程序或修改现有的驱动程序,以支持i.mx6 solox的GPU硬件。 4. 在Linux内核中注册GPU驱动程序,并确保正确的初始化和绑定GPU驱动程序。 5. 实现GPU的显示功能,并支持GPU的基本操作,如图形渲染、纹理映射等。 6. 可以实现高级的GPU操作,如3D渲染、硬件加速等。 7. 测试和调试GPU驱动程序,以确保其在i.mx6 solox硬件上正确工作。 以下是一个简单的i.mx6 solox的linux gpu驱动程序代码示例,供参考: ```c #include <linux/module.h> #include <linux/kernel.h> #include <linux/init.h> #include <linux/platform_device.h> #include <linux/of.h> #include <linux/of_device.h> static int imx6solox_gpu_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; struct resource *res; void __iomem *regs; int ret; res = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (!res) { dev_err(dev, "failed to get memory resource\n"); return -ENODEV; } regs = devm_ioremap_resource(dev, res); if (IS_ERR(regs)) { dev_err(dev, "failed to remap memory resource\n"); return PTR_ERR(regs); } /* TODO: initialize GPU hardware and register GPU device */ return 0; } static int imx6solox_gpu_remove(struct platform_device *pdev) { /* TODO: deinitialize GPU hardware and unregister GPU device */ return 0; } static const struct of_device_id imx6solox_gpu_match[] = { { .compatible = "fsl,imx6solox-gpu", }, {}, }; MODULE_DEVICE_TABLE(of, imx6solox_gpu_match); static struct platform_driver imx6solox_gpu_driver = { .driver = { .name = "imx6solox-gpu", .of_match_table = imx6solox_gpu_match, }, .probe = imx6solox_gpu_probe, .remove = imx6solox_gpu_remove, }; module_platform_driver(imx6solox_gpu_driver); MODULE_AUTHOR("Your Name"); MODULE_DESCRIPTION("i.mx6 solox GPU driver"); MODULE_LICENSE("GPL"); ``` 该驱动程序使用了Platform设备模型,使用了`devm_ioremap_resource()`函数将GPU的物理内存地址映射到虚拟地址空间,然后初始化GPU硬件并注册GPU设备。您可以在此基础上添加您所需要的GPU硬件操作,以实现完整的GPU驱动程序

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值