说下深度学习框架的GPU扩展功能的部分,也就是使用个人定制化的GPU代码编写方式来为深度学习框架做扩展。

深度学习框架本身就是一种对GPU功能的一种封装和调用,但是由于太high-level,因此就会摒弃掉一些原有的GPU底层的编程功能,为此可以使用GPU原始功能的代码来为深度学习编写扩展函数。

我们现在常用的深度学习的核函数最初都是以扩展包的扩展函数来出现的,然后再被合并到深度学习框架的原生代码中的。

使用深度学习框架的核函数太high level,用不到很多GPU的细节功能,但是直接使用GPU的原始编程接口,如:CUDA等等,又会由于编程难度较大,无法通用,因此也就有了介于两者中间的GPU扩展功能的编写封装语言,如pytorch所使用的triton,jax框架为了实现同样的中间水平的GPU扩展功能,就给出了jax-triton,通过在jax中使用jax-triton编写GPU扩展功能的代码,翻译成triton,然后再由triton翻译成CUDA。

与其说这种抽象程度介于深度学习框架和底层CUDA语言中间的triton是一种语言不如说是一种翻译器,或者是转换器。

Triton的文档网站:

https://triton-lang.org/main/getting-started/installation.html

但是,现有的深度学习框架在功能上比较完善的是只有两个,即pytorch和TensorFlow,但是TensorFlow由于逐渐被弃用,所以真正意义上的完善功能的深度学习框架只有pytorch,而其他的深度学习框架也都是处于experimental阶段的。

因此在jax框架中使用jax-Triton也不是被主要支持的,可以说在jax中使用jax-triton功能是需要额外安装pip包的,并且需要各个版本都对应,而anaconda中也并没有对其进行支持。

通过外网的讨论可以知道,jax的jax-Triton基本是不可用的,因为能配置出可用的jax-Triton是极难的。

网址:

https://github.com/google/jax/issues/18603

网址:

https://github.com/NVIDIA/JAX-Toolbox/issues/470

jax框架的 Pallas 方式的GPU扩展不可用的更多相关文章

  1. geotrellis使用(二)geotrellis-chatta-demo以及geotrellis框架数据读取方式初探

    在上篇博客(geotrellis使用初探)中简单介绍了geotrellis-chatta-demo的大致工作流程,但是有一个重要的问题就是此demo如何调取数据进行瓦片切割分析处理等并未说明,经过几天 ...

  2. 爬虫框架存储pymysql方式

    爬虫框架存储pymysql方式# -*- coding: utf-8 -*-import pymysql# Define your item pipelines here## Don't forget ...

  3. 跟着刚哥学习Spring框架--通过注解方式配置Bean(四)

    组件扫描:Spring能够从classpath下自动扫描,侦测和实例化具有特定注解的组件. 特定组件包括: 1.@Component:基本注解,识别一个受Spring管理的组件 2.@Resposit ...

  4. 跟着刚哥学习Spring框架--通过XML方式配置Bean(三)

    Spring配置Bean有两种形式(XML和注解) 今天我们学习通过XML方式配置Bean 1. Bean的配置方式 通过全类名(反射)的方式   √ id:标识容器中的bean.id唯一. √ cl ...

  5. Hibernate框架的查询方式

    技术分析之Hibernate框架的查询方式        1. 唯一标识OID的检索方式        * session.get(对象.class,OID)    2. 对象的导航的方式       ...

  6. (补充)10.Hibernate框架的查询方式

    技术分析之Hibernate框架的查询方式 1. 唯一标识OID的检索方式 * session.get(对象.class,OID) 2. 对象的导航的方式 3. HQL的检索方式 * Hibernat ...

  7. 技术实战:基于 MHA 方式实现 MySQL 的高可用(转)

    转自:http://os.51cto.com/art/201307/401702_all.htm MHA故障转移可以很好的帮我们解决从库数据的一致性问题,同时最大化挽回故障发生后的数据.本文分享了基于 ...

  8. 使用二进制的方式部署 K8S-1.16 高可用集群

    一.项目介绍 项目致力于让有意向使用原生kubernetes集群的企业或个人,可以方便的.系统的使用二进制的方式手工搭建kubernetes高可用集群.并且让相关的人员可以更好的理解kubernete ...

  9. Asp.net 面向接口可扩展框架之数据处理模块及EntityFramework扩展和Dapper扩展(含干货)

    接口数据处理模块是什么意思呢?实际上很简单,就是使用面向接口的思想和方式来做数据处理. 还提到EntityFramework和Dapper,EntityFramework和Dapper是.net环境下 ...

  10. iOS 仿看了吗应用、指南针测网速等常用工具、自定义弹出视图框架、图片裁剪、内容扩展等源码

    iOS精选源码 扩展内容的cell - folding-cell 一个近乎完整的可识别中国身份证信息的Demo 可自动快速... JPImageresizerView 仿微信的图片裁剪 带年月和至今以 ...

随机推荐

  1. ssh练习

    根据要求完成部署 根据如下要求,完成部署过程 1.恢复7.8.9.31.41所有机器的快照 7 8 9 web服务 nginx ​ 172.16.1.xx ​ ​ nfs-31 提供共享文件存储 ​ ...

  2. work02

    第一题: 看程序说答案 int a = 10; int b = 3; int c = a + b;//13 int d = a - b;//7 int e = a * b; //30 int f = ...

  3. Github上优秀的.NET Core开源项目的集合【转】

    一般 ASP.NET Core Documentation - 官方ASP.NET核心文档站点. .NET Core Documentation - .NET Core,C#,F#和Visual Ba ...

  4. 前端使用 Konva 实现可视化设计器(16)- 旋转对齐、触摸板操作的优化

    这一章解决两个缺陷,一是调整一些快捷键,使得 Mac 触摸板可以正常操作:二是修复一个 Issue,使得即使素材节点即使被旋转之后,也能正常触发磁贴对齐效果,有个小坑需要注意. 请大家动动小手,给我一 ...

  5. .NET 认识日志系统-2

    .NET 日志系统2 上一篇文章是将日志打印到控制台,这篇文章将日志写入到文本文件中. 文本日志一般按照日期区分 如何避免文本日志把磁盘撑爆? 限制日志总个数或者总大小 如何避免一个日志文件太大? 限 ...

  6. Android Framework:如何让 App 拿到Power key 值

    Android app:如何让 App 拿到Power key 值 原文(有删改):https://blog.csdn.net/qq_37858386/article/details/10383566 ...

  7. Freertos学习:08-信号量

    --- title: rtos-freertos-08-ipc-semaphore date: 2020-06-23 11:01:12 categories: tags: - freertos - i ...

  8. 新品再袭,比RK3568J降本40%+,瑞芯微最新性价比工业平台-RK3562J

  9. Springboot整合Apollo

    一.Apollo作用 随着程序功能的日益复杂,程序的配置日益增多:各种功能的开关.参数的配置.服务器的地址-- 对程序配置的期望值也越来越高:配置修改后实时生效,灰度发布,分环境.分集群管理配置,完善 ...

  10. 说说你对 SPA 单页面的理解,它的优缺点分别是什么?

    SPA( single-page application )仅在 Web 页面初始化时加载相应的 HTML.JavaScript 和 CSS. 一旦页> 面加载完成,SPA 不会因为用户的操作而 ...