表題の通りで,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すごいな.
0 件のコメント:
コメントを投稿