0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

内存向Calibre使用秘诀:大内存+Swap交换分区

技术让梦想更伟大 来源:技术让梦想更伟大 2023-08-02 15:22 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Siemens的Calibre是业内权威的版图验证软件,被各大Foundry厂广泛认可。用户可以直接在Virtuoso界面集成Calibre接口,调用版图验证结果数据,使用起来极为方便。

今天,我们就来聊聊这款软件。

版图验证是芯片设计中非常重要的一环,一共包括三个环节。

DRC(Design Rule Check):检查版图是否符合Foundry厂的制造工艺规则,确保芯片能被正确生产出来;

LVS(Layout Versus Schematic):版图工程师需要将画好的版图与原理图对比,确保两者所有连接保持一致;

寄生参数提取(Parasitic Extraction):将版图中的寄生参数提取出来,在Virtuoso中反馈结果,前端工程师会进行后仿验证,重新评估电路特性并进行修改,保证流片正确。

27ef7814-30c8-11ee-9e74-dac502259ad0.jpg

这三个环节分别由Calibre的DRC、LVS、PEX三种工具来完成。

Calibre任务典型特性

重内存,可拆分,适合暴力堆机器

Calibre任务有两大特性:

1、重内存需求,2T或4T的超大型内存机器都有可能登场

版图文件很大,需要处理的数据量非常大,但本身的逻辑判断并不复杂,所以通常不刚需高主频机型,但要求多核、大内存的机器。CPU与内存的比例通常能达到1:4或1:8,极端情况下这个比例会更高,2T或4T的超大型内存机器都有可能登场。

我们在下面两篇文章里仔细盘过模拟&数字芯片设计全流程的业务场景、常用EDA工具、资源类型、算力需求、典型场景:

芯片设计五部曲之一 | 声光魔法师——模拟IC

芯片设计五部曲之二 | 图灵艺术家——数字IC

2、可拆分,无关联,适合暴力堆机器

我们在模拟这篇文里写过版图验证就像是一个“大家来找茬“的游戏。

在运行任务的时候,Calibre会把版图切分成相互没有逻辑关系的块状分区,这些分区之间彼此没有相关性,互不干扰,所以可以同时进行。

切得越细,同时检查的人更多,效率就越高。

280a65de-30c8-11ee-9e74-dac502259ad0.png

三体里的切法大家还记得吧,一字横切。

而芯片只能竖着切,可以十字切法。横切会影响到芯片层与层之间的连接关系。

暴力堆机器也是有技术含量的

1、 首先,要有光,你得有大内存的机器

我们的全球资源池可以根据用户需求在全球范围内调度海量云端异构资源。GPU、TPU、FPGA,要啥都有。

284438d6-30c8-11ee-9e74-dac502259ad0.jpg

其中,FCC-B产品提供准动态资源池,拥有行业特需的大内存机型,具有较低的整体拥有成本。而且,可以扩展到FCC-E使用弹性资源。

总之,大内存的机器,没有问题。

那么,万一不是一直不够,是偶尔不够怎么办呢?

我们有一个小技巧,专门应用这种内存峰值场景。

Swap,交换分区,就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行。

比如跑一组Calibre任务需要10小时,其中9个小时的内存使用量都在200G左右,只有1个小时达到了260G。

285bd338-30c8-11ee-9e74-dac502259ad0.png

如果选择256G内存的机型配置,任务必崩无疑。

但要是为了这1小时不到10G的内存溢出而全程使用512G的配置,成本翻倍,未免有点太不划算了。

使用Swap交换分区就可以无缝填补这一空缺,非常匹配这种内存峰值场景。

Swap的具体使用案例,戳这篇:Auto-Scale这支仙女棒如何大幅提升Virtuoso仿真效率?

注意:此方法不适合长期使用,磁盘的速度和内存相比慢了好几个数量级,如果不停读写 Swap,对系统整体性能有影响。

2、 怎么把这些机器组队管理起来?

有了机器,下一步当然是要把它们利用起来。

Calibre默认支持单机多核并行跑任务,这意味着只要机器足够大,就可以同时处理很多任务。

但是,当你的大机器不够多,或者根本拿不到大机器的时候,就很苦恼了。

我们的方法是:将所有机器组成一个集群——多机多核的方式同时跑多个任务。

2879fca0-30c8-11ee-9e74-dac502259ad0.jpg

关于单机、单核、单任务、多任务、集群化、并行化进一步的定义与区别,可以看这篇:揭秘20000个VCS任务背后的“搬桌子”系列故事

集群自动化管理,少量大机器需要,大量小机器就更需要了。

为啥?

理由一,能方便地自动化运维整个集群

比如软件安装配置、资源监控、集群管理等工作,是需要IT一台台机器去逐一手动操作,还是鼠标点几下就可以完成?

理由二,能快速方便地分配业务,提高资源利用率

比如,临时需要将一批机器从团队A划拨给团队B使用,有没有什么办法可以让IT快速方便地进行配置?

比如,因为资源使用的不透明和缺乏有序管理,会出现不同人对同一资源的争抢,任务排队等现象。同时,你会发现资源利用率还是不高。

3、怎么让机器自动化干活,不用人操心?

自动化干活可太有必要了。

否则,那么多任务,那么多机器,需要多少双手和眼睛才能忙得过来?

来,我们给你“手”和“眼睛”。

首先是我们的“手”——Auto-Scale功能。

来看一下本地手动跑任务与Auto-Scale自动化跑任务的区别:

2882e0cc-30c8-11ee-9e74-dac502259ad0.png

基于我们自主研发的调度器——Fsched,Auto-Scale自动伸缩功能自动化创建集群,自动监控用户提交的任务数量和资源需求,动态按需地开启与关闭所需算力资源,做到分钟级弹性伸缩,在提升效率的同时有效降低成本。

更多疗效,戳这篇:Auto-Scale这支仙女棒如何大幅提升Virtuoso仿真效率?

有了“手”干活,还得有“眼睛”盯着防止出错。

我们能多维度监控任务状态,提供基于EDA任务层的监控、告警、数据统计分析功能与服务。

289d31fc-30c8-11ee-9e74-dac502259ad0.jpg

如果没有这双“眼睛”,可能出现哪些问题?戳这篇:【案例】95后占半壁江山的浙桂,如何在百家争鸣中快人一步

未来我们还会有一篇文章专门讨论EDA领域基于业务的监控功能,敬请期待哦~

你看,不仅可以自动化跑任务,还能时刻帮你盯着任务是否出错。

来,我们小暴力一下

先说结论:

我们在单台大机器和多台小机器组合场景下分别跑了同一组Calibre任务。

单台大机器场景下,随着核数的增加,任务耗时呈现明显的线性下降关系,整体性能曲线非常贴近基准线(单机核数有上限,本次实证中,我们使用的最大单机为128核,并根据32核、64核、128核的耗时规律预估了256核单机的耗时数据,仅供参考)。

多台小机器组合场景下,随着机器数量的翻倍,任务耗时同样线性下降,但在后期倍数关系上有所损耗,多机性能曲线略低于基准线和单机性能曲线。

28be10de-30c8-11ee-9e74-dac502259ad0.png

实证过程:

1、使用fastone云平台调度32核、64核、128核单机分别运行一组Calibre任务,耗时分别为14小时57分49秒、7小时30分28秒、3小时50分11秒;

2、按上条实证数据,预估使用fastone云平台调度256核单机运行一组Calibre任务的耗时为1小时58分6秒;

3、使用fastone云平台调度2、4、8台32核机器分别运行一组Calibre任务,耗时分别7小时43分51秒、4小时6分14秒、2小时15分34秒。

还有大家关心的Intel第四代机器

我们也搞来跑了一下

在上一节中,我们使用的均为第三代英特尔至强可扩展处理器,而在2023年1月11日,英特尔正式推出了第四代至强可扩展处理器。

我们立马搞来跑了一遍,为了对比参照,我们还拉上了第二代和第三代,并且把核数都按比例换算为48核。

实证过程:

1、使用fastone云平台调度48核第二代英特尔处理器运行一组Calibre任务,耗时10小时46分26秒;

2、使用fastone云平台调度48核第三代英特尔处理器运行一组Calibre任务,耗时9小时56分13秒,相比第二代提升7.77%;

3、使用fastone云平台调度48核第四代英特尔处理器运行一组Calibre任务,耗时8小时18分43秒,相比第三代提升16.35%,比第二代提升22.85%。

28e3fe20-30c8-11ee-9e74-dac502259ad0.png

可以看到每一代都有提升,且型号越新,提升幅度越大,三代比二代提升了7.77%,四代比三代提升了16.35%。

而在价格上,目前四代和三代的类似机型换算一下,几乎是相同的。

实证小结

1、Calibre DRC/LVS/PEX不刚需高主频机型,但要求多核、大内存的机器,任务可拆分,适合暴力堆机器;

2、fastone云平台的全球动态资源池、集群自动化管理能力、自动化跑任务并监控告警的功能可完美匹配Calibre的需求;

3、随着计算资源的提升,Calibre的任务耗时呈现明显的线性关系,其中单机整体性能曲线非常贴近基准线,多机效果后期会略有折损;

4、最新型号的处理器可以大幅提升Calibre的效率,可根据项目周期与实际预算综合考量机型配置。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件
    +关注

    关注

    69

    文章

    5296

    浏览量

    90855
  • 自动化
    +关注

    关注

    30

    文章

    5884

    浏览量

    89142
  • Calibre
    +关注

    关注

    0

    文章

    19

    浏览量

    10066

原文标题:内存向Calibre使用秘诀:大内存+Swap交换分区

文章出处:【微信号:技术让梦想更伟大,微信公众号:技术让梦想更伟大】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    WebGL/Canvas 内存泄露分析

    在构建高性能、长周期运行的 WebGL/Canvas 应用(如 3D 编辑器、数据可视化平台)时,内存管理是一个至关重要且极具挑战性的课题。 开发者通常面临的内存泄漏问题,其根源远比简单
    的头像 发表于 10-21 11:40 156次阅读
    WebGL/Canvas <b class='flag-5'>内存</b>泄露分析

    科普:什么AI 内存技术

    AI 内存是一种专为人工智能 (AI) 应用设计的新型内存技术。与传统的通用内存(如 DDR5 或 LPDDR5)不同,AI 内存的核心目标是解决 AI 计算中遇到的两大挑战:带宽瓶颈
    的头像 发表于 09-03 15:44 703次阅读

    曝华为Mate80系列定制超大内存 王炸是大内存与麒麟9030通过SiP封装技术集成

    华为Mate 80一直被业界关注,陆续也爆出了很多新料,据博主数码闲聊站的暗示爆料,华为Mate 80系列手机将首发全新的麒麟旗舰手机芯片,新款芯片的能效再度提升,而且史无前例的定制了超大内存,估计
    的头像 发表于 06-17 11:50 2751次阅读

    当 ccg3pa 收到 pr_swap 命令时,它不会执行 eval_pr_swap 函数,为什么?

    角色交换命令。 我在 swap.c-eval_pr_swap 函数中添加了调试 uart 消息。 但我发现,当 ccg3pa 收到 pr_swap 命令时,它不会执行 eval_pr_swa
    发表于 05-26 06:15

    比肩HBM,SOCAMM内存模组即将商业化

    参数规模达数百亿甚至万亿级别,带来巨大内存需求,但HBM内存价格高昂,只应用在高端算力卡上。SOCAMM则有望应用于AI服务器、高性能计算、AI PC以及其他如游戏、图形设计、虚拟现实等领域。   SOCAMM利用高I/O密度和先进封装实现极高带宽,有694个I/O端口,
    的头像 发表于 05-17 01:15 3546次阅读

    【幸狐Omni3576边缘计算套件试用体验】CPU部署DeekSeek-R1模型(1B和7B)

    /swap.bin文件,并将内容格式化为swap格式: 接着,准备将其设置为交换分区,设置之前,查看当前系统内存信息: 可以看到,当前
    发表于 04-21 00:39

    golang内存分配

    作者:钱文 Go 的分配采用了类似 tcmalloc 的结构.特点: 使用一小块一小块的连续内存页, 进行分配某个范围大小的内存需求. 比如某个连续 8KB 专门用于分配 17-24 字节,以此减少
    的头像 发表于 03-31 15:00 375次阅读
    golang<b class='flag-5'>内存</b>分配

    快速搞懂C语言程序内存分区

    到动态分配的数据等内容。(内存分区图示)理解这些内存分区的结构和特性,不仅有助于编写更高效的代码,还能帮助排查和解决如段错误、内存泄漏、栈溢
    的头像 发表于 03-14 17:37 1329次阅读
    快速搞懂C语言程序<b class='flag-5'>内存</b><b class='flag-5'>分区</b>!

    DDR内存控制器的架构解析

    DDR内存控制器是一个高度集成的组件,支持多种DDR内存类型(DDR2、DDR3、DDR3L、LPDDR2),并通过精心设计的架构来优化内存访问效率。
    的头像 发表于 03-05 13:47 3231次阅读
    DDR<b class='flag-5'>内存</b>控制器的架构解析

    英伟达开发新型内存模组SOCAMM,或年底量产

    大内存制造商深入讨论SOCAMM规范的商业化落地可能性。这意味着,SOCAMM内存模组有望最早在今年年底实现量产,为全球用户带来更加高效、稳定的内存解决方案。 值得一提的是,英伟达计划在其备受瞩目的第二代“个人AI超算”项目中引
    的头像 发表于 02-19 11:41 1191次阅读

    大内存原厂或将于2025年停产DDR3/DDR4

    ,DDR5内存已成为市场主流,并逐步取代DDR4内存。值得注意的是,消费级平台已不再支持DDR4,这使得DDR4内存开始加速DDR3目前所占据的利基市场转移。 若三
    的头像 发表于 02-19 11:11 3178次阅读

    hyper v 内存,hyper v 内存设置的操作步骤和方法是什么?

    在利用Hyper-V搭建和管理虚拟机的过程中,合理设置虚拟机的内存至关重要。内存分配是否恰当,会直接影响到虚拟机的运行性能和稳定性。若内存分配过少,虚拟机可能运行缓慢甚至频繁卡顿;而分配过多,则会
    的头像 发表于 01-24 15:22 1091次阅读
    hyper v <b class='flag-5'>内存</b>,hyper v <b class='flag-5'>内存</b>设置的操作步骤和方法是什么?

    hyper 内存,Hyper内存:如何监控与优化hyper-v虚拟机的内存使用

    在日常工作中,我们常常需要处理大量的文件和数据,这些重复性任务不仅耗时耗力,还容易因疲劳而导致错误。幸运的是,批量管理工具的出现为这一问题提供了高效的解决方案。今天就为大家介绍Hyper内存
    的头像 发表于 01-24 14:15 1670次阅读
    hyper <b class='flag-5'>内存</b>,Hyper<b class='flag-5'>内存</b>:如何监控与优化hyper-v虚拟机的<b class='flag-5'>内存</b>使用

    国产DDR5内存上市,内存市场价格战一触即发

    随着国产DDR5内存的上市,内存市场的竞争态势即将迎来新的变化。DRAM内存作为半导体产业的明星产品,据市调机构Trendforce预估,2024年全球DRAM内存的产值将达到约907
    的头像 发表于 01-07 15:53 2268次阅读

    16口多模反射内存交换机:高速数据共享的核心枢纽

    天津拓航科技自研生产的反射内存交换机完全兼容替代GE八口反射内存交换
    发表于 12-06 15:40 0次下载