3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

LinuxでIntel CPUが遅い

Last updated at Posted at 2023-04-14

問題

Alder Lake(12世代Coreプロセッサ)以降のIntelのCPUは計算速度重視のPコアとワッパ重視なEコアという2種類のコアを搭載したIntel Hybrid Technologyというものを採用しています.当然ですが,Eコアでプログラムを実行すると遅いため,なるべくPコアで実行してほしいですね.しかし,古いLinuxカーネル(古いと言っても2023年で最新のDebian 11のカーネルですが)では,どちらのコアで動かすかをうまく制御することができません.そのため,あるときはPコアでプログラムを実行し,またあるときはEコアでプログラムを実行するという現象が起こります.どちらのコアでプログラムを動かすかは運任せなので,運悪くEコアで実行してしまうと,とても遅くなってしまいます.

現状

2023年6月にリリースされたDebian12のkernelは6.1なので,Debian12では何もしなくてもAlder Lakeに対応していると思われます.

解決法

kernelを新しくすれば,Pコアでプログラムを動かしてくれるようになります(比較的適切にスケジューリングしてくれます).Debianでは次のような操作をすると,Alder Lake以降のCPUに対応した比較的新しいkernelをインストールできます.

  • 次のコマンドでaptのリポジトリの設定ファイルを開きます.
sudo nano /etc/apt/sources.list
  • このファイルに次の設定を追加します.
deb http://ftp.riken.jp/Linux/debian/debian/ bullseye-backports main
deb-src http://ftp.riken.jp/Linux/debian/debian/ bullseye-backports main
  • 次のコマンドでカーネルをインストールします.
sudo apt install -t bullseye-backports linux-headers-amd64 linux-image-amd64

これでAlder LakeとRaptor Lake(13世代Coreプロセッサ)に一応対応した新しいカーネル(2023年4月15日では6.1)がインストールされます.

この作業でインストールされるkernelはDebianにおいて安定版ではないことに注意してください.

感想

現在のIntel CPUはハイブリッドアーキテクチャなため並列計算が必要な数値計算に向かないでしょう.数値計算が目的ならAMDのRyzenを買ったほうが無難だと思います.

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?