- 博客(334)
- 资源 (68)
- 问答 (1)
- 收藏
- 关注
原创 【AI编译优化】谈谈 tvm ansor
2.1 auto tvm做法是使用 template-guided 进行搜索,对于每个 op 使用 templates 去定义搜索空间。2.2 halide auto-scheduler做法是基于 sequential construction 进行搜索,使用 beam search 算法搜索顺序生成。说一下 beam search 算法,beam search 是所谓的 束搜索,是对 greedy search(贪心搜索)的一个改进算,相对 greedy search 扩大了搜索空间,但远远不及穷举
2022-05-13 16:21:52
728
原创 halide hexagon
#ifndef HALIDE____data___entropy___deps___qcv_halide_plugin___codegen___conv_____________src___op_gen___aarch64___conv3x3_h#define HALIDE____data___entropy___deps___qcv_halide_plugin___codegen___conv_____________src___op_gen___aarch64___conv3x3_h#include
2022-03-07 16:30:18
984
原创 【无标题】backtrace_symbols
backtrace, backtrace_symbols, backtrace_symbols_fd - support for application self-debuggingSYNOPSIS #include <execinfo.h> int backtrace(void **buffer, int size); char **backtrace_symbols(void *const *buffer, int siz...
2022-02-09 15:36:38
688
原创 High-level design overview
High-level design overview {#gapi_hld}文章目录High-level design overview {#gapi_hld}G-API High-level design overviewAPI layer {#gapi_api_layer}Graph compiler layer {#gapi_compiler}Backends layer {#gapi_backends}Graph execution {#gapi_compiled}G-API High-leve
2022-01-17 23:40:06
432
原创 gapi_purposes
Why Graph API? {#gapi_purposes}Motivation behind G-API {#gapi_intro_why}G-API module brings graph-based model of execution to OpenCV. Thischapter briefly describes how this new model can help softwaredevelopers in two aspects: optimizing and porting im
2022-01-17 23:27:57
2254
原创 Graph API
Graph API {#gapi}Introduction {#gapi_root_intro}OpenCV Graph API (or G-API) is a new OpenCV module targeted to makeregular image processing fast and portable. These two goals areachieved by introducing a new graph-based model of execution.G-API is a s
2022-01-17 23:22:54
3065
原创 uftrace工具介绍
uftrace是一个追踪和分析C/C++程序的工具,其灵感来自于Linux kernel的ftrace框架(项目主页:https://github.com/namhyung/uftrace)。(1)安装。uftrace依赖于elfutils项目中的libelf,所以要首先安装libelf,而uftrace的安装则很简单:# git clone https://github.com/namhyung/uftrace.git# cd uftrace# make# make install(2)使
2021-11-22 19:03:53
1825
原创 C++11智能指针:unique_ptr使用简介
我们知道auto_ptr通过复制构造或者通过=赋值后,原来的auto_ptr对象就报废了.所有权转移到新的对象中去了.而通过shared_ptr可以让多个智能指针对象同时拥有某一块内存的访问权.但假如我们不希望多个内存块被多个智能指针对象共享,同时又不会像auto_ptr那样不知不觉的就让原来的auto_ptr对象失效,可咋整呢?这个时候就要使用unique_ptr了,顾名思义嘛,unique是唯一的意思.说明它跟auto_ptr有点类似,就是同时只能有一个智能指针对象指向某块内存.但它还有些其他特性.
2021-10-11 23:54:09
390
原创 GPU分析工具随笔
• 前言*• 一、GPU分析工具*• 二、GPU分析工具相关参数解析*• 总结*• 参考前言分析性能是少不了工具辅助的,尤其是GPU,不同于CPU,GPU测试性能难度会比较大些,笔者总结了工具的一些使用,方便进行测试。除了性能测试,还有非常实用的,可以通过这些工具分析渲染相关的问题,如果是进行渲染相关开发者,笔者建议是需要非常熟悉这些工具的使用的。目前常用的移动端GPU分析工具有:对于高通的是Snapdragon Profiler, ARM Mali GPU的Arm Mobile Stu
2021-10-10 17:16:51
1370
原创 OpenCL编程:编译程序
【OpenCL】OpenCL编程:编译程序很多厂商的编程框架并没有包含独立的OpenCL编译器,都是运行时编译器,通过函数clBuildProgram进行访问。函数clBuildProgram可以针对同一平台的不同设备,编译和链接cl_program。其函数原型如下:clBuildProgram(cl_program program, cl_uint num_devices, const cl_device_id *devices, const char* options,(void CL_CAL
2021-10-02 14:34:19
1065
原创 halide编译和生成代码不匹配
aot代码没有调试模式—查看编译出来的代码调试jit代码使用–Func.trace_stores() 跟踪函数运行时计算结果Func.parallel(y) 在某个domain方向多线程并行计算print() 打印所关注表达式的值print_when() 打印在指定条件为真情况下的值,也可用于屏蔽条件为假时的输出用c++的输出流输出复杂表达式,检查表达式构造是否和预期一致上述方式调试...
2021-09-01 17:02:16
224
原创 tree2dotx
#!/bin/bash## tree2dotx --- transfer a "tree"(such as the result of tree,calltree,cflow -b)# to a picture discribed by DOT language(provided by Graphviz)## Author: falcon <wuzhangjin@gmail.com># Update: 2007-11-14, 2015-3-19# U
2021-06-17 20:39:21
666
原创 callgraph
#!/bin/bash## callgraph -- Generate a callgraph of a specified function in specified file/directory## -- Based on cflow and tree2dotx## Usage:## $ callgraph## -f func_name# -d directory|file# -F f
2021-05-18 15:21:00
264
原创 oom killer理解和日志分析:日志分析
这篇是一例oom killer日志的具体分析,有疑问的可以先看上一篇:oom killer理解和日志分析:知识储备i下面是一台8G内存上的一次oom killer的日志,上面跑的是RocketMQ 3.2.6,java堆配置:-server -Xms4g -Xmx4g -Xmn2g -XX:PermSize=128m -XX:MaxPermSize=320mJun 4 17:19:10 iZ23tpcto8eZ kernel: AliYunDun invoked oom-killer: gfp_ma
2021-05-11 17:09:11
859
原创 问题描述:当前NT98520A平台在跑业务时频繁出现kswapd0线程升高导致CPU占用率100%,设备卡死的现象,设备在比较卡的情况下进行操作容易产生oom,且oom时设备可用内存高于水位线。
问题描述:当前NT98520A平台在跑业务时频繁出现kswapd0线程升高导致CPU占用率100%,设备卡死的现象,设备在比较卡的情况下进行操作容易产生oom,且oom时设备可用内存高于水位线。初步分析:该线程应该是在内存回收时候才会升高的,即在内存低于low回收点时才会开始回收,回收到超过high值之后停止回收。收集了几次信息发现内存剩余还有1314M时该线程已经有20%40%的CPU占用率。当前设备的zoneinfo信息水位线配置分别是4M,low是5M,high是6M。请帮忙分析出现该现象的原因以
2021-05-11 17:03:06
623
1
原创 定位一个oom问题
当系统出现oom问题时,我们一般的定位思路是怎样的?系统OOM常见的原因有:1、用户态内存需求过多,资源不足;2、大页配置不正确;3、水位线值异常;4、slab内存过多;5、rcu异常;OOM问题定位步骤如下:1、查看/proc/meminfo,查看用户态内存和内核态内存分别占用多少内存;通过top命令查看占用内存较多的前10个进程;1、用户态内存使用过多;2、top 10的进程存在非虚拟机进程,通常情况下,使用内存最多的是虚拟机进程。如果是费虚拟机进程出现在了前top10里,那么有可能
2021-05-11 16:58:54
1591
原创 Linux驱动性能调优小记
Linux驱动性能调优小记https://blog.youkuaiyun.com/ak47csu/article/details/26964353阿里七层流量入口 Tengine硬件加速探索之路https://www.jianshu.com/p/4adf053ec46dlinux驱动:[3]高级字符设备驱动之ioctlhttps://www.jianshu.com/p/7b6aebbefe3e2020-08-20 linux kernel Ioctl 编程https://www.jianshu.com/p
2021-04-25 09:17:15
359
原创 __fentry__
/* * Copyright (c) 2013 Intel Corporation * Author: Andi Kleen * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that: (1) source code distributions * retain the above copyright notice and t
2021-04-25 09:16:05
619
原创 Unwind 栈回溯详解
Unwind 栈回溯详解https://blog.youkuaiyun.com/pwl999/article/details/107569603内核中dump_stack()的实现,并在用户态模拟dump_stack()【转】https://www.cnblogs.com/sky-heaven/p/10386600.html嵌入式系统C编程之堆栈回溯https://www.cnblogs.com/clover-toeic/p/3949896.html...
2021-04-25 09:15:22
643
原创 【BPF入门系列-1】eBPF 技术简介
【BPF入门系列-1】eBPF 技术简介https://developer.aliyun.com/article/779357我正在使用ftrace获取内核中sys_read调用的跟踪。使用函数或图形跟踪器,将set_ftrace_filter设置为sys_write失败# echo sys_read > tracing/set_ftrace_filter
2021-04-25 09:11:38
761
原创 gcc的-pg选项
gcc的-pg选项ftrace 支持动态trace,即可以跟踪内核和模块中任意的全局函数。它利用了gcc的-pg编译选项,在每个函数的开始增加一个stub,这样在需要的时候可以控制函数跳转到指定的代码中去执行。用过gprof工具应该对gcc的-pg选项不陌生了。当CONFIG_FUNCTION_TRACER打开时,编译时会增加-pg编译选项,gcc会在每个函数的入口处增加对mcount的调用。gcc 4.6新增加了-pg -mfentry支持,这样可以在函数的最开始插入一条调用fentry的指令..
2021-04-25 09:09:14
1956
原创 cd BSP/linux-kernel/tools/perf
make all cd code/lib/external/;make libunwind;cd - cd BSP/linux-kernel/tools/perfmake WERROR=0 LIBUNWIND_DIR=$LIBRARY_DIR/external/__install/;cd -... dwarf: [ on ] ... dwarf_getlocations: [ on ] ...
2021-03-25 20:02:10
297
原创 Linux perf sched Summary
1. Overviewperf sched 使用了转储后再分析 (dump-and-post-process) 的方式来分析内核调度器的各种事件。而这往往带来一些问题,因为这些调度事件通常非常地频繁,可以达到每秒钟百万级, 进而导致 CPU,内存和磁盘的在调度器事件记录上的严重开销。我最近一直在用 eBPF/bcc (包括 runqlat) 来写内核调度器分析工具,使用 eBPF 特性在内核里直接对调度事件的分析处理,可以极大的减少这种事件记录的开销。但是有一些性能分析场景里,我们可能想用 perf
2020-12-25 00:17:31
1045
1
原创 [授权发表]源码分析:静态分析 C 程序函数调用关系
故事缘由工欲善其事,必先利其器。今天我们来玩转一个小工具,叫 Callgraph,它可以把 C 语言的函数调用树(或者说流程图)画出来。传统的命令行工具 Cscope,Ctags 可以结合vim 等工具提供高效快捷的跳转,但是无法清晰的展示函数内部的逻辑关系。至于图形化的IDE,如 QtCreator, Source Insight,Eclipse,Android Studio 等,却显得笨重,而且不一定支持导出调用关系图。在开源软件在线代码交叉检索一文中我们也介绍到了诸如LXR, OpenGrok
2020-12-24 08:37:36
608
原创 DEBUG神器valgrind之memcheck报告分析
memcheck怎么运行valgrind --log-file=valgrind.log --tool=memcheck --leak-check=full --show-reachable=no --workaround-gcc296-bugs=yes ./mcsample arg1 arg2–log-file 表示输出报告文件,可以是相对路径或完全路径–tool=memcheck 做内存检测就是memcheck,要知道valgrind是一个工具集–leak-check=full 完整检测–sh
2020-12-07 14:34:20
710
原创 音视频压缩:H264码流层次结构和NALU详解
问题背景:前面在讲封装格式过程中,都有一个章节讲解如何将H.264的NALU单元如何打包到TS、FLV、RTP中,解封装刚好相反,怎么从这些封装格式里面解析出一个个NALU单元。NALU即是编码器的输出数据又是解码器的输入数据,所以在封装和传输时,我们一般处理对象就是NALU,至于NALU内部到底是什么则很少关心。甚至我们在编解码时,我们只需要初始化好x264编码库,然后输入YUV数据,它就会给你经过一系列压缩算法后输出NALU,或者将NALU输入到x264解码库就会输出YUV数据。这篇文章就初步带
2020-12-05 09:53:00
876
1
原创 ./strace -cp
[root@dvrdvs strace-4.5.18] # ./strace -cp `pidof hik_demo`Process 8896 attached - interrupt to quit^CProcess 8896 detached% time seconds usecs/call calls errors syscall------ ----------- ----------- --------- --------- ---------------- 9.
2020-11-30 09:11:37
254
原创 私有库
董工,你们环保模式开关后代码逻辑上都有一些什么差异NT基线代码使用的开源库如下组件名称:blas 对应的库: kws_lib/hikspeech-kws.a ----------------- 对应的版本:OpenBLAS-0.3.7 下载的链接: https://github.com/xianyi/OpenBLAS/r
2020-11-30 09:10:37
576
原创 语音信号处理中怎么理解分帧?
那么一帧有多长呢?帧长要满足两个条件:从宏观上看,它必须足够短来保证帧内信号是平稳的。前面说过,口型的变化是导致信号不平稳的原因,所以在一帧的期间内口型不能有明显变化,即一帧的长度应当小于一个音素的长度。正常语速下,音素的持续时间大约是 50~200 毫秒,所以帧长一般取为小于 50 毫秒。从微观上来看,它又必须包括足够多的振动周期,因为傅里叶变换是要分析频率的,只有重复足够多次才能分析频率。语音的基频,男声在 100 赫兹左右,女声在 200 赫兹左右,换算成周期就是 10 毫秒和 5 毫秒。.
2020-11-30 09:10:07
7446
1
原创 图像视频降噪的现在与未来——从经典方法到深度学习
1. 简介1.1 腾讯多媒体实验室1.2 噪声的来源1.3 硬件降噪方法2. 传统降噪方法2.1 单帧降噪上面的PPT中包含了双边滤波和小波变换的示意图。通常我们会拿双边滤波和高斯滤波进行对比。对于高斯滤波来说,在处理当前像素的过程中会用到当前像素附近的像素做加权平均,权重取决于当前像素和周围像素的距离,距离越远则权重越小。双边滤波除了考虑距离之外,还会考虑当前像素和周围像素颜色的差异,对距离近但颜色差异大的像素会分配一个小的权重,这样做就不会模糊了边界,实现了保持边界的滤
2020-11-30 09:09:35
2426
原创 荣耀9青春版测评【详细介绍】
棚拍:色彩精准、抗噪强悍 棚拍测试以标准光源D65环境下实际棚拍为依据,经过多次测试,通过Imatest测试软件进行测试,并对其各方面表现进行评分。 系统建立于知名的数学运算平台Matalab,可靠性相当高,制图内容相当有深度。 这里我们选用Imatest以及24色标准色卡以及灰阶测试图卡来量化测试机型棚拍样张的色彩还原、白平衡和动态范围。1、解析力:拍摄棚拍环境中的ISO12233:2000解析力TestChart,同时考量中心水平解析力以及边缘解析力。解析力是指分辨被摄原物细节的能力,解析力越好
2020-11-28 12:51:37
548
原创 Understanding ISP Pipeline - Noise Reduction
背景下图是使用单反相机在ISO6400条件下拍摄24MP分辨率图片的预览效果。看起来似乎还不错,但是如果将图像放大到100%显示,则真实效果是这样的,原生画面上实际充满了各种颜色杂乱的斑点和斑块,几何线条也不太清晰。这些破坏图像质量的东西就是噪声。噪声(Noise)噪声是图像中不请自来的信号。在数码照相机和摄影机产品中,总的规律是光圈越小、(电子)快门越短、ISO越高,图像噪声就越大。图像中的噪声有多种来源,下图列举了几种常见的噪声模式,即固定模式噪声(FPN),由于图像传感器的空间不均匀性
2020-11-28 12:49:18
1852
原创 视频3D降噪总结
3D降噪原理是对图像中的运动物体采取2D降噪,静止部分(称为背景)采取3D降噪以防止运动物体模糊(blur)。1)第一步为运动估计在参考帧(为前一帧已经过降噪的图像)中搜索和当前帧中16*16当前块相近的参考块,其中最相近的块为匹配块。根据匹配块,获得运动向量(motion vector)。为减小计算,一般仅在以当前块为中心的一个小范围内搜索参考块,如在20*20的小范围内。2)滤波模式判断设置两个门限值:参考块和当前块差值残差阈值TH1 (通常为一个较小的值,如5 ~ 20之间)运动向量
2020-11-28 12:47:13
3882
4
原创 imatest中colorcheck的使用
在验证白平衡效果时,使用Imatest软件来评价处理后的标准24色板,比较客观准确。The First Figure: Gray Scale Analysis此图显示了色卡底部的灰色色块和选定的EXIF数据的色调响应和噪声左上图显示了六色块的像素级别。伽马(即涉及像素级别的景物亮度的方程指数)是由一阶拟合确定(蓝色虚线所示)。它是色卡(灰色正方形)的密度响应。它包括一阶和二阶拟合(蓝色和绿色虚线)。横轴为对数曝光(减去目标密度)右上图是传递曲线 (对胶片转移曲线具有类似的缩放):密度(log(像素
2020-11-28 12:45:15
1826
1
AN平台中端人证及访客ThreadPool.zip
2020-08-16
AN平台中端人证及访客sogou_explorer_8.6.1.31812_4600.perf.unfold
2020-03-30
AN平台中端人证及访客sogou_explorer_8.6.1.31812_4600.rarelfutils-0.178.tar.bz2
2020-03-29
AN平台中端人证及访客sogou_explorer_8.6.1.31812_4600.rarltrace.rar
2020-03-29
AN平台中端人证及访客sogou_explorer_8.6.1.31812_4600strace-4.5.18.tar.bz2
2020-03-29
FlameGraph.rarAN平台中端人证及访客sogou_explorer_8.6.1.31812_4600
2020-03-29
AN平台中端人证及访客sogou_explorer_8.6.1.31812_4600.rar
2020-02-25
SecureCrt.v.7.0-kg.rar
2020-02-18
ffmpeg-4.2.rar
2020-02-14
netkit-ftp-0.17.rar
2020-02-14
live555-latest.tar.gz
2020-01-16
AN平台中端_美颜算法预研
2019-11-21
AN平台中端人证m.rar
2019-11-01
AN平台中端人证gfx_rotate_sample.zip
2019-11-01
AN平台中端人证gfx_copy_sample.zip
2019-11-01
AN平台中端人证及访客common.rar
2019-11-01
AN平台中端人证及访客V1.0项目DSP设计文档ACS_DSP_NT_V
2019-10-31
使用下载好的sourceinsight4.exe替换已安装好的sourceinsight4.exeSourceInsight.zip
2021-05-31
业界承认的内存带宽测试工具occlum-master.zip
2021-05-17
AN平台中端人证及访客callgrind.out.2789
2021-04-03
AN平台中端人证及访客qcachegrindyy.rar
2021-04-03
AN平台中端人证及访valgrind-3.17.0.tar.bz2
2021-04-03
AN平台中端人证及访客embedded_linux_optimizations.odp
2021-03-29
clipper.chrome.zip
2021-03-21
AN平台中端人证及访客V1.0项目DSP设计文档linux-4.16.8 AN平台中端人证及访客V1.0项目DSP设计文档AN平台中端人证及访客perf.svg
2021-02-05
TTS音频生成工具(第二版).rar
2020-09-30
sysstat.rar
2020-07-04
AN平台中端人证及访客V1.0项目DSP设计文档linux-4.16.8 AN平台中端人证及访客V1.0项目DSP设计文档mytest.rtp
2020-06-07
AN平台中端人证及访客rtp.pcap
2020-05-31
h264rtpdup.pcap
2020-05-31
AN平台中端人证及访客valgrind-3.11.0.tartest.rar
2020-04-18
AN平台中端人证及访客sogou_explorer_8.6.1.31812_4600.perf.unfold perf.svg
2020-04-02
多个网络放在一起要怎么优化
2022-11-20
sdf gradient
2022-11-20
‘PyTypeObject {aka struct _typeobject}’ has no member named ‘tp_print’; did you mean ‘tp_dict’?
2022-11-09
这样去迭代了么 这个机制的key word是什么
2022-11-08
运行torch报错cuda
2022-11-07
序列照片运行colmap,怎么确认得到的camer pose是否正确?
2022-11-04
自动曝光算法的难点在什么地方?
2021-06-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人