人気ブログランキング | 話題のタグを見る

はこにわオーディオ工学研究分科会 (旧名: バスレフ研究所)

CPUの性能

パソコンのパフォーマンスのボトルネックがメモリーからCPUに移って久しくなりました。
いまでは、8GBのRAMくらいはふつうに積まれているので、通常の使い方でメモリーを使い切り、仮想メモリに手を出すことはほとんどありません。
メモリー4GBだと時々使い切ってしまいパフォーマンスが悪くなりますが、ほとんどの場合、8GBで足りているでしょう。
それに、ストレージがハードディスクからSSDになり、何十倍も速くなったので、仮想メモリであっても物理メモリーと大差ないかもしれません。
ということで現在のパソコンのパフォーマンスはCPUによって決まるようになってきたと思います。

私のMCAP-CRシミュレータを使用されている数すくない方の一人(Aさんとします)とシミュレーション計算について、お話する機会がありました。
私は、PCの性能は重視していないので、Linuxで64ビットのGCCを使えば問題ない、と思っています。
そこで、例のシミュレーションプログラムを走らせると、設計するj実用的な計算ケース数では、たいてい1分以内に完了します。
Windows PCを使うと、32ビットのコンパイラなので、2倍以上計算時間がかかりますが、それでも大したことはありません。

Aさんは、WindowsPCを使われていますが、32ビット版MinGWでコンパイルした実行ファイルを使っても計算は数秒で終わってしまったそうです。
伺ってみると、CPUはAMDの高性能な12コアとのことでした。
私がAMD E2-7110(4コア x 1.8GHz)のCPUを搭載したLinux機で、15ケースを走らせてみたら20秒で終わってしまいました。
以前Windows7でMinGWコンパイラを使ってデュアルコアx1GHzマシンを使っていたのを思い出すと、意外に速いことに驚きました。
Windowsのフリーのコンパイラには、MinGWがあり、Borland C++コンパイラーというのも使えるはずですが、どちらも、インストール後の手動設定が必要なのでふつうは敷居が高いと思います。
WindowsでC++のプログラミングをするには、Windows用の32ビットコンパイラを使うよりは、VMWare等の仮想環境を利用して、そこに64ビットのLinuxを構築し、GCCを使うほうが実行速度が速いです。
Linuxだと、大抵のディストリビューションで、GCCが標準インストールされるし、標準で入っていなくても、コマンドを打ち込むだけでインストールできるので、正直云ってWindowsより敷居がずっと低いと思います。
仕事以外でプログラミングをする人は少数だと思うのでこれでもいいのでしょうけど。

私は、最近は、4コアのCPUを使用することにしています。
2コアだと、Windowsには厳しいし、仮想マシンをインストールすると更に厳しくなるからです。
2コアCPUのノートマシンを使っていたときは、常にCPUが100%負荷の状態になり心的ストレスがたまったので、いまは4コアが標準です。
8年くらい前のAMD245eの2コアPCを実家の作業場に置いて使っていますが、そちらはデスクトップPC用だけあって、そんなにストレスで困りません。
AMD245eマシンのOSがFedora Core 30 (FC30)なので比較的軽やということもあります。

いま主に使用しているのは、FC30の、CPUは、AMDのE2-7110(4コア)と、FC29の、CPUは、Celeron N3450(4コア)です。
仕事用には、Windowsは、AMD E2-7110搭載のFC30マシンの中の仮想マシンとして使用しています(OEM版のライセンスでは使えないので買い足したリテール版...)。
決して速くはありませんが、困るほど遅いわけではないので、これでいいのでしょう。

PCで、プログラミングのようなクリエイティブな作業をしているときは、殆どがアイドリング状態です。
考えている間はPCに計算させる訳ではないので、CPU時間は決して長くありません。
いざプログラムが走る状態になって、デバグを含め、計算するときに、初めてCPUコアのひとつが100%負荷に近くなります。
こう考えると、CADソフトのように常時CPU負荷の大きなソフトを使用するのでなければ、高性能CPUのメリットは、享受できません。
でも私の64ビットLinux PCで20秒かかるものを、32ビットコンパイルのWindows PCで数秒で計算してしまうCPUというのは、おそるべき性能なのでしょう。
そういうCPUがあれば、安くなったメモリーを追加すれば流体力学の3次元問題もどんどん解いていけそうです。
いまや大学の研究室でもタイムシェアのメインフレームよりもパソコンで計算するほうが速いのだろうと思います。
こういう環境のほうがいい研究成果を出せるのか、というとそういうわけでもないのですけど。

プログラムを作成する人(職業プログラマというより研究者)は、計算時間を短くするために、アルゴリズムを工夫します。
重複処理を排除して計算ステップ数を減らし、反復計算の場合には、最小回数で収束するようにアルゴリズムを見直します。
また、メモリが不足する場合にはCPU計算でカバーするアルゴリズムにしますが、メモリが十分にあれば、メモリー空間を広く使ってデータアクセスの時間を節約するようにプログラミングします。
たとえば、流体力学の計算をするには、要素数にもよりますが、数千元とか数万元以上の連立線型方程式を解きますが、メモリが高価な時代には、小さく分割して繰り返しでこつこつと解いていたりしましたが、いまでは、メモリがいくらでもというくらい使えるので、メモリ空間に巨大な連立方程式をマップして一気に解くのかもしれません。
そうなると、かつて主流だったFORTRANの配列で対応できそうにありませんが、いまは、メモリーを上手に使うライブラリがあるのでしょう。
Cだとmallocで必要な分だけメモリーをダイナミックに割り当てられるので、いまのFORTRANはそういうことができるのでしょうか?

最近のソフトを見ていると、大した計算をしていなくても処理が遅かったりするので、こうした処理上の工夫は重視していないように思えます。
アルゴリズムを極めたソフトは、処理が必要と思えるところには時間がかかりますが、それ以外は素早いし、フリーズしたかと心配になるようなことはありません。
しかし、フリーズしたかと思わず処理を中断してしまうようなソフトは多いと感じます。
自分のシミュレーションプログラムでさえ、フリーズの心配をしなくて済むよう計算経過を表示するようにしていますが、フリーズしたかと心配させるソフトをつくる職業プログラマーって何だろう?
こういうのは、文化の差なのかなあ?

高速CPUも使ってみたい気がします。
仕事が儲かったら使ってみようと思います。
でもLinuxを使っている自分には、パソコンの高速化って優先順位が低いんですよね。
ということは永遠に無理か...


by mcap-cr | 2019-12-30 08:26 | コンピュータ関連 | Trackback | Comments(0)

生演奏を主とすれば、オーディオは箱庭で充分でしょう。
by MCAP-CR

最新の記事

飛行機での出張はつらいな
at 2024-03-28 06:49
雑談
at 2024-03-26 06:38
自作イベント...
at 2024-03-25 06:06
小澤征爾音楽塾2024コジ・..
at 2024-03-24 10:08
ベートーヴェンのピアノ・ソナ..
at 2024-03-21 22:06
Buchbinderのベート..
at 2024-03-20 08:06
何故か最後はうまくいく?
at 2024-03-19 06:54
Buchbinderのベート..
at 2024-03-18 06:36
Buchbinderのベート..
at 2024-03-16 06:54
OpenOffice BAS..
at 2024-03-12 06:45
デスクトップ環境
at 2024-03-10 07:14
Linuxのシェア拡大開始を..
at 2024-03-09 06:56
派手な楽曲から静かな楽曲へ
at 2024-03-07 20:52
終りのない議論
at 2024-03-05 06:17
除湿機
at 2024-03-02 18:27
電源タップ
at 2024-02-29 07:35
時代が追い付いてきた
at 2024-02-28 06:35
ラズパイより安くなってきたミ..
at 2024-02-27 12:48
HDDのクィックでないフォー..
at 2024-02-27 06:58
TurboCADのサポートが..
at 2024-02-26 06:25

以前の記事

2024年 03月
2024年 02月
2024年 01月
2023年 12月
2023年 11月
2023年 10月
2023年 09月
2023年 08月
2023年 07月
2023年 06月
2023年 05月
2023年 04月
2023年 03月
2023年 02月
2023年 01月
2022年 12月
2022年 11月
2022年 10月
2022年 09月
2022年 08月
2022年 07月
2022年 06月
2022年 05月
2022年 04月
2022年 03月
2022年 02月
2022年 01月
2021年 12月
2021年 11月
2021年 10月
2021年 09月
2021年 08月
2021年 07月
2021年 06月
2021年 05月
2021年 04月
2021年 03月
2021年 02月
2021年 01月
2020年 12月
2020年 11月
2020年 10月
2020年 09月
2020年 08月
2020年 07月
2020年 06月
2020年 05月
2020年 04月
2020年 03月
2020年 02月
2020年 01月
2019年 12月
2019年 11月
2019年 10月
2019年 09月
2019年 08月
2019年 07月
2019年 06月
2019年 05月
2019年 04月
2019年 03月
2019年 02月
2019年 01月
2018年 12月
2018年 11月
2018年 10月
2018年 09月
2018年 08月
2018年 07月
2018年 06月
2018年 05月
2018年 04月
2018年 03月
2018年 02月
2018年 01月
2017年 12月
2017年 11月
2017年 10月
2017年 09月
2017年 08月
2017年 07月
2017年 06月
2017年 05月
2017年 04月
2017年 03月
2017年 02月
2017年 01月
2016年 12月
2016年 11月
2016年 10月
2016年 09月
2016年 08月
2016年 07月
2016年 05月
2016年 04月
2016年 03月
2016年 02月
2016年 01月
2015年 12月
2015年 11月
2015年 10月
2015年 09月
2015年 08月
2015年 07月
2015年 06月
2015年 05月
2015年 04月
2015年 03月
2015年 02月
2015年 01月
2014年 12月
2014年 11月
2014年 10月
2014年 09月
2014年 08月
2014年 07月
2014年 06月
2014年 05月
2014年 04月
2014年 03月
2014年 02月
2014年 01月
2013年 12月
2013年 11月
2013年 10月
2013年 09月
2013年 08月
2013年 07月
2013年 06月
2013年 05月
2013年 04月
2013年 03月
2013年 02月
2013年 01月
2012年 12月
2012年 11月
2012年 10月
2012年 09月
2012年 08月
2012年 07月
2012年 06月
2012年 05月
2012年 04月
2012年 03月
2012年 02月
2012年 01月
2011年 12月

最新のコメント

> tincanさん ..
by mcap-cr at 20:06
左右で箱一つのタイプは少..
by tincan at 11:58
> Grigriさん ..
by mcap-cr at 10:14
ブレーカーが上がる?・・..
by Grigri at 18:56
> somo_somoさ..
by mcap-cr at 14:18
Linuxが普及しない理..
by somo_somo at 12:19
> tincanさん ..
by mcap-cr at 14:26
毎度お邪魔します。 ..
by tincan at 11:02
> somo_somoさ..
by mcap-cr at 06:07
2024年度にwin12..
by somo_somo at 12:20

最新のトラックバック

検索

ファン

ブログジャンル

画像一覧

イラスト:まるめな