说下深度学习框架的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. kettle从入门到精通 第三十八课 kettle 分页全量同步(数据量大)

    1.上一课我们学习了在数据量小的情况下的全量同步示例,本次我们一起学习下kettle 分页全量同步. 2.kettle分页全量同步示例依然基于test数据库,从t1表全量同步数据到t2表,由于t1表的 ...

  2. 用CSS3绘制iPhone手机

    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解` 用CSS3绘制iPhone手机 日期:2017-7-3 阿 ...

  3. 社会工程学——进行IP追踪

    如果目标对象有一个公开的邮箱,可以往这个邮箱地址发试探性的Email,然后看看该邮件是否有[回信],从而了解对象是否在线.(注:这招是社会工程学的基本伎俩) 说一个稍微高级点的邮件技巧--[不依赖回信 ...

  4. 04-Python文件操作

    打开文件 f=open("我的文件.txt","r",encoding="utf8") #打开一个文件(读模式) f.close() #关闭 ...

  5. 03-CSS初步介绍

    01 CSS编写规则 1.1 内联样式 <!DOCTYPE html> <html lang="en"> <head> <meta cha ...

  6. 基于NXP i.MX 8M Mini开发板规格书(四核ARM Cortex-A53 + 单核ARM Cortex-M4,主频1.6GHz)

     1 评估板简介 创龙科技TLIMX8-EVM-B是一款基于NXP i.MX 8M Mini的四核ARM Cortex-A53 + 单核ARM Cortex-M4异构多核处理器设计的高性能评估板,由核 ...

  7. wireshark常用过滤指令

    前言 wireshark是一款高效且免费的网络封包分析软件,现就自己使用过的过滤表达式进行记录,随时更新. 正文 与.或.非指令 与:and && 示例:tcp and ip.src ...

  8. Java常见问题-多线程

    现在有 T1.T2.T3 三个线程,你怎样保证 T2 在 T1 执行完后执行,T3 在 T2 执行完后执行? 这个多线程问题比较简单,可以用 join 方法实现. 在 Java 中 Lock 接口比 ...

  9. 洛谷·P1130

    #include<iostream> #include<utility> using namespace std; typedef long long ll; #define ...

  10. Luogu P2036 [COCI2008-2009 #2] PERKET

    今天我们来看一道题:Luogu P2036 [COCI2008-2009 #2] PERKET 这道题不难,典型的暴力枚举 由于食材数量随机,无法直接用循环解,但是可以使用递归 \(MY_{CODE: ...