2026年9月11日金曜日

HSPICE のServer/Client モードの Server の再起動に時間がかかるようになった?

HSPICE Server/Client モードにて,昔は問題なく使えていたスクリプトが異常な動作をするようになった.やっていることは簡単で,

% hspice  -CC -port 25000 -share share.sp -stop 0.3
% hspice  -CC -port 25000  target1.sp
% hspice  -CC -port 25000  target2.sp
% hspice  -CC -port 25000  target3.sp
...
% hspice  -CC -K -port 25000

というのを for ループでぶん回すのだが,
% hspice  -CC -K -port 25000
でサーバー KILL を確認しても,
% hspice  -CC -port 25000 -share share.sp -stop 0.3
>info:         ***** The specified port 25000 is not available now.

と表示されて HSPICE Server が起動しない.しばらく待つと Server が起動する.
% lsof -i :25000
しても LISTEN していないのに,よくわからない.KILL してから再起動まで20秒ぐらい待つと動く.for ループを3つに分割してサーバー立ち上げ・KILL は最初と最後に1回のみにすれば動くのだが,手動で止めたときにまた適切な時間待たないといけないし,わすれそうだし,困ってます.

2026年9月4日金曜日

Calibre が AlmaLinux 8.10 Threadripper 2990wx の環境ででうごかない (grub で numa=off)

 表題の通りで,Threadripper 2990wx は CentOS 7 の時は快調だったのだが,AlmaLinux 8.10 にしてからすんなり動かないツールが多い.その一つが Calibre で実行すると
% calibre -drc -hier TEST.cal > TEST.log 
% calibre -drc -hier -turbo 1 TEST.cal > TEST.log 
% calibre -drc -hier -turbo 2 TEST.cal > TEST.log 
set_mempolicy: Invalid argument
%
という感じで,マルチ CPU 実行させると死んでしまう.どうもこのメッセージは NUMA を使うときに出るらしく,2990wx は4つの CCD が OS から4つの NUMA デバイスと認識されるもうち2つしかメモリに直接アクセスできないという変態 CPU なので,Calibre がメモリのない CCD にメモリアロケーションをしようとして死んでいる可能性がある.
一方で NUMA なんて BIOS で指定した記憶無いんだけれど,と思いつつ BIOS の Memory Interleave を変えても4 NUMA デバイスとして認識されて困っていた.

で,自分で調べてもわからなかったので,今更ながら ChatGPT にログをぶち込みながら2時間ぐらい相談したら,grub で numa=off すると OS として NUMA オフにして 1 NUMA デバイスとして認識できるらしい.今回は
・Alma Linux 8.10 (kernel 4.18)という古い backport を含む Linux Kernel
・NUMA を独自実装し全 NUMA デバイスがメモリを持っていると決めつけているCalibre
・2990wx という変態 CPU
・BIOS で NUMA/UMA 制御ができない ASRock X399 Taichi
のクアッドコンボでダメだったらしい.

ということで,
% sud vim /etc/default/grub # numa=offにする
% sudo grub2-mkconfig -o /boot/grub2/grub.cfg

ということで無事 -turbo が起動するようになりました.ChatGPTすごいな.