求助!ICC place_opt时报错,详细看下面,谢谢啦
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楼的方法最简便了)
大牛呀,真是佩服得五体投地,怎么琢磨出来的呢!
同求解