羊城迷鹿Ycml
码龄6年
关注
提问 私信
  • 博客:11,431
    11,431
    总访问量
  • 26
    原创
  • 1,073,766
    排名
  • 1
    粉丝
  • 0
    铁粉

个人简介:洛圣都IT民工

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2018-06-11
博客简介:

weixin_42432844的博客

查看详细资料
个人成就
  • 获得0次点赞
  • 内容获得0次评论
  • 获得16次收藏
创作历程
  • 7篇
    2023年
  • 13篇
    2022年
  • 3篇
    2021年
  • 3篇
    2020年
成就勋章
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

【无标题】

基本块调度是指对每个基本块中的指令进行排序和调整,以最大化程序性能和吞吐量。基本块调度通常是在控制流图的基础上进行的,其中每个基本块表示为一个节点,基本块之间的跳转关系表示为有向边。基本块调度的目标是重排每个基本块中的指令,以最大化指令级并行性和流水线利用率。全局调度通常是在数据依赖图的基础上进行的,其中每个指令表示为一个节点,指令之间的数据依赖关系表示为有向边。全局调度的目标是重排整个程序中的指令,以最大化指令级并行性和流水线利用率。在LLVM中,基本块调度和全局调度是指令调度的两个主要阶段。
原创
发布博客 2023.06.19 ·
120 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

thread_lock

如果一个线程已经获取了共享锁(通过lock_shared、try_lock_shared),其他线程就无法获取排它锁,但可以获取共享锁。当共享数据可以被任意数量的线程同时安全地读取时,共享互斥体特别有用,但一个线程只能在没有其他线程同时读取或写入时写入相同的数据。如果一个线程已经获得了独占锁(通过lock,try_lock),其他线程就无法获得这把锁(包括共享锁)。只有当独占锁还没有被任何线程获取到时,共享锁才能被多个线程获取到。在一个线程内,同一时间只能获取一把锁(共享锁或独占锁)。
原创
发布博客 2023.06.03 ·
112 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

tvm_cuda

return dec。
原创
发布博客 2023.05.31 ·
168 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

object家族

通过传进的s_s构造一个storage_scope对象,将此对象用于初始化ThreadSyncPlanner类的参数sync_scope_,ThreadSyncPlanner有ThreadSyncPlanner这样一个set,根据op的attr_key(thread_extent,pipeline_exec_scope, device_scope)去判定是否分割。转自nccl doc。
原创
发布博客 2023.05.19 ·
127 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

`crtp`

CRTP技术实现静态多态。
原创
发布博客 2023.05.18 ·
97 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

sw pass

/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to yo
原创
发布博客 2023.05.05 ·
136 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

两种指令调度

如果一条指令在时间t违背了功能部件的约束,则它将也不能放在时间t+delta,或者任意时间t’,其中,t=t’modulo delta.prologue填充部分。epilogue排空部分。
原创
发布博客 2023.03.26 ·
105 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

shell编程

Shell编程中Shift的用法位置参数可以用shift命令左移。比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1、$2、$3丢弃,0不移动。不带参数的shift命令相当于shift1。非常有用的Unix命令:shift。我们知道,对于位置变量或命令行参数,其个数必须是确定的,或者当Shell程序不知道其个数时,可以把所有参数一起赋值给变量0不移动。不带参数的shift命令相当于shift 1。非常有用的 Unix 命令:shift。我们知道,对于位置变量或命令行参数
原创
发布博客 2022.05.24 ·
102 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

shell

1)0shell本身文件名2)0 shell本身文件名2)0shell本身文件名2)? 最后运行命令的返回值3)!shell最后运行的后台process的PID4)! shell最后运行的后台process的PID4)!shell最后运行的后台process的PID4)$ shell本身的pid5)KaTeX parse error: Expected 'EOF', got '#' at position 1: #̲ shell的参数个数6)@ 所有参数列表, 以"$1 $2 … $n"的形式
原创
发布博客 2022.05.23 ·
107 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【无标题】

from .compute_dag import ComputeDAG, LayoutRewriteOption(Finally,since changing the layout of constant tensors can be done incompilation time and brings no runtime overhead, we rewritethe layouts of the constant tensors according to the multi-leveltile
原创
发布博客 2022.04.14 ·
104 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

return {}

class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { std::unordered_map <int, int> hash_table; for (int i=0; i<nums.size(); ++i) { auto it = hash_table.find(target - nums[i]);
原创
发布博客 2022.04.14 ·
96 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

ansor and autotvm

Table 1 compares the workflow for generating code for an operator in AutoTVM and auto-scheduler. In AutoTVM, the developer has to go through three steps. In step 1, the developer has to write the compute definition in TVM’s tensor expression language. Thi.
原创
发布博客 2022.03.27 ·
422 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

xgboost

什么是XGBOOST?XGBoost代表 Extreme Gradient Boosting,是一个可扩展的分布式梯度提升决策树(GBDT)机器学习库。它提供并行树提升,是用于回归、分类和排名问题的领先机器学习库。对于理解XGBoost来说,首先掌握XGBoost构建的机器学习概念和算法至关重要:监督机器学习,决策树,集成学习和梯度提升。监督式机器学习使用算法来训练模型,以查找具有标签和特征的数据集中的模式,然后使用训练的模型来预测新数据集特征上的标签。决策树创建一个模型,该模型通过评估 if-t
原创
发布博客 2022.03.26 ·
1783 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

列表推导式设计思路

parse a listcomp
原创
发布博客 2022.03.21 ·
719 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

多面体编译

https://polly.llvm.org/docs/Architecture.htmlThe ArchitecturePolly is a loop optimizer for LLVM. Starting from LLVM-IR it detects and extracts interesting loop kernels. For each kernel a mathematical model is derived which precisely describes the individ
原创
发布博客 2022.03.17 ·
606 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

tvm python and cpp

Python和C++混合编程,TVM使用了统一的PackedFunc机制。PackedFunc可以将C++中的各类函数打包成统一的函数接口,并自动导出到Python模块中进行调用,并且也支持从Python中注册一个函数,并伪装成PackedFunc在C++和Python中调用。1、在c++中注册全局PackedFuncTVM_REGISTER_GLOBAL("myadd").set_body(MyAdd);在python中使用,先使用tvm.get_global_func方法获取c++中的my
原创
发布博客 2022.03.06 ·
547 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

tvm relay inline pass

/*! * \brief Inline the global functions marked as `inline` in a given Relay * IRModule. * * \return The pass. */TVM_DLL Pass Inline();https://blog.csdn.net/weixin_42164269/article/details/104291597AST遍历用于遍历Rel​​ay程序的基类为【ExprFunctor】。它提供的公共接口是一种【V
原创
发布博客 2022.03.06 ·
156 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

hasattr用法

if hasatr(func_name.object, “id”)hasattr(object, name)该实参是一个对象和一个字符串。如果字符串是对象的属性之一的名称,则返回 True,否则返回 False。(此功能是通过调用 getattr(object, name) 看是否有 AttributeError 异常来实现的。)用于搜索ast中的attr很实用...
原创
发布博客 2022.03.03 ·
247 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

tvm relay inline pass的调研

tvm relay inline pass的调研relay的流程;pass功能;cpu上跑通单元测例 tests/python/relay/test_pass_inline.py, 明确pass原理; 能否使用inline针对一个网络生成一个call func ,这种方式能很好支持当前bangc优化和代码生成Relay Build-----------Compile the graph to llvm target with given input specification.target = “
原创
发布博客 2022.02.23 ·
1086 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

关于python抽象语法树(AST)

在学习tvm script的过程中接触到了python抽象语法树,记录一下linenocol_offsetast.expr 和 ast.stmt 子类的实例有 lineno 和 col_offset 属性。lineno 是源代码的行数(从1开始, 所以第一行行数是1),而 col_offset 是该生成节点第一个token的UTF-8字节偏移量。记录下UTF-8偏移量的原因是parser内部使用UTF-8。“”“什么是上下文管理器?这里先了解下上下文,上下文是 context 直译的叫法,在程
原创
发布博客 2022.02.16 ·
1259 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多