微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > 求助!ICC place_opt时报错,详细看下面,谢谢啦

求助!ICC place_opt时报错,详细看下面,谢谢啦

时间:10-02 整理:3721RD 点击:
rpconn:failed to collect child
severe Error:Fatal errorlacer did not complete
error:psynopt has abnormally terminated
error:place_opt results invalid due to placer failer
err_info:
can't unset "psynopt_adaptive_mcmm":no such variablewhile executinng
"unset psynopt_adaptive_mcmm" invoke from within "place_opt"

为什么没人搭理我

说是psynopt时出错,,,

unset psynopt_adaptive_mcmm error 说的是没有这个变量的意思,
可能是老版本的变量,但是这个error 应该不至于导致psynopt 停止,
看看有没有别的Error,
或者你设置了 set shell_continue_on_error false , 就是一有error就不继续,

谢谢, 这个老版本的变量,应该在什么地方呢,我查找遍了工作目录也没找到有这个变量,可是如果没有的话这个错误又怎么报出来的

我并没有设置这个变量,它默认的是false么?

这就奇怪了,从log 看 是有个这个变量的, 看看 scripts,
还有,你用了mcmm么, icc 啥版本的

各位好,我是來自台灣的朋友。不知你們對繁體中文的接受度為何?我也可以全打英文。
回到原題。(若對找到答案過程與原理沒興趣的朋友,請直接看最後一段。)
最近我剛好遇到相同的問題,google也沒找到答案。
後來我憑著一些經驗與實驗終於找到答案。
以下內容有些不是我的專長,若有不正確請多包涵:
這問題來自於於IC Compiler(ICC)過去使用Remote Process Call (RPC)的技術來作分散式運算(distributed processing)以加速運算。
這RPC是建構在網路通訊之上的,它所帶來的彈性就是使用者可以透過網路把job分配給不同主機或自己本機同時運行。
過去的ICC classic router就是用這技術,但到了ICC 2008開始的Zroute則是使用thread與多核心加速運算。
不過ICC到了2010.06,它的coarse placer仍然是使用RPC的方式去運行(這我也不知為什麼)。
RPC要能正常運行,網路連線正常是必要的。
從xinqing89網友給的錯誤訊息我們可以看到RPC錯誤的訊息(也就是rpconn)。
若一般ICC使用者,從來沒有設定什麼distributed processing設定,那麼ICC在用RPC指派job時會指派給自己本機。
RPC即使是指派給自己本機,也是透過網路協定作通訊。
而我發現RPC會用hostname與本機作通訊。
所以如果hostname沒有指向本機IP(127.0.0.1),那麼RPC會以為沒有收到該主機的回應,導致RPC失敗。
這就是place_opt出現rpconn錯誤的原因。
解決方法如下:
1. 在terminal輸入hostname,查詢該主機的hostname,例如查到foo。
2. 把查到的foo加到/etc/hosts中的本機IP(127.0.0.1)的後面。

谢谢你啊,很热心,这个帖已经发了好久。不过好像不是你说的那个问题,因为之前已经把本机名加到127.0.0.1后面了如下图


,真不知道哪儿出了问题,但还是要谢谢你

Benz就是hostname


所以你解決問題了嗎?有把"Benz"加到/etc/hosts的127.0.0.1之後嗎?

你看我上面那条回复,问题没有解决,本身已经把Benz加到127.0.0.1后面了

抱歉,我漏看了那個回覆。
我還有一個測試方法,這個測試就是讓我查到是hostname的問題,
就是請你測試以下功能:
ICC GUI/File/Distributed Route Jobs/Set Distributed Route/Ok
然後看看terminal的訊息為何。
照著上面的步驟,應該會試圖連向本機。我之前/etc/hosts設定不對,本機就沒有回應。
後來改正後,就有回應的訊息,類似以下的"Reply from":
icc_shell> set_distributed_route -jp_limit { dsrl2.dsrl1} -jp_bin {} -jp_lib {}
Reply from dsrl2.dsrl, Load=3.99,NumCPUs=8,Speed=5705
WARNING : jp server is up; please disconnect it before reset any value.

dsrl2.dsrl是我的hostname。

我只用过本机器 set_host_options -max_cores
至于远程lsf 这种,没用过,

谢谢你,真的很热心,确实出现了问题,出在哪里我还没弄清,等找到了跟你说
问题如下:


RPC是建構在網路通訊之上的。本機沒有回應,但有寫在/etc/hosts,我猜可能被firewall擋了。
試試看檢查iptables。

谢谢这位台湾朋友ZXVC,按照你的做法,我的问题解决了!

是老版本的变量.

set_separate_process_options -placement false
一劳永逸,不让icc用子线程就没有那么事儿了

我之前一直都没有问题,可是最近在做多电源域的设计,然后placement的时候就出现这个错了,不知道为啥,有高手知道么?

我也有这问题,用19楼的方法试了下就可以了,谢谢小编,谢谢19楼的朋友

谢谢你的方法 很方便就解决了

你好 我也用19楼方法 试了,也可以啦;只是如果用这个命令之后,place_opt花费的时间就比较长了,
不知道你用过这个命令之后,是不是花费的时间也边长啦呢

(1) 用命令set_separate_process_options -placement false

(2) 修改你的/etc/hosts文件

文件中只用下面两行就可以了,sev是你的hostname,可以直接在终端输入hostname来查询

127.0.01sev

::1
sev

19楼办法好用唉,多谢多谢

牛X啊。这个回复很牛啊。曾经也被这个问题困扰了很久,现在终于解决了。不得不说,你是大神。

真的很感谢呀

也要感谢台湾那位朋友,他的方法可能是更根本的解决方法。
19楼的只能说是绕过去了(不过还是很感谢19楼,对于不想深究只是能用即可的人,用19楼的方法最简便了)

大牛呀,真是佩服得五体投地,怎么琢磨出来的呢!

同求解

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top