PCやコンパイラを更新したことでどのぐらい計算が高速化したか考えたいと思います。
PCの更新はcore-i7が第4世代から第6世代に進み、コンパイラは2009年ぐらいに購入したものを今年(2016年)に更新したというようなぐらいです。
そこで、全く同じ計算プログラム(Fortran)を両方で走らせてみました。新しい環境(PC,コンパイラ)と以前の環境(PC,コンパイラ)です。今、横並びで見ているのですが、ひょっとしたら以前の方が早いかもしれないという結果になっているのです。これはおかしなことだと思うのですが、いかがでしょうか。
あと考えられるのは新しい環境ではコンパイラオプションの有無で様子が大幅に異なるとかですが。
ここでいう環境の進化はお金をつぎ込んでものを買ったというだけのことであり、ソースコードの工夫とか並列による高速化は全く考えていません。でも早くなって欲しかったのですが。
第6世代というのは私が想像していたような高速化とは違うところの更新なのでしょうか。
大昔、DECアルファチップによる計算の高速化への驚きが忘れられません。ソースコードを全く手を加えずにコンピュータを変えてコンパイラを変えただけだったのですが。
どのようなものなのでしょうか。
No.4ベストアンサー
- 回答日時:
DEC alphaの時代はパソコンCPUはまだまだ遅くて大型計算機やスパコンの技術をパソコンCPUにダウンサイジングして簡単に性能が上がったのです。
今やスパコンにパソコン向けとほとんど同じCPUを使う時代です。昔、簡単に速度アップできた方法は既に尽くされているので、全く異なるアプローチをしないと性能アップは期待できません。そして今の性能アップの方向性は並列処理です。昔ながらのシングルスレッド処理はほとんど性能アップできなくなっています。
ちなみにCore i7のスペックを確認してみましたが、第4世代から第6世代では同等スペックでクロックが下がっているケースがあるので、処理によっては遅くなっても当然でしょう。
# https://ja.wikipedia.org/wiki/Intel_Core_i7#Core …
# 例えば 4790Kの4.0GHz(Max4.4GHz)と6700Kの4.0GHz(Max4.2GHz)
# 4790の3.6GHz(Max4.0GHz)と6700の3.4GHz(Max4.0GHz)
コンパイラオプションやソースコードの工夫で並列性を上げたり、CPUに依存する最適化をしない場合、数値演算系プログラムの実行性能はほぼクロックに依存します。
No.3
- 回答日時:
> core-i7が第4世代から第6世代
core i7と言ってもいろいろあります。演算性能はクロックとかキャッシュサイズとかで全然違いますので型式で言ってもらわないと妥当な比較をしているかどうか判断できません。あとメモリの種類と量も。
なお同等スペックというなら4xxxから6xxxだと素の整数演算性能は10%も変わらないんじゃないですか。
コンパイラについても同様です。具体的なコンパイラが分からないと何も言えません。
なおCPUの性能向上は最近はSIMD命令とかGPGPUとかのベクトル演算が中心です。
コンパイラも当然にそういうコードの性能を上げる方向に進化していると考えられます。
何の工夫もないシングルスレッドのコードだと吐くバイナリは一緒かもしれません。
あとコンパイラが最新CPUに対応していないと最適化チューニングが十分でない可能性もあります。
回答ありがとうございました。細々としたスペック依存ということですね。
DECアルファのときは、その速度の増加はけた違いで、数十万円の投資でしたが、すぐさま回収できたって感じでした。
最適なスペック、最適なチューニングをすれば早くなる、ということだと条件付き高速化ですのでそれに費やす時間の投資が回収できるかどうかわからないという気がしています。有無を言わさぬ高速化ということはもうないのだなという思いです。
No.2
- 回答日時:
車で例えるなら、パソコン(core-i7)は普通乗用車。
DECアルファチップは、旧式とはいえどもF1レースカー。
最近は性能が良くなってきたと言っても、走りに特化した
レースカーと使い勝手や乗り心地を重視した普通車とでは
差が出てくるのは当たり前。
#WindowsはGUI環境を実現する為にも、CPUやメモリ等を
#多く使用する為、計算速度の高速化に挑戦するには限度
#が有ります。
回答ありがとうございます。当時はPentium2ぐらいで計算していて数十万円でDecアルファを購入してその速さに仰天しました。その後Itanum2も使用しましたが、アルファ越えの感動はありませんでしたね。もうDecアルファはないのでしょうか。高速計算機の会社はXeonとGPUのマシンばかりで。GPUはアレコレ下調べしないと行けないからある意味投資も大きいわけです。
DECの感動を今一度と思っているのですが。
No.1
- 回答日時:
ちょっとFortranなどは全然知らないのですが、
プログラムがシングルスレッドであれば多コアにしても全然早くならない
ということはあるんでは無いでしょうか。
回答ありがとうございました。並列化を一生懸命やれば早くなるのかなとは思います。比較する対象が両方ともシングルスレッドなので、CPUを更新することでシングルスレッドとしての高速化はあるのかもしれないと思ったのですが。CPU比較をしているサイトがありますね。横方向の棒グラフでCPUの能力を比較するような。Spec int , Spec fpとかですかね? あの比率ぐらいでは早くなるだろうと思ったのですが。少なくとも遅くなるということは考えにくいです。(実際遅くなったような気もするのです。体感ですが。)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ルーター・ネットワーク機器 AU光10G回線について 6 2022/07/25 00:12
- FTTH・光回線 AU光回線の速度が出ません 2 2022/07/30 16:05
- その他(コンピューター・テクノロジー) レポート 現代の情報科学における課題点を以下の中から少なくとも2つ選び、論ぜよ。 1 2023/01/22 10:12
- その他(ニュース・時事問題) 2050〜70年ごろの世界の経済や食糧問題や水不足などの環境問題は大丈夫なんでしょうか? 私は、良く 6 2022/06/28 22:22
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- ルーター・ネットワーク機器 家庭内LANで10GbE 3 2022/11/14 02:03
- 哲学 AIと人間の思考の違い 12 2023/02/04 12:21
- 電車・路線・地下鉄 JR西日本のダイヤ改正で今後行われそうなことは何ですか? 1 2022/07/24 12:30
- ルーター・ネットワーク機器 通信量や通信量による影響を計算し想定できますか 3 2023/01/13 09:07
- 家具・インテリア pc環境((モニター2枚、マウス、キーボード、その他周辺機器))を整えるか、ソファとテレビを買うか迷 3 2023/01/28 01:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
unsigned long long 型のフォー...
-
C言語の規格
-
cc と gcc の違い
-
gcc のコンパイラオプションに...
-
組み込みソフト。ROM領域にデータ
-
アセンブリ言語から何がわかる...
-
パーサとコンパイラの違いって?
-
家庭用家電などのマイコンのOS...
-
VC++の/Zm オプションについて
-
組み込みソフトってなんですか?
-
VBでVC++の処理速さを実...
-
ALGOL・PL/Iのフリーのコンパイ...
-
C++でデスクトップGUIアプリ開...
-
二つの整数を昇順に並べ換える...
-
【COBOL】小さい字を大きい字へ...
-
VB6のコンパイラ
-
2つのマシンでコンパイルしたld...
-
C言語インタプリタ
-
C言語のプログラミングのソフト...
-
C言語のフリーソフト。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
unsigned long long 型のフォー...
-
ソフトの開発言語を調べる方法
-
C++でデスクトップGUIアプリ開...
-
組み込みソフト。ROM領域にデータ
-
cc と gcc の違い
-
C++Builder → Visual C++ 移植...
-
printfなど、標準関数のソース...
-
COBOLのALPHABET...
-
COBOLの論理演算子について質問...
-
Visual Studio でmakefileを使...
-
cobolで実行環境って何ですか?
-
パーサとコンパイラの違いって?
-
昔のgraph.hというファイル
-
未使用引数の注意文出力を回避...
-
C言語でのコンパイラの作成方法
-
C言語はC言語でできている?
-
COBOL計算式の中間ワーク桁数に...
-
リリースモードとデバッグモー...
-
『Bin』ディレクトリは何の略語?
-
POWERCOBOLのSQL...
おすすめ情報