dw8 调整文字上移下移的时候发现图片也下移,怎么能使背景图片不变,文字上移下移,设置padding 没用

RISC-V处理器指令集体系结构(ISA)的问卋和最初的成功重新激发了人们对定制处理器设计的兴趣但是业界现在正在努力解决如何验证它们的问题。过去20年来市场上曾经存在嘚专业技术和工具已经被少数几家生产处理器芯片或IP内核的公司所掌握。

处理器的验证不同于其他IP的验证甚至不同于SoC的验证。处理器是通用硬件的终极组成部分它会产生自己的独特问题。

Cadence Design Systems公司副总裁兼总经理Paul Cunningham说:“它可以运行任何软件程序” “它是您可以想象到的最鈳配置的深度状态设备之一。确切地说我已经完成了对CPU的验证,就是说您已经运行了所有可能在CPU上运行的软件程序当然这是非常棘手嘚。CPU验证是非常困难的” 

在一个硬件必须尽可能灵活的时代,在软件中尽可能多地进行操作是明智的Imperas软件首席执行官Simon Davidmann表示:“一家公司发现,在处理器中使用一些软件来构建状态机要比在Verilog中创建状态机要好得多” “如果您在Verilog中构建状态机并发现错误,则必须重新改造芯片但是,如果您使用状态机编程构建小型控制器则可以在出现问题后再进行解决。”

但这带来了两个问题VTool的首席执行官Hagai Arbel说:“在朂近的一个处理器验证项目发现,您必须让软件团队参与这个过程”“这带来了一系列全新的挑战,因为他们说的是一种完全不同的语訁无论是技术上还是心理上。”

第二个问题是验证西门子业务部门Mentor的首席技术专家Duaine Pryor表示:“处理器的好坏取决于它的验证。” “暴力算法进行验证的办法是不可行的虽然我们在高端和低端市场都看到了这种趋势。”

无论处理器内核是基于RISC-V还是独特的指令集体系结构(ISA)全面的验证都是至关重要的。OneSpin Solution的设计验证专家Nicolae Tusinschi表示:“用户再也不能指望使用传统处理器在硅芯片上进行数十年的验证了” “ RISC-V采纳鍺没有特别通行证;经验表明,许多开源内核都经过了弱验证并且包含许多基本的bug。所有处理器开发人员必须广泛验证其核心设计记錄所实现的过程和覆盖范围,并使用户能够利用此验证来处理包含核心的整个系统芯片(SoC)设计”

处理器的某些方面是通用的,与项目规模無关“处理器验证可以大致分为控制验证和数据路径验证,” Arm的架构师和中央工程小组成员Daniel Schostak说“这两者都不简单,都面临着挑战对於控制验证,主要挑战是交互组件的数量并确保覆盖所有极端情况;而对于数据路径验证主要挑战在于确定边界情况,以便能够正确覆蓋这些情况面积、性能或功率的微体系结构特征会使这些挑战进一步复杂化。”

在开源领域尤其是在RISC-V方面,这个问题更加复杂“一方面,您可以进行功能验证” Aldec市场营销总监Louie De Luna说,“但是随后您还将进行合规性测试您需要确保任何自定义指令均与源代码兼容。这会影响您的覆盖率模型并且实际上还没有工具流程,所以在这方面仍有许多工作要做除了学习如何使用所有工具外,您还必须了解如何將其用于测试”

尽管自2000年以来处理器性能没有显着提高,但这并不意味着复杂性保持不变“我们仍然看到处理器的复杂性在增加,” Imagination Technologies嘚验证平台副总裁Colin McKellar说“人们越来越希望从处理器中榨取更多,强烈希望拥有某种形式的独特功能集或独特的做事方式”

对独特性的渴朢正在驱动当前的趋势。“在低端市场特别是对于边缘设备,功耗和成本约束更加严格;价格更低” Mentor的Pryor说,“这意味着更紧密耦合的加速、可定制性、甚至删除指令都非常有价值与高端产品相比,较小的设计和专属软件有助于降低重新验证成本RISC-V就以较低的成本提供叻易于定制的平台。总而言之自定义的优点大于缺点,并且在更小、更封闭的系统上推动产生了一群新的验证工程师来面对处理器(重噺)验证问题。”

在高端市场其他力量也在发挥作用。Cadence的Cunningham说:“处理器架构始于向RISC迁移更复杂的指令” “这一趋势开始趋平,我们开始進入多核系统然后,我们无法在多核上进行扩展在这一点上,所有新的复杂性级别都围绕着定制的特定体系结构——针对特定垂直行業而定制的不同类型的计算引擎例如AI、图形或视频。核心管道的潜在复杂性可能变化的速度并不快但是仍然存在。还有更多关于安全嘚、有关推测执行的方面内容”

推测执行是一种优化技术,已与许多著名的处理器漏洞(例如Spectre和Meldown)相关联安全性是一个持续的挑战,茬这个领域设计需求仍然在增加。

Kelf说为了验证这一点,负面验证(证明除了规定的机制之外没有其他方法可以访问区域)非常重要囸式版对此有好处,但在系统级别上容量不足因此,允许指定和分析系统状态空间的工具将成为处理器验证团队的重要工具箱组件”

洳果期望在处理器上运行操作系统,则必须提供其他级别的支持Valtrix Systems的联合创始人Shubhodeep Roy Choudhury说:“通用处理器有望支持所有现代操作系统以及最顶层嘚许多应用程序。” 这些用例中的大多数都需要硬件的支持例如用于虚拟内存的TLB / MMU,用于虚拟化的虚拟机管理程序以及用于浮点计算的FPU對并行执行线程的支持涉及内存顺序和缓存一致性。考虑到用例、处理器单元和交叉产品的数量与其他设计相比,验证通用处理器是一項更具挑战性的任务”

不必逃避执行处理器内核验证所必须支付的价格,您可以直接自己支付费用也可以付钱给其他人替您支付费用。

Cunningham说:“顶级处理器公司已经进行了巨额投资并且拥有大量的专业知识,因此他们可以提供出色的产品” “必须记住,RISC-V是一个指令集它不是CPU的实际实现。实施必须经过验证并且必须具有足够的质量,并满足一定的功能性能和区域目标。Arm不仅仅是一个指令集他们提供了整个生态系统,为此花费了数百万美元”

质量对处理器很重要。“Arm在每个核心上运行大约1015条指令” Imperas的Davidmann说,“一般的RISC-V开发人员或IP提供商甚至都没有硬件仿真器他们无法进行任何数量的验证。多年来当人们购买Arm或MIPS和Power处理器时,他们依赖于IP供应商进行验证”

但是,并非所有内核都那么大或那么复杂Imagination的McKellar说:“如今,许多RISC-V项目规模都很小而且复杂性是可以控制的。” “与验证相关的费用不会很大但是,当您开始提高性能或添加多线程等并行化的方式增加复杂性时它可能会迅速增长。我可以想象半数试图制造复杂处理器的公司将会发现这是一个太大的挑战,而食物链上的人们将会停止与之相关的资金因为它很昂贵,而且不一定能正常工作”

Ardizzone对此表示赞同。“我们的一个客户打算使用开源的RISC-V内核和开源工具创建108个可重复的协同处理器,但遇到了一些问题首先,他们必须证明核心功能有效然后,他们意识到该内核可用的唯一测试套件是开源的因为所有其他商业工具都在由Arm,CodasipMIPS和Synopsys等公司开发的工具包中。然后他们必須证明所有这些处理器都可以处理35条指令以实现特定的加速,这在开源软件中非常困难您可以从Arm购买所有产品,并确保它能正常工作您还可以构建自己的核心,前提是您知道如何构建处理器并可以确保它不会被锁定。但是验证始终是最大的瓶颈”

这也可能被证明是楿当昂贵的。“验证是最困难也是最昂贵的部分”Ardizzone说,“这是一个瓶颈至少需要几个季度的工作。每次你接触硬件你都必须重新验證它。”

对于开源硬件降低成本是关键卖点之一。Aldec的De Luna表示:“像Intel和Arm这样的公司确实非常擅长此事并且您知道,将其集成到SoC中后您将能够验证其是否有效。” “现在业内人士说这并非易事。如果您考虑开源社区那么很多事情都是基于预算。该行业需要建立一个端到端的流程只有更多的合作才能实现。”

二十年前有多家公司生产用于处理器验证的工具。当时大多数系统公司都拥有自己的专有处悝器内核。从那时起他们都迁移到了大型处理器公司之一,如今专业知识已集中在这些公司中。

“多年的经验和方法学开发在能够可靠地验证和验证处理器方面具有巨大优势” Pryor说,“我们对处理器厂商在验证流程中推动创新和提高效率的方式一直印象深刻”

最近帮助其他人验证处理器内核的咨询公司谈论了这种体验的重要性。“我们的经验和知识至关重要” VTool的Arbel说,“我20年前就开始进行处理器验证但是如果这是第一次谈论此类问题,我在解决这些问题时就会遇到麻烦即使您的处理器很小或很简单,设计验证团队也需要具备这种知识有几种可能的解决方案,我们可能没有做到最好的方式但是与其他类型的设计相比,您肯定需要以不同的方式解决问题”

McKellar表示哃意。“您需要专业知识和方法它们是相辅相成的。如果没有专家这些工具可能没有太大价值。没有工具专家们将为之苦恼,因为笁具包太弱了世界上缺乏一流的验证工程师,许多公司正在相互竞争所需的技能他们中的许多人没有足够的深度去完成他们需要做的倳情。”

获得这些知识是困难的Davidmann说:“如何测试一个处理器基本上已经变得封闭起来,封装在三、四家大厂商的产品中”“只是没有佷多论文、出版物或工具可以提供帮助。”

Cunningham提供了以下建议“首先,也是最重要的去雇人。确保您知道是否真的要构建自己的处理器如果需要,请认真对待你需要有人来领导它。”

这一切都始于计划McKellar说:“要对自己的实际业绩和上市所需的时间表保持清醒的头脑。” “专注于尝试限制组合并减少功能一些高级功能或功能组合对最终客户而言可能不那么有价值,但会花费大量时间和精力来正确验證它们保持开放的心态,因为没有统一的答案进行独立审查并接受批评非常重要,并且要非常注意尽早测试新事物您应该尽早解决噺的困难等事情,花大量的时间和精力在上面少花时间和精力在老的事情上。”

并问自己为什么这样做Davidmann说:“除非您试图真正做一些創新和定制的事情,否则好的解决方案已经存在” “如果您想添加一些非常有趣的面料或自定义说明,那么也许这就是为什么您应该走RISC-V蕗线的原因越来越多的人正在构建自己的或配置自己的处理器,这意味着更多的复杂性更多的验证以及验证行业的更多机会。”

RISC-V显然巳经提高了开源硬件的概念一些人质疑他们是否也可以期待开源验证从这里出现。SmartDV应用工程总监Bipul Talukdar表示:“开放源代码模型的成功需要一個基础架构该基础架构才能创建真实的设计和产品,并将其投入制造并交付市场” “必要基础架构的关键部分是RISC-V验证平台,该平台可鉯使用开放源代码规范以及执行ISA的CPU来准确地验证设计”

一些人看到了希望。“ RISC-V社区正在共同努力以帮助找到解决方案,” Imperas Software市场营销副總裁Kevin McDermott说“也许谷歌云使用免费的riscvOVPsim参考模型开发和增强RISC-V随机指令流生成器的开源项目能够最好地说明了这一点。”

尽管如此核心EDA工具仍鈈太可能被开源替代。尽管有多年处理这些问题的经验大型处理器供应商仍然在寻找意料之外的bug和漏洞。

本文为CSDN翻译文章

未来智能实驗室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划构建互联网(城市)云脑技术和企业图谱,为提升企业行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣欢迎加入未来智能实验室线上平台。掃描以下二维码或点击本文左下角“阅读原文”

}
版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

写一个函数,求正整数n从右边开始数的第k个数字并在main函数中输入数值测试这个函數。
若给的数字k超过该整数的位数应给出提示信息

  1. 写一个函数fun,用于输入数字n和需要的第几位k输出需要的数字num。
  2. 函数中创建循环体ii++循环至i等于需要的第几位k。
  3. 每次循环取模为需要的数字num并且除以10

如需要5367从右数第二个数字为6

发布了46 篇原创文章 · 获赞 57 · 访问量 6万+

}


导读:今天聊GNNGNN全名图神经网络,这里的G是是图(Graph)的意思GNN之所以重要,是因为图很重要

深度学习座下,看来是要再多一位“NN”

刚接触GNN,其实我是拒绝的深度学習是近几年人工智能领域的爆款,知识内容很多去书店看看,敢叫“深度学习”的书很多都是厚厚的一本而且深度学习还在不断发展,每年都有成吨的论文在生产

不过,如果把深度学习看作一部要素过多的大片那么,它有两条主线跟着这两条主线走就不会跑偏。┅条主线叫卷积神经网络简称CNN主要用于图像类数据的处理另一条主线叫循环神经网络,简称RNN主要用于时序类数据的处理。

“时序類数据”这种叫法大家也许很陌生不过肯定都见过,主要就是指文本类数据和音频类数据CNN和RNN共同搭建起深度学习的稳固框架,新的研究成果不过只是添砖加瓦

当然了,这些年学术前沿风起云涌深度学习领域也并不太平,先是图像领域跑出来了GAN图像生成的风头一下蓋过了图像识别。接着自然语言处理领域干脆打出了革命的旗号说什么“Attention Is All You Need”,声势浩大让人一度以为LSTM都要统统下岗了。

不过在我看來,都只是老游戏的新玩法就像无论是兽皮独木舟还是喷射飞翼船,都只是水上交通工具内心没有丝毫波澜,直到看到了GNN

刚开始,峩以为GNN不过是又一种新玩法只不过想要来蹭CNN和RNN两位大佬的热度,故意起了这么个名字不过,抽空翻了翻GNN的论文之后我马上发现,这昰深度学习以前没有挽过的船新版本深度学习座下,看来是要再多一位NN

先说“GNN”这个名字,后面的“NN”不必说了和CNN、RNN一样,就是神經网络(Nerual Network)的意思毕竟机器学习的神经网络算法正是深度学习发家的根本。关键在于GNN打首的GGNN全名图神经网络,这里的G是是图(Graph)的意思GNN之所以重要,是因为图很重要

图是计算机科学里的一种非常重要的数据结构,计算机科学有一门必修的基础课叫“离散数学”听洺字像是某一条数学分支,不过究竟“离散数学”的边界在哪里不同版本的《离散数学》教材的看法略有不同,但有一个知识点所有蝂本的《离散数学》教材都不会错过,那就是“图论”讨论一种叫“图”的数据结构。

GNN里的“图”正是指图论的“图”。

应该说图鉮经网络并不是图与机器学习的第一次结合,机器学习在此之前已经大量使用了这个重要的数据结构机器学习众多的模型中,有一个重偠的大类叫“概率图模型(PGM)”,名字叫得很形象这类模型就是用图来表示变量与变量之间转移的概率关系。

不过虽然名字都有“圖”字,但概率图模型和这里要介绍的图神经网络有着本质的不同。

Networks》已经发表了三年,到了2019年GNN已经开始在各大顶会上刷榜,有一點开谈不讲GNN就落伍的意思

铺垫了这么多,加上“图论”这个名字本身自带的神秘感特别是我还看到有的教程非要不经意地提一下图与拓扑学的关系,这些也许都会让你产生一个感觉:图非常高深难学其实,图非常简单真的是用三言两语就能讲清楚。

什么是图呢就兩样,顶点(Vertex)和边(Edge)没有其它了。

这么说好像很简单但实际上比这更简单,网络拓扑结构图肯定都见过吧星形、环形、总线形,无论哪种所谓的顶点,就是网络拓扑图里面的节点譬如网络拓扑图里的PC机、服务器和路由器等等,而所谓的边就是连接这些网络節点的线。

所以图的应用非常广网络拓扑图就是一种非常典型的图结构。

真就这么简单真就这么简单。教材上是怎么定义图的呢就┅条公式,三个字母:

这里的G就是GNN的G,意思是Graph(图)V就是前面的Vertex(顶点),E就是前面的Edge(边)这是一种集合论的定义方法,表达的意思就是:图是顶点和边的集合图论也好,图神经网络也罢来来回回就是研究顶点和边这两个对象折腾出来的各种问题。

是不是挺简單的有没有感觉干劲满满,准备花一点时间精通图神经网络——一个下午够不够

图确实挺简单的,真的就两个研究对象不过,这两個对象还真的就折腾出了一个庞大的理论体系,正是我们前面所说的图论(Graph Theory)

图论是数学中很重要的一条分支,三言两语肯定是讲不清楚的如果你好奇数学家的脑洞能开多大,不妨看看图论是怎样把顶点和边这两个怎么看怎么简单的对象玩出各种花样这里,我想对圖神经网络多说几句

首先,为什么要有图神经网络

一款新技术的兴起,大家也许更在意的是它的技术原理而我则通常会首先思考上媔这个问题:为什么要推出这款新技术。推出一款新技术潜台词就是说原有技术存在不足,那我们的CNN和RNN看起来都要包打天下了会在什麼地方还存在不足呢?

答案四个字:数据结构

模型是要喂数据的,这我们都知道但现有的深度学习模型,无论是CNN还是RNN,或者叫其他什么的都对数据的数据结构有一个要求,必须都是欧几里得结构(Euclidean Structure)

这个词听起来好像很难,不少论文都爱举图像数据这个例子来说奣我是感觉不太直观,不过也许大家都比我悟性高吧这里姑且也放一张:

那什么是欧几里得结构呢?其实特别简单长得方方正正的僦是欧几里得结构,军训的阅兵方阵横向纵向都是一个人紧挨着一个人,这就是典型的欧几里得结构也许你在心里想了想,说:难道還有什么结构不是这样的吗

有,总得来说有两大类一类就是图,另一类叫流型统称为非欧几里得结构。就说这个图吧想象一下图嘚样子,它肯定不是方阵更像是军训时忽然听到开饭了,一下四散而去这就是非欧几里得结构。

这样的非欧几里得结构是没有办法鼡传统的深度模型处理的。因此研究人员开发了图神经网络。

图神经网络是一个大类具体当然又包括有很多模型,不过打响头一炮的叫GCN大家研究图神经网络,一般都会选择从GCN开始说起来很有意思,打响深度学习头一炮的是CNN而这个GCN和CNN还有很深的渊源。

GCN全称Graph Convolutional Network意思是圖卷积网络。看到“卷积”二字想必大家都会会心一笑,这不正是CNN压箱底的宝贝嘛!不过疑问同时也就来了怎样用卷积处理非欧几里嘚结构的数据呢?

老的方法肯定是不行的所以图神经网络需要用到一些新的概念,比如拉普拉斯矩阵和图傅里叶变换等等

新技术带来嘚新知识点自然比较多,想要系统地了解这方面内容我推荐一本书,书名叫《深入浅出图神经网络:GNN原理解析》应该是目前市面上唯一┅本专门介绍图神经网络的书。

这本书从图的基本知识讲起重点介绍了GCN模型的原因,特别是讲清楚了怎样在非欧几里得数据上进行卷积操作最后介绍了图神经网络的最新发展,读完应该就能对图神经网络有比较全面的了解了

延伸阅读《深入浅出图神经网络》

推荐语:極验AI&图项目团队倾力之作!从原理、算法、实现、应用4个维度详细讲解图神经网络,理论与实践相结合白翔、俞栋等学术界和企业界领軍人物强烈推荐。




在公众号对话框输入以下关键词

据统计99%的大咖都完成了这个神操作

}

我要回帖

更多关于 文字上移 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信