官方文档:

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

  1. 将jax代码的性能文件写入到文件夹中,并给出上传第三方网站的链接生成(https://ui.perfetto.dev/):
import jax

with jax.profiler.trace("/tmp/jax-trace", create_perfetto_link=True):
# Run the operations to be profiled
key = jax.random.PRNGKey(0)
x = jax.random.normal(key, (5000, 5000))
y = x @ x
y.block_until_ready()

可以通过TensorFlow的tensorboard来查看指定生成的文件夹,来在本地进行显示;

也可以通过点击生成的链接将性能文件自动上传到第三方网站并查看(设置生成链接后会中断进程运行,直至手动打开该生成链接,然后进程才会继续执行):

使用TensorFlow的tensorboard进行性能文件的显示需要安装如下library:

pip install tensorflow tensorboard-plugin-profile
  1. 对部分jax的代码进行性能分析,并通过端口将性能文件转发给另一进程,然后再另一进程中生成上传链接,点击链接后上传第三方网站后查看,该种方式不会中断原进程的运行,也不需要等待原进程运行结束。(该种方式最大的不同就是生成第三方链接不是在原进程中,不会影响原进程的运行)

原进程运行代码(待性能分析的代码,需要设置服务端口号,这里是8877):

import jax

jax.profiler.start_server(8877)
key = jax.random.PRNGKey(0)
x = jax.random.normal(key, (1000, 1000))
for _ in range(100000):
y = x @ x
y.block_until_ready()
jax.profiler.stop_server()

另起一个进程,检测端口号8877,接受到性能分析信息后生成上传链接:

python -m jax.collect_profile 8877 1000

这里的8877是之前的服务端口号,这里需要对此进行监听,1000是指该进程的运行时间,这个时间可以设置的大一些,这里设置为1000秒。

这里需要注意,原进程启动后才可以启动链接生成进程,否则连接不到端口会报错,也就是说在生成链接进程生成成功之前原进程不能结束,因此我们可以在原进程的最终位置加入sleep函数。

原进程:

链接生成进程:


需要注意:

进行对jax的性能信息收集的时候,需要对显卡进行独占(只能运行一个CUDA进程),否则会报错,不过可以通过修改默认设置取消该特性,不过为保证性能分析的准确性(防止同时运行其他进程,对性能分析造成影响)不建议更改默认设置:

修改默认设置,允许其他进程运行的情况下启动性能分析进程,设置环境变量:

TF_GPU_CUPTI_FORCE_CONCURRENT_KERNEL=1

Jax框架的性能分析——性能分析可视化的更多相关文章

  1. 转——Android应用开发性能优化完全分析

    [工匠若水 http://blog.csdn.net/yanbober 转载请注明出处.] 1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关于性能的建议,感觉 ...

  2. Android 应用开发性能优化完全分析

    1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关于性能的建议,感觉大家你一总结.我一总结的都说到了很多优化注意事项,但是看过这些文章后大多数存在一个问题就是只 ...

  3. 【转】Android应用开发性能优化完全分析

    http://blog.csdn.net/yanbober/article/details/48394201 1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关 ...

  4. Android应用开发性能优化完全分析

    1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关于性能的建议,感觉大家你一总结.我一总结的都说到了很多优化注意事项,但是看过这些文章后大多数存在一个问题就是只 ...

  5. 转:使用xhprof进行线上PHP性能追踪及分析

    原文来自于:http://avnpc.com/pages/profiler-php-performance-online-by-xhprof 原创作者:AlloVince 之前一直使用基于Xdebug ...

  6. 转:Android应用开发性能优化完全分析

    转自:http://blog.csdn.net/yanbober/article/details/48394201 1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜 ...

  7. PHP性能追踪及分析工具xhprof的安装与使用

    对于本地开发环境来说,进行性能分析xdebug是够用了,但如果是线上环境的话,xdebug消耗较大,配置也不够灵活,因此线上环境建议使用xhprof进行PHP性能追踪及分析. 我们今天就简单介绍一下x ...

  8. golang 性能调优分析工具 pprof(下)

    golang 性能调优分析工具 pprof(上)篇, 这是下篇. 四.net/http/pprof 4.1 代码例子 1 go version go1.13.9 把上面的程序例子稍微改动下,命名为 d ...

  9. PHP 性能追踪及分析工具(XHPROF)

    原文:https://gold.xitu.io/post/5860d23f128fe10069e1cfbf XHPROF:Facebook 开源的轻量级PHP性能分析工具. 它报告函数级别的请求次数和 ...

  10. 使用FreeRTOS进行性能和运行时分析

    在MCU on Eclipse网站上看到Erich Styger在2月25日发的博文,一篇关于使用FreeRTOS进行性能和运行分析的文章,本人觉得很有启发,特将其翻译过来以备参考.当然限于个人水平, ...

随机推荐

  1. ctfshow-超详细通关教程-web(1~8)

    快捷目录 web1 web2 web3 web4 web5 web6 web7 web8 1.web签到题 打开网址后出现如下界面. 查看一下网站源码 将Y3Rmc2hvd3s1ZjkxNTc3Yy0 ...

  2. Stable Diffusion 解析:探寻 AI 绘画背后的科技神秘

    AI 绘画发展史 在谈论 Stable Diffusion 之前,有必要先了解 AI 绘画的发展历程. 早在 2012 年,华人科学家吴恩达领导的团队训练出了当时世界上最大的深度学习网络.这个网络能够 ...

  3. ELK收集主流应用日志

    1.收集nginx日志 学习背景:access.log,error.log目前日志混杂在一个es索引下. 改进filebeat配置 https://www.elastic.co/guide/en/be ...

  4. 抖音验证签名和接口含中文签名,需要在发送端加上utf8编码

    抖音验证签名和接口含中文签名,需要在发送端加上utf8编码 抖音验签和抖音异步通知回调验签解决:是对整个接收的字符串做验签,而不是部分数据做验签解决中文参数问题,否则中文乱码报验签错误 签名算法htt ...

  5. linux安装redis完整步骤

    linux安装redis完整步骤 安装:1.获取redis资源 wget http://download.redis.io/releases/redis-4.0.8.tar.gz 2.解压 tar x ...

  6. #Powerbi 1分钟学会,SUMMARIZE函数,分组汇总并新建表

    今天我们来学习一个新的表函数,SUMMARIZE函数是DAX中的一个函数,它可以根据一列或多列对数据进行分组,并且可以使用指定的表达式为汇总后的表添加新列,形成一张新表. 一:基础语法 SUMMARI ...

  7. RSA密码系统的特定密钥泄露攻击与Coppersmith方法的应用

    PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全.密码学.联邦学习.同态加密等隐私计算领域的技术和内容. RSA密码系统作为当前最广泛使用的公钥加密算法之一,其安全性依赖 ...

  8. Mysql 聚合函数嵌套使用

    Mysql 聚合函数嵌套使用 目的:Mysql 聚合函数嵌套使用 聚合函数不可以直接嵌套使用,比如: max(count(*)) 思路:但是可以嵌套子查询使用(先分组取出count值, 再将count ...

  9. Web运作原理探析

    Web运作原理探析 1.1 web的 概念 Web是一种分布式的应用架构,旨在共享分布在网络上的各个Web服务器中的所有互相链接的信息. 1.2 HTML是指超文本标记语言. 1.3 URL简介 UR ...

  10. Linux 内核:sysfs 有关的API

    背景 相关文章:1.sysfs与kobject基类 下面内容基本上参考(有删改):https://blog.csdn.net/qb_2008/article/details/6846412 API a ...