Gauss掃出し法のベンチマークテスト

このQ&Aのポイント
  • Gauss掃出し法のベンチマークテストを行う際に注意すべきこととは?
  • 32bitCPU×2のマシンと解釈しているように見えますが、これは正しいのか?
  • Gauss掃出し法のベンチマークテストに関するマニュアルや情報源はあるか?
回答を見る
  • ベストアンサー

Gauss掃出し法のベンチマークテスト

 ある事情から、効率化オプションを組み込んだ、連立1次方程式のGauss掃出し法のベンチマークテストをやっています(今さらながら・・・(^^;))。  以下は本来であれば「コンピューター(技術者向け)」の板に質問すべき事ですが、ものが数値計算だけに、ここに経験済みの方がいらっしゃるのでは?と思い、質問しました。  Visual Studio 2010以上では、プログラム群のプラットフォーム環境としてAny CPUおよび、32bit(X86)と64bit(X64)を、プログラムの対象として32bit/64bitのコンパイラースイッチを選べます。  「Any CPU環境」×「32bit対象」でコンパイルしたプログラムを、64bitCPU×1,搭載メモリ8GBのマシンにインストールすると、結果から判断してプログラムは、32bitCPU×2のマシンと解釈しているように見えます(エミュレート)。この判断は正しいでしょうか?。メモリ8GBの行列規模1000なので、仮想メモリによるパフォーマンス低下などはない、と考えています。  昔、Insider .NETなどでこのような話を読んだような気もするのですが、どこだったか忘れました。  手がかりになるマニュアル,サイト、もしくは「こう考えれば明らかだよね?」など、ご存知でしたら教えて下さい。

noname#221368
noname#221368

質問者が選んだベストアンサー

  • ベストアンサー
  • Water_5
  • ベストアンサー率17% (56/314)
回答No.3

すみません。私が勘違いしておりました。 Gauss掃出し法はいまでも盛んにやられています。 現在、盛んに計算させているようですが、 パラメーターを色々変えてやっているとき 計算不能のエラーを出してストップすることありませんか? このときは、誤差を出して計算不能になっているのです。 このため、私は、出てきた答えが真値かどうか、わからないと 言ったのですが、これは言いすぎですね。すみません。

noname#221368
質問者

お礼

 ご回答ありがとうございます。こんな回答の付きそうにない質問を無視しないで頂いて、嬉しかったです。  これから同じ質問を、「[技術者向け]コンピューター」の板に投げるために、これで締め切らせて頂きます。  やっぱり「蛇の道は蛇」・・・なんでしょうね(^^;)。

noname#221368
質問者

補足

 返信が遅れて申し訳ありません。 >誤差は未知数の数に比例する・・・  それは確かにそうですね。通常規模の係数行列範囲内(1000~5000)でも、倍精度実数の有効桁数約16桁の内、6桁くらいは誤差で食われる事は覚悟しないといけないなぁ~(^^;)と、経験的には思っています。整数に換算すれば100万オーダーですから、微妙な比較をやってる時は、頭が痛くなります(^^;)。 >計算不能のエラーを出してストップすることありませんか? とは、「Division by zero」もしくは「Over flow」エラーの事でしょうか?。  上記対策として普通は、Scalingを前提に行方向Pivot選択を行って対処しますが、Scalingと行方向Pivot選択をやっていれば、係数行列が特異でない限り実用的には、しぶとくほとんど真値を出してくれると思っています。というか、Scalingと行方向Pivot選択をやって初めて、誤差で食われる桁数が6桁程度に収まる気がしてます。  係数行列が特異な場合は、いずれにしろ、望みはありませんよね?(^^;)。

その他の回答 (2)

  • Water_5
  • ベストアンサー率17% (56/314)
回答No.2

「連立1次方程式のGauss掃出し法」は今ははやりません。 何故なら未知数20個の場合、20連立方程式になります。 これを掃き出し法でやると、計算が複雑になるのはともかくとして、誤差の問題が出てきます。 出てきた答えが、誤差のため真値からかけ離れた値が 出てきます。未知数の個数に比例して誤差が大きくなると言う 論文もあったような気がします。これでは使いづらいですね。 今現在、主流なのは偏微分方程式を近似的に解くやり方です。 これだと、出てきた答えを元の連立方程式に代入してやれば 真値かどうか確認でき、殆ど真値であることが確認されております。

noname#221368
質問者

補足

 頭が古いせいか、連立1次方程式と偏微分方程式の関連が想像できなかったのですが、次のような事でしょうか?。 (1)任意の連立1次方程式について、対応する偏微分方程式を指定する方法がある. (2)逆に偏微分方程式を数値的に解く場合、昔は系を(最も単純には)局所線形化して連立1次方程式に引き直し、近似解を得てましたが、今では別の方法がみつかり、そうしなくて良くなった.  あなたの仰る方法を紹介している文献やサイトがあれば、初耳なので教えて下さい。

  • Water_5
  • ベストアンサー率17% (56/314)
回答No.1

、64bitCPU×1,とは具体的にどんなCPUですか? AMDのAthlone64ですか? IntelのCore i7等は32bitCPUをサポートした64bitCPUと 言うことになります。 それ故、32bit版コンパイルしても使えるし、64bitコンパイル しても走ります。正しい結果が出ます。 Intelが両方使えるようにデザインしてあるのです。 32bitCPU×2のマシンと解釈しているかどうかはわかりません。 64bitレジスターのうち、左半分の32bitレジスターを使っていることはわかりますが、そのとき右半分の32bitレジスターも 使っているかどうかがわかりません。 もしそうなら、DualCPUもどき、DualCoreもどきになって 処理速度は2倍になりますね。 ベンチマークテストをやり確認してみては?

noname#221368
質問者

補足

 回答ありがとうございます。  CPUはIntelで、じつはQuad Coreです。「Core i7」などはどこで調べればわかるでしょうか?。 >もしそうなら、DualCPUもどき、DualCoreもどきになって処理速度は2倍になりますね。  結果から判断してというのは、実際にベンチマークテストをやってみた結論です。  32bitを対象としてプログラムをコンパイルし、32bitDualCoreのCPU×2(Intelかどうか現状ではわかりません)で同じ計算をやらせてみると、2倍は速くなりませんが、3割程度速くなるものの、計算時間の結果は不安定になります(時々、2倍程度時間がかかったりする)。この結果は、同じインストールを64bitQuadCoreCPU×1で実行させた場合と、ほぼ同じでした。  アルゴリズムの検証なので、それでは困るわけです。64bitを対象としてプログラムをコンパイルし、Intel64bitQuadCoreCPU×1でやらせると結果は安定するので、とりあえず困ってはいないのですが、要するにそうなる原因の確認が欲しい、というところです。

関連するQ&A

  • ベンチマークテストに対する、コンパイルの影響

     ある事情から、効率化オプションを組み込んだ、連立1次方程式のGauss掃出し法のベンチマークテストをやっています(今さらながら・・・(^^;))。  Visual Studio 2010以上では、プラットフォーム環境としてAny CPUおよび、32bit(X86)と64bit(X64)を、プログラムの対象として32bit/64bitのコンパイラースイッチを選べます。  「Any CPU環境」×「32bit対象」でコンパイルしたプログラムを、64bitCPU×1,搭載メモリ8GBのマシンにインストールすると、結果から判断してプログラムは、32bitCPU×2のマシンと解釈しているように見えます(エミュレート)。この判断は正しいでしょうか?。メモリ8GBの行列規模1000なので、仮想メモリによるパフォーマンス低下などはない、と考えています。  昔、Insider .NETなどでこのような話を読んだような気もするのですが、どこだったか忘れました。  手がかりになるマニュアル,サイト、もしくは「こう考えれば明らかだよね?」など、ご存知でしたら教えて下さい。

  • MHFベンチマークについて

    MHFベンチマークを1280x1024のサイズで、GeForce 9600GTで動作させて見たところ、スコアが6988しか出ませんでした。 スペックは以下のとおりです。 OS:Windows XP Professional 32Bit CPU:Athlon64 X2 5200+ AM2 2.7Ghz (512KBx2 65W) メモリ:4GB DDR2 6400メモリ (2GBx2 実質3328MB使用可能) HDD:Seagate ST3500410AS Barrucuda12 SATA2 500GB 16MB Cache グラフィック:Palit製 NVIDIA GeForce 9600GT Sonic 512MB GDDR3 オーバークロックモデル グラフィックドライバ:181.22 (6.14.11.8122) これはCPUが弱いからなんでしょうか? 回答お待ちしております。

  • ベンチマークの数値はでているが

    いつもお世話になっております。 グラフィックカードを購入し動作しているかどうか実験の為 ベンチマークを色々試したところ FF XIのベンチマークでは 値5000でたのですが 有名どころの 3DMark05と 3DMark06を試そうとしたところ 画面がぶれてフリーズ、パソコンが落ちてしまいます。 有名ベンチマークで動作しないので正常に動作できているのか 不安なのですが、大丈夫なのか確認する方法はないでしょうか? 使用しているパソコンのスペックは CPU Pentium4 2.8Ghz マザーボード MSI製 Intel® 925X チップセット 925X NeoPlatinum PCI-E / RADEON HD2600XT / 512MB 128bit DDR3 メモリ Samsung DDR2 SDRAM PC2-6400 SAMSUNG 1GB x3 となっています。

  • デビル メイ クライ4のベンチマークテストにて。

    デビル メイ クライ4のベンチマークテストを行ってみたのですが、PCの構成のわりにはスコアがかなり低いです。なにが原因なのでしょう。 PCとグラフィックボードの相性が悪いのでしょうか? PC構成 CPU:Core i7 920 2.66GHz メモリ:DDR3 1600MHz 3GB ビデオカード:ATI 4870x2 DDR5 2GB OS:VISTA Ultimate 32bit 電源:1000W DirectX 10 ゲーム設定 解像度:1680x1200 アンチエイリアシング:x4 フルスクリーン:ON ディスプレイの周波数:60Hz テクスチャー:SUPER HIGH 垂直同期:OFF フレームレート:VARIABLE シャドークオリティ:SUPER HIGH クオリティ:SUPER HIGH ビデオカード設定:バランス ドライバーバージョン:9.3 スコア SCENE1:119.26/SCENE2:85.1/SCENE3:149.49/SCENE4:91:5 ランクSではあったものの、全体的に低いです。 もし相性が悪かった場合、グラフィックボードの買い替えしか ないのでしょうか? ちなみに、このPCを組み立てた時、グラフィックボードだけ 中古で買いました。

  • x86系のCPUとは?

    よく「x86系のCPU」という言葉を耳にするのですが、どのようなCPUのことなのでしょうか。また、どのような特徴があるのでしょうか。プログラマーやっているのですが気をつけなければいけないことありますか? それと、32bitCPUとか64bitCPUのbitってデータバスの幅のことなのですか? よろしくお願いします。

  • モンスターハンターフロンティアのベンチマークにて。

    デビル メイ クライ4のベンチマークでFPSが少し低いと思ったので、ほかのベンチマークソフト(モンスターハンターフロンティア)で試したところ、以下のスコアがでました。ですがこの数値は高いのか低いのかよくわかりません。僕のPCではこれぐらいなのでしょうか。 PC構成 CPU:Core i7 920 2.66GHz メモリ:DDR3 1600MHz 3GB ビデオカード:ATI 4870x2 DDR5 2GB OS:VISTA Ultimate 32bit 電源:1000W DirectX 10 ビデオカード設定:バランス ドライバーバージョン:9.4 スコア 1280X720:27750 1280X1020:22600 1920X1200:14727

  • PSO2のベンチマークスコアが低い

    OS:Windows7 Home Premium CPU:Core i7 CPU930 メモリ:12GB グラフィックカード:GTX980 4GB マザーボード:MSI X58M PSO2のベンチマークで解像度1920×1200簡易描画設定5の設定でやったらスコアが27000ぐらいだったんですけど、このスペックだとこのぐらいが妥当なのでしょうか? 常時FPS230~180くらいでした 最新のドライバーはちゃんと入れてあります

  • FF11 ベンチマーク

     早速質問させて頂きます。 (1)OS:Windows Vista Home Premium 型番:CE50Y9 CPU:Intel(R) Core2Duo E4500 (2.20GHz) メモリ:2038MB HDD:320GB オンボード:G965 GMA X3000 FF11ベンチマーク結果 Low:3075 High:2063 (2)OS:Windows Vista Home Premium 型番:CE50Y9 CPU:Intel(R) Core2Duo E4500 (2.20GHz) メモリ:2038MB HDD:320GB オンボード:G965 GMA X3000 グラフィックボード:GX-84GS/E256(8400GS) FF11ベンチマーク結果 Low:6820 High:3797 (1)と(2)の結果は妥当なのでしょうか? あと、(2)でFF11をPlayする場合快適に動作するでしょうか? 長々とすみません。

  • 最大搭載メモリ量の考え方について

    今、PCアーキテクチャについて勉強しているものですが、最大搭載メモリ量の考え方がよくわかりません。お教えください。 <質問> 32bitCPUの場合、最大搭載メモリが4GBまで(細かい話は抜きにして基本的な考え方で)と良く聞きますが、この考え方がよく分かりません。 ●私の考え方 アドレスバスが32bitで、2の32乗で約43億bit(通り)表現できて、データバスが64bit(32bitCPUの場合)なので、2の32乗×64=約2750億bitでさらに8で除算して約34GB程度のメモリが扱えるのではないか? トンチンカンな考え方かもしれませんが、やさしく分かりやすくお教えください。よろしくお願いします。

  • ベンチマークのスコアが低いです。

    ベンチマークのスコアが低いです。 3Dmark06で総合スコア10600~11000、FF14ベンチマークでLow設定2200と、似た環境と比べて明らかに 低いスコアしか出ません。通常なら、低くとも、3DMark06で13000、FF14でLow設定3500ぐらいは出てもまったくおかしくはないと思うのですが・・・ また、GPUとCPUのオーバークロックが低スコアの原因かと思い、デフォルトに戻してみたものの全く効果無しです。 ちなみに、高負荷時に電源が落ちたりすることはないので(OC時も)、電源の容量は足りていると思うのですが・・・ OS Windows 7 Ultimate 64bit ボード:GTX260 192sp 896MB メモリ:DDR3 4GB CPU:Athlon II X4 620 MB:MSI 790GX-G65 チップセット:AMD 790GX+SB750 電源 AQTIS REX-AP550B12 HDD HGST HDS721010CLA332