- 博客(51)
- 资源 (1)
- 收藏
- 关注
原创 LLM多batch推理时mask的处理
其中attention_mask由2部分构成:左边为(seq_len, pad_len),值全部为-inf,右边为(seq_len, max_seq_len - pad_len)值为0。即final_mask = input.attention_mask + casual_attention_mask。14 padding到seq_len=20: pad_len = 6。14 padding到seq_len=15: pad_len = 1。
2025-03-07 19:19:53
279
原创 torch-xla动态shape——通过torch.nonzero分析mhlo实现
【代码】torch-xla动态shape——通过torch.nonzero分析mhlo实现。
2025-02-16 17:25:46
304
原创 使用Google开源工具gperftools进行堆内存占用分析
背景:项目中有多卡训练的需求,多进程时每个进程都需要编译,占用内存过大,需要找出内存占用多的点并尝试优化。目标程序是python的多进程程序,多卡训练,程序包含python及c++库,尝试过其他工具发现并不合适,最终采用此工具。This is the heap profiler we use at Google, to explore how C++ programs manage memory. This facility can be useful for:有2种使用方式,这里采用非侵入式的方式,即通
2024-10-10 17:39:04
535
原创 XLA之HloModule“合并”
项目里有这样的一个需求,后端要求将特定模式的的算子融合为传下去。例如下面的HLO计算图,需要将省略部分之间的算子融合为CustomCall。
2024-04-25 23:54:32
493
原创 pytorch-tpu/llama推理优化之input prompt bucketing
数据更新:python脚本(注意分支):HLO图分析KV-Cache更新:KV-Cache作为HLO图的输入输出:bf16[1,2048,32,128]{3,2,1,0} 128x, 2x32x2。
2024-04-01 15:50:31
441
原创 torch-xla在多GPU下NCCL ncclUniqueId的生成过程
生成过程:在rank 0上创建MeshService,也就是GRPC的服务端,每个rank创建一个MeshClient,即GRPC的客户端,客户端通过GRPC请求向服务端获取ncclUniqueId(因为多进程环境,所以请求天然是多线程的,响应也同理,线程安全);由于一个通信组内的请求参数replicas(即rank列表,例如2个rank时:0,1)相同,所以总是得到相同的ncclUniqueId。这是一个典型的ncclUniqueId生成和应用场景。对于不能提供CPU侧通信机制。
2024-03-07 16:28:05
573
原创 torch-xla - op appears to be a view operator, but it has no implementation for the backend “xla:0“
查阅torch-xla issues,2.0版本这些算子没有对应的op lowering(实现)。结合2.0上运行非常慢(耗时~=2.1的几十倍),是否会因此将图拆的很碎?导致慢的真正原因是?测试pytorch-tpu/llama推理时,其模型Attention层在前向时,会多次调用。具体解决参见 MR 4887或2.1版本实现。下面为2.1(左)和2.0(右)的HLO对比。
2023-12-29 22:08:17
531
原创 CentOS7升级内核后,NVIDIA driver出错解决(重新安装)
再次安装时,出现了gcc版本不匹配的问题。由于未安装与kernel相同版本的kernel-devel,导致安装出错。从报错看,应该是NVIDIA driver出错。此时再次安装,成功。
2023-12-29 13:13:23
1312
原创 由于CUDA OOM,对XLA(HLO)内存分配过程的一点总结
单卡(A800, 80GB)测试llama7B时出现CUDA OOM,从日志看,是分配preallocated temp allocation时,出现了OOM。
2023-12-20 19:39:40
988
原创 pthread_create返回值错误码11 (EAGAIN)或libgomp: Thread creation failed: Resource temporarily unavailable错误
分析:此主机多用户使用,资源占用非常大,且大多数情况下在docker容器内操作,不容易遇到这类问题(root与非root用户限制不同);且同样的配置下,在docker内,确实也不会出现上述问题。参考ChatGPT给出的方案,注意需要。
2023-12-18 14:40:13
1776
原创 运行torch_xla时,提示找不到cuda相关库(torchvision版本错误)
注意到torchvision,对比docker下的正常环境,发现torchvision版本略有差异,大胆猜测是torchvision导致,直接下手干!
2023-12-16 15:13:30
3002
原创 解决多卡机器CUDA Error Code 802(CUDA_ERROR_SYSTEM_NOT_READY)
解决多卡机器安装完CUDA后,出现802错误码:Fabric Manager需要和Driver具有完全一致的版本号。
2023-12-14 16:11:55
2818
原创 Load mlir(mhlo/lmhlo) and execute on GPU
【代码】Load mlir(mhlo/lmhlo) and execute on GPU。
2023-11-30 20:44:41
993
原创 XLA-mhlo-transpose
HLO在编译期的transpose,常量折叠优化后,从row-major变为了column-major。转换为MHLO后,由于丢弃了layout信息,MHLO沿用row-major,导致运行期出错。
2023-08-10 19:56:13
184
原创 evaluate pre-trained keras ResNet50 on imagenet2012
【代码】evaluate pre-trained keras ResNet50 on imagenet2012。
2023-04-25 19:15:28
389
原创 读书笔记系列1:《C++必知必会》
时间来到2022年4月13日,已过而立,回忆之前的生涯,如过眼浮云,平淡而不知所踪。此刻尝试记录工作和学习中的点滴,就从第一篇读书笔记开始吧。本文是读书笔记系列的第一篇,书名是《C++必知必会》,英文名《C++ Common Knowledge: Essential Intermediate Programming》。......
2022-04-18 11:12:37
713
原创 Unity 自动化构建方案:一键实现版本管理与打包、压缩
个人感觉Unity打包过程有些不人性化,最近受到频繁的Unity打包的困扰,思考有没有类似于AndroidStudio那样的通过动态脚本对打包,升级版本号,及压缩的管理方案,网上搜了一下,有相关的实现方案,拿来修改之后,最终算是实现了项目的打包管理,打包过程简化了不少,脚本如下:using UnityEngine;using UnityEditor;using System;using S...
2019-01-25 10:57:32
5083
原创 Unity使用Mesh组件画圆环
最近项目中有画圆环的需求,这里把代码贴上来。转载请注明出处。效果//调用void Start () { Material material = Resources.Load<Material>("Materials/GreenLine"); DrawUtils.DrawRing(new GameObject(),Vector3.zero,40,1.2f,0.2f,...
2018-10-22 22:55:34
3120
原创 上拉查看详情和下拉隐藏详情
项目商品详情页的需求,实现上拉显示和下拉隐藏详情的功能,最终效果图。核心代码 //上拉组件 @Bind(R.id.xscrollview) XScrollView mXscrollview; @Bind(R.id.scrollContainer) LinearLayout scrollContainer; //下拉组件 @Bind(R.id.sc
2017-05-08 14:05:03
17791
3
原创 使用ViewPager和RecyclerView实现水平分页功能
/** * ght (c) 2007-2017 xxx Inc. All rights reserved. * * @author lzz * Created 2017/5/4 10:07 * @license http://www.xxx.net * @link http://www.xxx.net * @description 推荐商品的ViewPager适配器;带
2017-05-04 11:57:08
4703
原创 友盟微博登陆 文件不存在 c8998(有微博客户端),你所访问的站点在微博认证失败,错误号:21322(无微博客户端)
使用精简版友盟微博登录,此为较老版本sdk,无Config.REDIRECT_URL配置,UmengTool.getSignature(activity)也无法使用。1.Application中初始化的appkey和appsecret配置正确2.微博后台正式包应用的包名和签名填写正确3.微博后台启用安全域名sns.whalecloud.com4.微博后台应用高级信息中授权回调页5.项目中正确配置友盟
2017-03-16 14:37:44
3304
原创 addJavascriptInterface
/** * Injects the supplied Java object into this WebView. The object is * injected into the JavaScript context of the main frame, using the * supplied name. This allows the Java object's
2017-03-13 09:42:58
3141
原创 微信登录与package
微信后台申请appid与appkey时,使用的是应用的applicationId。 此时若AndroidManifest文件中的package名称与之不对应,通常分享是没问题的,但是在使用微信登录时会遇到问题。这时,就需要修改R文件及工程的目录结构等。第一步,建立所需包名。如android.xxx.shop第二步,build目录下,按F6将R文件移动到目标package下注意,此时R文件会出现在实
2017-02-27 14:58:53
1813
原创 ScrollView嵌套ListView分页加载
ScrollView嵌套ListView分页加载数据在ListView的onMeasure重写之后,通常所用的setOnScrollListener失去作用,无法监听ListView的滚动事件。 本例通过监听ScrollView滚动到底部,来实现分页加载。package net.xxx.widget;import android.content.Context;import android.ut
2017-01-22 10:32:01
1683
原创 从图库获取图片的真实格式
从图库获取图片时,服务器提示图片格式不能解析,测试发现是格式的问题,统一写成了xxx.jpg格式,造成部分gif或者png图片无法解析,通过uri可获取图片的真实mime类型public static String getExtensionName(Context context,Uri uri) { Cursor cur = context.getContentResolver()
2016-12-22 13:29:59
1699
翻译 FlexBox学习笔记
FlexBox为弹性盒子布局 (动态伸缩容器),分为伸缩容器(container)和伸缩项目(item)。 FlexBox布局的主体思想是元素可以改变大小以适应可用空间,当可用空间变大,Flex元素将伸展大小以填充可用空间, 当Flex元素超出可用空间时将自动缩小。总之,Flex元素是可以让你的布局根据浏览器的大小变化进行自动伸缩。【上篇】flex container-Properties fo
2016-12-21 00:10:46
604
原创 resolve EditText conflicts in ListView
项目中需要在ListView中为每个Item添加edittext,编辑实体数据的值,此文章解决滚动冲突,键盘弹出、及数据保存。为当前Activity添加windowSoftInputMode=adjustPan…public class ListViewEditTextActivity extends AppCompatActivity { private List<Bean> list =
2016-12-15 09:25:48
359
原创 Cookie配置,及Http过程对话
一、Cookie1.1 Cookie与tokencookie最初是解决http连接无状态的产物,用于客户端和服务端共同维护一些状态数据。cookie会被附加到http请求中,开发者不需要做额外的维护和支持。使用cookie来维持登录态,在实际实现过程中,是在cookie中添加一个token来维持一个登录态。而token通常是验证后的凭证,免除在一定时间内的重复验证,token的存储和传递需要开
2016-11-26 22:32:49
1527
原创 Retrofit
Retrofit Best Practicedependenciescompile 'com.zhy:okhttputils:2.6.2' compile 'com.squareup.retrofit2:retrofit:2.0.0' compile 'com.squareup.retrofit2:converter-gson:2.0.0'encapsulationu can als
2016-11-21 01:07:45
566
原创 Tips
防止在当前Activity中截屏@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //防止当前activity内截屏
2016-11-15 22:53:42
299
原创 Android Studio Plugins
ButterKnifecompile ‘com.jakewharton:butterknife:7.0.1’Android Butterknife Zelezny
2016-11-15 09:39:14
478
module-0982.SyncTensorsGraph.9515.sm-8.0-gpu-after-optimizations
2024-06-04
module-0004.SyncTensorsGraph.7578.sm-8.0-gpu-after-optimizations
2024-06-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人