No.2ベストアンサー
- 回答日時:
>スーパーコンピュータの場合においても、掛け算・割り算を少なくするということは高速化に効いてくるのでしょうか?
効きます。ただしどのくらい高速化されるかについてはプログラミング方法と処理によります。
また掛け算や割り算を少なくしようとするあまりに逆に効率が悪くなり遅くなることもあります。
例えば「2で割る」という操作は割り算ではなく1ビットシフト命令を使うのが普通です(そうするとCPUにもよりますが1命令あたり100倍くらい速くなることもあります。速くなる実時間は極々わずかですが)。
仮にスパコンに高性能の乗除算器が積まれていて、内部でシフト演算をしていたとしても、割ろうとしている値が2なのかどうかを条件分岐のクロック数(おそらく1~3クロック)分だけ高速化されます。
私も昔はZ80で消費クロック数を一生懸命計算してできるだけ乗除算ルーチンを使わずにクロック数を削ることをやってました。しかし最近のCPUはどれもこれも速いので組み込み系のCPU(一般的にパソコンよりも遥かに遅いCPU)を使うときでさえ、プログラミングの効率化(アセンブラよりもC++を使って再利用可能なコードにしたり)の方に重点を置き、乗除算にはそれほどこだわっていません(あくまでも私の場合はです)。
また何だかんだと言っても乗除算にこだわるよりも処理のアルゴリズムを効率化した方がはるかに高速化されることが多いです。パソコンの場合もスパコンの場合も(円周率を求めるような)数値演算処理以外は乗除算にはそれほどこだわらなくてもいいかと思います。
回答ありがとうございます。
乗除算よりもやはりチューニングやアルゴリズムということですね。
今までは乗除算にこだわりすぎていたような気がしました。
分かりやすい説明、ありがとうございました。
m(_ _)m
No.1
- 回答日時:
そうかもしれませんね。
ただ、かけ算・割り算を極力少なくする、ということは、計算のアルゴリズム自体を改良する、ということですから、掛け算・割り算を極力少なくした結果計算量が少なくなるのであれば、計算量が少ない方が理論的に優秀と言うことになります。
あと、いくらスーパーコンピューターが優秀だとしても、そのスーパーコンピューターが積んでいる専門の演算装置を使用するような機械語命令を使わないと、大きな高速化はされないのではないでしょうか?
それは、つまり、特に計算を速くしないといけないところは、そのスーパーコンピューター用に最適化された高級言語で書くか、または、これが一番確実ですがアセンブリ言語で書くか、というところでしょうか。
回答ありがとうございます。
アセンブリ言語の知識があまりないため、アルゴリズムの改良やチューニングで高速化を行いたいと思います。
しかし、アセンブリ言語というアイデアは今まで出てきませんでした。
今後、検討していきたいと思います。
m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
2の6乗の答えと計算方法
-
累乗の逆(対数?)の計算方法を教...
-
2500を3対2でわける計算式おし...
-
8÷0=
-
割り算の説明
-
AとBの比というのはA/Bの...
-
高校一年生です。 2進法の掛け...
-
Excel関数で、Nの1/3乗という...
-
2L7dLの答えは9dLであってますか✨
-
中3乗法公式の利用について。 ...
-
割引の計算がよく説明と理解が...
-
「博士の愛した数式」中のオイ...
-
素因数分解で最小公倍数・最大...
-
12進法の計算【訂正】
-
「逆数」って、何のためにある...
-
パーセントの計算がまったく出...
-
高校1年生 数学 三行目以降がな...
-
a,bは整数とする。 aを7で割る...
-
代数和ってなんでしょう
-
荷物が550こあります。これをト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
2の6乗の答えと計算方法
-
2500を3対2でわける計算式おし...
-
8÷0=
-
累乗の逆(対数?)の計算方法を教...
-
パーセントの計算がまったく出...
-
割り算の説明
-
「逆数」って、何のためにある...
-
AとBの比というのはA/Bの...
-
素因数分解で最小公倍数・最大...
-
√2の証明によく出てくる言葉で...
-
割引の計算がよく説明と理解が...
-
4^0.5乗の答え
-
累乗の計算の仕方
-
~の~乗を計算機を使わずに簡...
-
Excel関数で、Nの1/3乗という...
-
至急回答おねがいします。 数学...
-
数学で、alphabetのxを、かけ算...
-
掛け算と割り算の混じった問題
-
期待値の問題
-
最も簡単な式?
おすすめ情報