微软近日开源了 TensorFlow-DirectML 项目,它是 Tensorflow 的一个分支,利用 DirectML 在 Windows 10 和 WSL 上提供硬件加速。

DirectML 是微软计划为 WSL2 提供的两种 GPU 计算功能之一。它本身能够通过广泛支持的硬件和驱动程序为常见的机器学习任务提供 GPU 加速,包括来自 AMD、Intel、NVIDIA 和 Qualcomm 等供应商的所有支持 DirectX 12 的 GPU。

今年六月份,WSL2 已达到了对 GPU 的初始支持,其中就包括对 DirectML 的支持。当时,微软发布了带有 DirectML 后端的 TensorFlow 预览包,而这次开源的 TensorFlow-DirectML 是一个完整的 Tensorflow 分支。

微软高级程序经理 Clarke Rahrig 等人表示,TensorFlow-DirectML 扩展了 TensorFlow 的范围,DirectML 的加入使其超越了原有的 GPU 支持。

“机器学习工作负载通常涉及大量计算,尤其是在训练模型时。诸如 GPU 之类的专用硬件通常用于加速这些工作负载。TensorFlow 可以同时利用 CPU 和 GPU,但其 GPU 加速仅限于特定于供应商的平台,这些平台对 Windows 的支持及其用户的各种硬件范围都各不相同……而 DirectML 能够通过提供数学运算的高性能实现来扩展平台……这不仅扩展了 TensorFlow 在 Windows 上的 GPU 覆盖范围,而且还适用于 WSL,用户可以使用任何 DirectX 12 GPU 在 Windows 或 WSL 环境中运行或训练其 TensorFlow 模型。”

根据微软的介绍,DirectML 后端与 TensorFlow 集成,其新的内核集建立在 DirectML API 之上,而不是像现有的 CPU 和 GPU 内核一样基于 Eigen 源代码构建。二者的集成涉及到设备运行时(device runtime)的概念,设备运行时负责管理设备内存、在主机之间复制 tensors,记录 GPU 命令以及安排和同步在主机/CPU 和设备时间轴上发生的工作。下图显示了该设备运行时的一些关键组件,以及它与 DirectX 平台的接口方式:

  • DmlDevice:实现 TensorFlow 的“设备”类,并最终管理所有与设备相关的功能
  • DmlKernelWrapper:实现 TensorFlow 的“OpKernel”接口,该接口允许特定于设备的操作员实现
  • DmlKernel:通过调用 DirectML 提供 TF 运算符的具体实现
  • DmlKernelManager:缓存 DmlKernel 实例以避免在可能的情况下重新编译 DirectML 运算符
  • DmlAllocator:管理支持 TensorFlow tensors 的 GPU 缓冲区
  • DmlExecutionContext:调度在 GPU 上的工作,例如执行运算符或复制内存

TensorFlow-DirectML 在本机 Win32 和 WSL 上均可使用。更多详情可查阅微软的介绍文章。

微软开源 TensorFlow-DirectML,为 WSL2 提供 GPU 支持相关推荐

  1. 微软IE9开发者预览版提供下载 支持HTML5

    北京时间3月17日早间消息,据国外媒体报道,微软3月16日开始提供IE9浏览器首个开发者预览版的下载,下载网址为www.IETestDrive.com. IE9平台预览版并不包含IE9用户界面,仅仅提 ...

  2. 一文看懂 TensorFlow 2.x / keras 安装与GPU支持

    目录 安装概述 pip 软件包 硬件要求 软件要求 其他安装方法 安装步骤 确定版本 下载安装 检查 GPU配置 不使用GPU 渐进式的使用显存 其他问题 找不到GPU CPU不支持avx2 参考 在 ...

  3. linux gpu 虚拟化_Windows 10通过GPU支持获得图形化Linux应用

    linux gpu 虚拟化 Larry Ewing 拉里·尤因 Windows 10's Windows Subsystem for Linux is already extremely powerf ...

  4. 【干货】快速部署微软开源GPU管理利器: OpenPAI

    介绍 不管是机器学习的老手,还是入门的新人,都应该装备上尽可能强大的算力.除此之外,还要压榨出硬件的所有潜力来加快模型训练.OpenPAI作为GPU管理的利器,不管是一块GPU,还是上千块GPU,都能 ...

  5. TensorFlow 1.0 正式发布;微软开源无人机虚拟训练平台 AirSim | AI开发者头条

    TensorFlow 1.0  正式发布! 在昨晚揭幕的 TensorFlow 开发者峰会上,谷歌正式发布了 TensorFlow 1.0 版本.新版本带来三大主要优化: 大幅提升的运算速度,尤其是对 ...

  6. 微软开源Citus企业版全部功能:提供分布式Postgres数据库功能

    6 月份时,CitusData 推出了 Citus 11.0,并宣布将所有企业版的特性进行开源.Citus 是 PostgreSQL 的一个扩展,将 Postgres 转变为分布式数据库,用户可以在任 ...

  7. 基于微软开源深度学习算法,用 Python 实现图像和视频修复

    ‍‍ 作者 | 李秋键 编辑 | 夕颜 出品 | AI科技大本营(ID:rgznai100) 图像修复是计算机视觉领域的一个重要任务,在数字艺术品修复.公安刑侦面部修复等种种实际场景中被广泛应用.图像 ...

  8. 解读微软开源MMLSpark:统一的大规模机器学习生态系统

    AI前线导读:目前,有很多深度学习框架支持与Spark集成,如Tensorflow on Spark等.然而,微软开源的MMLSpark不仅集成了机器学习框架(CNTK深度学习计算框架.LightGB ...

  9. 微软开源自动机器学习工具 – NNI安装与使用

    微软开源自动机器学习工具 – NNI安装与使用 NNI的众多特点 开启你的第一次NNI之旅 · 安装 · 三步准备实验 (1) 准备搜索空间 (2) 准备实验代码 (3)定义实验配置 · 一行命令开始 ...

最新文章

  1. 机器人“快递小哥”上岗了!京东配送机器人编队长沙亮相
  2. SHOI2014 三叉神经树
  3. 如何0代码、快速定制企业级NLP模型?百度技术大咖在线解析,可报名
  4. tomcat8启动慢
  5. C# 8.0 默认接口实现
  6. boot gwt_带Spring Boot的GWT
  7. matlab显示曲线图中某个点的坐标值
  8. CButton按钮添加图片 Bitmap Icon
  9. 并发编程的数据竞争问题以及解决之道
  10. linux r后台执行,screen 命令简单用法 Linux后台执行 就用它
  11. 筛选法建立初始堆_学术简报|基于库仑效率的退役锂离子动力电池储能梯次利用筛选...
  12. angular js的元素指令
  13. Atitit refact art 重构的艺术 目录 1. Concept 1 1.1. Bp 1 2. Prob 2 3. Tool 2 1.Concept 1. legacy code遗留代
  14. 【SPOJ:FAVDICE】Favourite Dice(概率dp)
  15. python如何调用hslcommunication_C#读写PLC数据问题
  16. Android5.0更新内容简介
  17. WPF 做的天干地支 乾坤八卦时钟表盘 可以设置24小时制
  18. “目标-用户-指标”——企业开源运营之道|瞰道@谭中意
  19. OkHttp3源码详解(四)缓存策略,万分膜拜
  20. 软件工程--总体设计过程详解

热门文章

  1. 2017年12月计算机一级c,2017年12月计算机二级《C语言》强化模拟题(1)
  2. linux磁盘iops限制,linux – 我需要多少IOPS?我的工作量瓶颈是存储
  3. android 禁用dlsym_一个绕过移动端系统限制的dlopen库: byOpen
  4. 素材网站|设计师下半年的工作流程至少减少了一半...
  5. 感恩节(美食火鸡大餐)PNG免扣素材 总有一款你用得上
  6. 设计素材|C4D别高质量模型包
  7. 潮流渐变色彩的UI插画素材,吸睛没毛病
  8. java 弹窗选择_如何在java中点击button弹出一个选择框
  9. windows 启动exe程序前注入dll(c++)
  10. shell获取文件扩展名(前缀,后缀)