- 博客(18)
- 收藏
- 关注
原创 强化学习笔记
交叉熵:强化学习Agent与Environment互动过程的结束,比如,一盘围棋的结束。强化学习的过程就是要学习如何最大化在每次episode的时候的预期累计reward。强化学习的难点之一。reward delay有两种情况。1)对于有些场景,当Agent做出Action之后,并不是总是可以立刻得到Reward。比如围棋,在episode之前是无法知道棋局的胜负的,Environment在次期间给出的Reward都是0。
2023-01-08 15:45:41
186
原创 PFPL概念归纳
总结形式化语言的相关概念。源自于教材Practical Foundations for Programming Languages。这个总结作为辅助阅读资料,无法代替教材本身。Chapter1: Abstract Syntax抽象语法。用树状结构表达。书中的内容不关注具体的语法,仅仅关注语法片段(句法)对应的树,以及树中的标识符(类似于变量)的绑定关系(类似于变量的赋值)。这本书主要关注语法的结构化信息,对于语法最后是如何用字符串表达的并不关心。abstract syntax tree。 抽象语法树
2022-04-15 20:43:09
1024
原创 Auto-tunning调研(2):TASO
目录TASO是什么?图替换策略的自动生成验证自动生成的图替换策略的正确性引用的文献:TASO: Optimizing Deep Learning Computation with Automatic Generation of Graph SubstitutionsTASO是什么?TASO主要是针对计算图结构的优化。并且这个结构的优化不是基于规则,而是让机器自动化找出所有可能的图替换策略。在最优执行图结构的搜索中,采用基于代价估计(cost-based)的方式。..
2022-04-06 14:30:48
5542
原创 Auto-tunning调研(1):TVM
引用的文献:TVM: An Automated End-to-End Optimizing Compiler for Deep LearningTVM: End-to-End Optimization Stack for Deep LearningTVM是什么?深度学习需求非常火热,而已有的、处理深度学习作业的后端存在多样性。主流的深度学习框架将作业抽象成图的结构,来描述输入矩阵经过一系列算子(图节点)进行处理的workflow,这种基于计算图的方式给优化异构后端的优化带来了困难,针对新的算子优
2021-01-18 19:37:11
1214
原创 CUDA简明入门
最近打算进行hipe相关的开发,hipe与CUDA还是比较像的,所以打算入门一下CUDA,希望顺着CUDA可以入门CUDA的相关编程。我是通过《GPU高性能计算之CUDA》这本书来学习这些内容的,这本书已经比较早了,所以还保留着很多CUDA已经抛弃的旧特性,在这篇笔记中不会涉及这些内容。目录文章目录@[toc]1、CUDA基础1.1、CUDA编程模型1.1.1、主机与设备1.1.2、kernal函数的定义与调用1.1.3、线程结构1.1.4、硬件映射1.2、CUDA软件体系1.3、存储器模型1.4、
2021-01-18 19:35:03
661
原创 并行计算入门
正在学习并行计算的基础知识,因为不确定下一次使用相关知识是什么时候,所以打算写一份长篇笔记来保证当我正在使用这方面知识的时候不会忘掉。这篇文章基于《并行计算导论》。只关注并行计算的关键知识点。目录文章目录@[toc]1、并行编程平台1.1、隐式并行1.1.1、流水线与超标量执行1.1.2、超长指令字处理器1.2、内存性能局限1.2.1、使用高速缓存将降低内存延迟1.2.2、内存带宽的影响1.2.3、躲避内存延迟的方法1.3、并行计算平台剖析1.3.1、逻辑组织1.3.2、硬件组织(通信模型)1.4、并
2021-01-18 19:34:06
1221
原创 常见的并行方法
目录文章目录@[toc]1、并行方法------矩阵与向量的相乘运算1.1、Rowwise Block-striped1.2、Columnwise Block-striped1.3、Checkerboard Block Decomposition2、并行方法------矩阵与矩阵的相乘运算2.1、Block- Striped Decomposition2.2、Fox's method3、并行方法------线性方程组求解4、并行方法------偏微分方程的数值解法并行计算通常用来处理矩阵计算、线性系统(
2021-01-18 19:31:17
2794
2
原创 Hadoop技术梗概(一)
Hadoop技术梗概(一)概要Hadoop的核心主要包括几个子项目。Hadoop common、Hadoop HDFS、以及Hadoop MapReduce。这三个部分是Hadoop最重要的三个部分。Hadoop common是Hadoop的核心,是曾经Hadoop项目的Core部分。很多其他版块都依赖于Hadoop common。Hadoop common主要负责Hadoop的配置以及Hadoop
2017-06-24 17:29:38
1420
原创 在Docker与Mac IDEA中安装单机Hadoop环境
为了方便以后的使用,我们打算将单机版的Hadoop部署在Docker中。我们主要依照的是两个教程,一个是Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04还有一个是Hadoop: Setting up a Single Node Cluster.。首先安装远程控制软件,主要是为了往docker中传输文件,当然使用docker自身的命令也是可以做到的,所以这个远程
2017-06-18 17:26:51
1454
原创 CTP源码分析8 CTP路由引擎结构及源码分析(二)----源码实现解读(一)
路由引擎的主要工作就是发送路由帧,更新路由表,并且从路由表中不断选出合适的父节点。路由帧的发送和LEEP帧是绑定的,根据涓流算法进行发送。随着链路的稳定,计时器的计时间隔会逐渐增大,但是遇到链路拓扑需要变化的时候就要就要重置计时器间隔为最小。
2016-09-09 10:40:54
1386
原创 CTP源码分析7 CTP路由引擎结构及源码分析(一)----TreeRoute.h头文件解读和概要介绍
CTP路由引擎主要由定时器驱动,发动路由帧来建立通信拓扑,广播主要的内容就是广播自己相对于根节点的ETX以及自己的地址,当然还有自己阻塞的一些状态信息,这些信息会被邻居节点捕获,然后更新邻居节点的路由表,每个节点都可以根据自己的路由表,根据情况选出ETX比较小的节点来作为自己的父节点。这样子每个节点和根节点的最小代价通信路径就可以得出来了。拓扑也可以得以建立。在CTP.h中规定了路由帧的格式:
2016-09-09 09:49:27
854
原创 CTP源码分析6 CTP链路质量估计层结构及源码分析(五)----源码实现解读(二)
void updateNeighborTableEst(am_addr_t n) { uint8_t i, totalPkt; neighbor_table_entry_t *ne; uint8_t newEst; uint8_t minPkt; minPkt = BLQ_PKT_WINDOW; dbg("LI", "%s\n", __FUNCTI
2016-08-17 15:10:09
861
原创 CTP源码分析5 CTP链路质量估计层结构及源码分析(四)----源码实现解读(一)
CTP链路估计层的实现主要在/tos/lib/net/le/LinkestimatorP.nc 中。TOS与nesCTinyOS的实现并没有使用C语言而是使用nesC这种基于模块的变成方式,具体的语法和C语言很想,唯一的区别主要在程序的结构上是基于模块的。TinyOS的数据类型很多事基于网络来定制的,比如以nx开头的数据类型,还有nx_struct这样的语法。nesC的学习可以依靠这个
2016-08-11 16:51:16
941
原创 CTP源码分析4 CTP链路质量估计层结构及源码分析(三)----源码头文件解读
TinyOS的链路质量估计器的实现主要在tos/lib/net/le这个文件夹中,下面首先看一下链路质量估计器的头文件LinkEstimator.h:#define NEIGHBOR_TABLE_SIZE 10enum { NUM_ENTRIES_FLAG = 15,};typedef nx_struct linkest_header { nx_uint8_t flags
2016-08-11 15:00:05
1115
原创 CTP源码分析3 CTP链路质量估计层结构及源码分析(二)----LEEP协议中的Trickle算法
LEEP帧的发送的时间间隔不是固定的,而是采用了非常巧妙的方法兼顾了链路质量估计的变化和广播帧发送的开销。受到Trickle算法加持的LEEP协议实现是下面的效果:当链路刚刚开始构建的时候这个时候拓扑还没有构成,那么就需要进行大量的LEEP帧发送,来进行链路估计和路由建立;当拓扑结构逐渐趋向于稳定的时候,这个时候LEEP帧的发送频率会逐渐降低(但降低到一定程度便不再降低了)。但是如果一旦发现了路由没有形成或者路由需要变换以及有新节点的加入,那么就会将LEEP帧的发送频率重新置到最高。
2016-08-10 21:27:35
1630
原创 CTP源码分析2 CTP链路质量估计层结构及源码分析(一)----LEEP协议的LEEP帧
TinyOS使用的是nesC基于模块编程,总体的语法和C语言和相似。看总体结构图:链路质量估计层做了什么可以看到,根节点一些系统底层的发送接口,和接收接口,还有随机数接口。他使用这些接口,来实现自己的接口。链路质量估计层提供一系列接口供上层调用。
2016-08-10 12:36:47
1133
原创 CTP源码分析1 CTP结构及概述
CTP(汇聚树协议)实现了灵活动态的树状拓扑结构,并满足拓扑中其他节点与根节点的单向通信。为了实现灵活动态的拓扑结构变化,CTP蕴含了两个稳定有效的汇聚树原则,这些原则可以让汇聚树得以获得稳定有效的连接质量估计,并且通过连接质量的估计值获得通往根节点的路径。当每个节点都获得通往根节点的路径之后,汇聚树也就形成了。第一个原则是保证数据通道的有效性原则。CTP协议在数据传输的时候可以动态地
2016-08-10 10:55:19
6499
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人