首页 > 其他分享 >Jax框架:通过显存分析判断操作是否进行jit编译

Jax框架:通过显存分析判断操作是否进行jit编译

时间:2024-01-19 15:38:13浏览次数:36  
标签:显存 jnp Jax jax 编译 jit memory

相关:

https://jax.readthedocs.io/en/latest/device_memory_profiling.html



代码:

import jax
import jax.numpy as jnp
import jax.profiler

def func1(x):
  return jnp.tile(x, 10) * 0.5

def func2(x):
  y = func1(x)
  return y, jnp.tile(x, 10) + 1

x = jax.random.normal(jax.random.PRNGKey(42), (1000, 1000))
y, z = func2(x)

z.block_until_ready()

jax.profiler.save_device_memory_profile("memory.prof")

显存分析的示意图:

image


jax.random.normal 操作,经过jit编译:

image



image




jnp.tile 操作,不经过jit编译:

image



标签:显存,jnp,Jax,jax,编译,jit,memory
From: https://www.cnblogs.com/devilmaycry812839668/p/17974752

相关文章

  • Ajax(千锋)
    目录Ajax技术一.初识前后端交互AJAX的优势二.原生Ajax1.AJAX基础创建一个ajax对象配置链接信息发送请求一个基本的ajax请求ajax状态码readyStateChangeresponseText2.使用ajax发送请求时携带参数发送一个带有参数的get请求发送一个带有参数的post请求不同的请求......
  • Google的Jax框架的JAX-Triton目前只能成功运行在TPU设备上(使用Pallas为jax编写kernel
    使用Pallas为jax编写kernel扩展,需要使用JAX-Triton扩展包。由于Google的深度学习框架Jax主要是面向自己的TPU进行开发的,虽然也同时支持NVIDIA的GPU,但是支持力度有限,目前JAX-Triton只能在TPU设备上正常运行,无法保证在GPU上正常运行。该结果使用kaggle上的TPU和GPU进行测试获得。......
  • kaggle上的jax框架的环境配置(TPU版本)
    导出时间:2024-01-1821:00:37星期四python版本:Python3.10.13absl-py==1.4.0accelerate==0.25.0aiofiles==22.1.0aiosqlite==0.19.0anyio==4.2.0argon2-cffi==23.1.0argon2-cffi-bindings==21.2.0array-record==0.5.0arrow==1.3.0astroid==3.0.2asttokens==2.4......
  • Google的jax框架在TPU上的循环控制 —— 向量计算设备的循环结构控制
    相关:https://jax.readthedocs.io/en/latest/pallas/tpu.html向量计算设备,如:GPU、TPU等,都是通过向量计算来进行加速的,因此在这类设备中进行向量计算的计算单元是成百上千的,但是进行结构控制的电路单元比较少,可以基本认为在向量设备中进行流程控制是标量的,而不是向量的,也就是说......
  • jax框架的 Pallas 方式的GPU扩展不可用
    说下深度学习框架的GPU扩展功能的部分,也就是使用个人定制化的GPU代码编写方式来为深度学习框架做扩展。深度学习框架本身就是一种对GPU功能的一种封装和调用,但是由于太high-level,因此就会摒弃掉一些原有的GPU底层的编程功能,为此可以使用GPU原始功能的代码来为深度学习编写扩展函......
  • 开启php8的JIT 才能提现php8的速度
    找到php版本文件夹下面的php.ini文件,开启如下字段:zend_extension=opcache修改如下字段:[opcache];DeterminesifZendOPCacheisenabledopcache.enable=1;DeterminesifZendOPCacheisenabledfortheCLIversionofPHPopcache.enable_cli=0;TheOPcache......
  • $.ajax()方法详解
    1.url要求为String类型的参数,(默认为当前页地址)发送请求的地址。2.type要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器支持。3.timeout要求为Number类型的参数,设置请求超时时间(毫秒)。此设置将覆盖$.ajaxSetup()方......
  • Ajax注册表单用户名实时验证
    Ajax注册表单用户名实时验证 1.1.1摘要很多时候在网站上注册时,我们会发现,注册表单通常需要检查用户名和电子邮件地址的可用性;从而确保用户之间不拥有相同的用户名和电子邮件地址;一些网站喜欢在用户提交填写的用户信息时,做信息可用性的检查,而一些网站会做实时的用户名和电子......
  • ajax实现文件上传
    ajax上传文件上传文件我一般采用form表单上传,form简单form上传文件<formid="jsSubmit"method="post"action="url"enctype="multipart/form-data"><inputtype="file"name="file"/></form><......
  • Ajax异步交互技术
    在HTTP协议下,前后端交互有两种技术,一是同步,二是异步Ajax异步交互技术简介“AsynchronousJavascriptAndXML”(异步JavaScript和XML),是指一种创建交互式、快速动态网页应用的网页开发技术,无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器进行少量数据......