【论文导读】Target Prediction for Indirect Jumps

博客介绍了分支按照跳转类型和分支地址类型的分类,包括条件与无条件跳转、直接与间接跳转。还提到常见的BTB索引在面向对象语言多态特性下的不适用,引出专门用于间接跳转的目标预测。阐述了Target Cache的访问方式和结构,最后给出在Perl程序上的运行结果。

分支(branch) 按照跳转类型分为

  • 条件conditional 跳转
  • 无条件 unconditional跳转
    按照分支地址的类型分为:
  • 直接跳转分支 direct branch 在指令中包含分支地址,因此只能跳转到特定的地址
  • 间接跳转分支 undirect branch 是通过读取内存中的内容进行跳转, 这时内存中的内容是任意的,因此可以跳转到任意的地址

常见的BTB是通过Program Pointer进行索引,PC经过hash之后,对应到特定唯一的Branch Target中。

在面向对象语言的多态的特性中,我们在使用父类指针指向派生类对象中实现的虚函数。由于派生类可以包含各个类型,这样实际上跳转的地址的潜在的个数就是派生类个个数。这样早先的BTB这样一对一的索引就不适用了。因此该Paper提出了专门用于Indirect Jump的Target Prediction。

SPECint95(Paper是1997年的)中indirect jump的个数如下图所示:
在这里插入图片描述
Paper所实现的Target Cache可以理解为使用分支地址与历史信息进行Hash,使用得到的结果,索引Target Cache。
该结构包含以下两个维度:

### 关于Vision Transformers用于密集预测的研究 近年来,Vision Transformers (ViTs) 已经成为计算机视觉领域的重要研究方向之一。相比于传统的卷积神经网络(CNNs),ViTs通过自注意力机制能够更好地捕捉全局特征[^1]。 #### Unifying Top-down and Bottom-up Scanpath Prediction Using Transformers 一篇重要的工作是《Unifying Top-down and Bottom-up Scanpath Prediction Using Transformers》,它探讨了如何结合自上而下和自下而上的扫描路径预测方法来提升模型的表现力。虽然这篇论文主要关注的是注视点预测问题,但它展示了Transformer架构在处理复杂空间关系方面的潜力。 #### Multi-scale Vision LongFormer 另一篇值得关注的文章是由Pengchuan Zhang等人提出的《Multi-scale Vision LongFormer: A New Vision Transformer for High-resolution Image Encoding》[^2]。这篇文章介绍了一种新的多尺度长距离注意机制,使得Vision Transformer能够在高分辨率图像编码任务中取得优异成绩。这种设计特别适合需要精细局部信息的任务,比如语义分割或目标检测。 #### Pyramid Vision Transformer 此外,《Pyramid Vision Transformer: A Versatile Backbone for Dense Prediction Without Convolutions》[^3] 提出了金字塔结构的Vision Transformer作为通用背景网络应用于多种下游任务,包括但不限于分类、检测以及像素级预测等场景。此框架摒弃了传统基于卷积的操作方式,在保持竞争力的同时简化了计算流程并降低了参数量需求。 #### Dense Visual Transformer Architecture 最后,《Dense Visual Transformer Architecture》[^4] 描述了一个全新的密集型视觉转换器设计方案。该方案将不同层次下的token重新排列形成类似于图片形式的数据表达,并借助卷积解码层逐步恢复至原始尺寸完成最终输出。实验证明这种方法可以在存在充足训练样本的情况下显著改善各类密集型预测作业的效果;特别是在单一视角深度估计方面达到了超越当前最优水平约28% 的相对增益。 综上所述,上述提到的几项研究成果均围绕着如何有效利用Transformers解决实际应用中的稠密预测挑战展开讨论,并各自提出了创新性的解决方案和技术思路。 ```python # 示例代码展示如何加载预训练好的Vision Transformer模型 from transformers import ViTModel model = ViTModel.from_pretrained('google/vit-base-patch16-224') print(model) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值