- 1 名前:デフォルトの名無しさん [2008/01/04(金) 14:25:44 ]
- 主にx86系で浮動小数点を扱う話題
- 277 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 23:43:37 ]
- >例えば 1/7 の循環小数を入力したら、ちゃんと 1/7 を答えてくる、みたいな。
循環小数を入力する書式さえ決めれば、どうにでもなるかと 循環部分を括弧で囲む 0.[142857] とか、循環する桁数を付ける 0.142857, 6 とか 142857/999999 で約分して 1/7
- 278 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 00:40:17 ]
- >273
どこの分野でも測定機の精度が八桁もあったら高性能といわれる 実数をきちんと表現しても元データの誤差以上にはならないから 現実的には計算が遅くなるだけでなんの意味もなさないでしょ 役に立たたないことそんなに力説しないでもいいんじゃない >276 循環小数なら整数演算だからスレ違いでしょ
- 279 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 00:45:04 ]
- KY
- 280 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 00:58:12 ]
- 不可算無限個について、なにやら認識が膨らみすぎてどうにかなっている人がいるので、ちょっと書いとくよ。
可算な集合の特性は適当な集合について、これをコンピュータで言う所の class でいうと それは隣の要素を知るためのインターフェイスがあるという事だよ。 適当なコンテナオブジェクトがあるとき、その内容を列挙する気がないのなら別に列挙インターフェイスをつけなくてもいいんだよ。 それが不可算無限個を扱うという事、作れないって事はない、それは機能が制限されたライブラリとなっているだけだから。
- 281 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 01:55:10 ]
- >>277
なるほど。 ちなみに 142857/999999 というのは等比級数の無限和ですかね?
- 282 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 05:33:20 ]
- >>281
x = 0.[142857] 1000000x = [142857] = 142857.[142857] 1000000x - x = 142857 x = 142857/999999
- 283 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 09:22:43 ]
- >>282
なるほど。等比級数を持ち出すまでもないですね。ってゆうか確か高校で等比級数の和を 教えるときは同じような変形をするんだったかな。 浮動小数点の数値を整数分数に直してその後は分数として計算したら、精度的には うれしい場合もあるかな?
- 284 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 10:28:18 ]
- >循環小数を入力する書式さえ決めれば、どうにでもなるかと
>循環部分を括弧で囲む 0.[142857] とか、循環する桁数を付ける 0.142857, 6 とか 914314.3143...とかどうしよう。9[143]XX.0とかでいいか。 無理数か循環小数かよく解らない数はどう表そう。 オイラーの定数γとか。
- 285 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 11:51:53 ]
- ttp://q.hatena.ne.jp/1130932358
- 286 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 13:06:33 ]
- >>278
ビット表現に×2^nと正規化が出てきたら文字通り 浮動小数点だと言ってみるテスト (まあ現在普通に浮動小数点といえば 誤差含む数を扱うためのものだが) >>280 実際のところ実数が不可算無限個あるって性質は 無視していいよね。 数学上は可算無限個の中に含まれない実数を 作り出すこと自体無理だし、 実用上は誤差を考えれば有限桁ですむし。 >>284 表そうも何もどういう循環小数か分からない時点で
- 287 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 15:46:50 ]
- >>286
有限のメモリーの中に無限を置けないのは、可算・非可算問わず事情は同じで 有限のメモリーの中"無限"という文字列が取り扱えるという事情も可算・非可算問わず事情は同じかと。
- 288 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 16:28:26 ]
- まあ、この話が出てきたのはBCDなら万全とかいう変な人のレスからだし、
真剣に無限どうこう考えてるわけじゃないでしょ。
- 289 名前:デフォルトの名無しさん [2008/02/27(水) 20:29:04 ]
- BCDなら万全とかいう変な人のスレ
pc11.2ch.net/test/read.cgi/db/1175091880/
- 290 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 01:20:43 ]
- 非加算な世界を考えれば、もうなんでもありですからね。
アルフ0 の一つ上は実数でしたっけ(連続体仮説?)
- 291 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 11:10:14 ]
- >現在の数学で用いられる標準的な枠組みのもとでは
>「連続体仮説は証明も反証もできない命題である」ということが明確に証明されている。
- 292 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 00:01:38 ]
- >>240
>(任意の循環小数には有限小数に変換できるような基数が必ず存在する?) >もしかして有理数 m/n として表されるなら n を基数にすればいいとかそんな感じかな? >n が素数でない場合はもうちょい工夫できそうな? >>243 >・(n*x == o**y)を満たす整数x,yが存在するならoは何でも良い nからよりコンパクトなoを求めるアルゴリズムが思い浮かばないよぅ。 素直にnを素因数分解するほうが近道か・・・
- 293 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 23:33:47 ]
- 素因数分解はコストが大きいですよ
- 294 名前:デフォルトの名無しさん [2008/04/25(金) 22:58:05 ]
- 高精度計算サイト
ttp://keisan.casio.jp/has10/Menu.cgi 公開数日で、はてブ500ブックマーク突破。 有効桁数50桁。これ、BCDかなあ…。オリジナル精度の浮動小数点数かも。 プロの電卓屋が考えた「独自の桁数可変型演算システム」とやらの詳細が知りたいぜ! 君たちの大好きな 1 / 3 * 3 もちゃんと 1 になるぞ!
- 295 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 00:10:49 ]
- 1.4142135623730950488016887242096980785696718753769
確かカイジでは イヨイヨ ミゴロシ って読んでた気がする。 1414 3564 >>294 CPUは、繰り上がりフラグがあるから、足し算なら無限にできる。 掛け算を因数分解して有効桁の範囲で計算したあと足し合わせればいいわけで。 または文字で計算。まあ速度的にないと思う。
- 296 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 12:32:29 ]
- 宇海零が開平法知らなくてフイタw
- 297 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 15:47:06 ]
- ひとよひとよにひとみごろ
1. 4 1 4 2 1 3 5 6 が一般的だろうな。
- 298 名前:デフォルトの名無しさん [2008/09/25(木) 14:29:48 ]
- float 使うヤツはドシロートかおぢさん
pc11.2ch.net/test/read.cgi/tech/1222048909/
- 299 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 07:38:27 ]
- 299
- 300 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 16:44:13 ]
- 300
- 301 名前:デフォルトの名無しさん [2009/02/15(日) 22:19:06 ]
- FPU命令に三角関数があるらしいけどマジで?
ところで、Boostの分数はいずれ多倍長整数をサポートするとか。 精度ってどうなのよ?
- 302 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 22:27:45 ]
- >>301
8087の頃からある。
- 303 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 22:50:46 ]
- >>302
ほへぇ〜。だったらsinテーブル作って引くよりそっち使った方が早いのかな?
- 304 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 22:55:46 ]
- >>303
んなわけないだろ 8087系統は愚直にマクローリン展開の公式を実行している だけだからクロック数はすごいぞ
- 305 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 23:06:12 ]
- そっか。でもまぁ、SSEなんざ使うよりまし?
- 306 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 23:18:07 ]
- >>303
そういうことを自分で調べずに、このスレで何をするつもりなの?
- 307 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 07:46:44 ]
- >>304
乗算器が速くなかった時代では級数展開やってない。 CORDICでぐぐれ。
- 308 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 19:05:38 ]
- >>306
実装って複数あるだろうから平均的な動作を知りたくてね。 やろうと思えば、アセンブリ命令レベルで組み込まれてる訳だから 並列化した回路を実装してある物もあるかもしれないじゃん。 でも、そういう情報は古すぎてかあんまりWebにゃ載ってなくてねぇ。
- 309 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 00:43:56 ]
- >>307
ほう昔はこんな方法使ってたのか 今じゃRadix16だからなー
- 310 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 16:44:54 ]
- 逆数テーブル持ってるんじゃなかったのか。
- 311 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:04:32 ]
- doubleの逆平方根が存在しないのは何故?
floatからニュートン法でやるしかない?
- 312 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:44:15 ]
- >>311
あるところにはあるよ。 ttp://docs.hp.com/en/B3921-90010/rsqrt.3M.html
- 313 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 00:17:31 ]
- そうか、SSEスレじゃないのかスマン
HPのWS?の関数じゃあなあ
- 314 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 00:22:08 ]
- そりゃぁ、このスレはx86での浮動小数点数のスレなんだから、HP-UXだってありだろ。
- 315 名前:デフォルトの名無しさん [2009/02/19(木) 19:55:09 ]
- 素朴な疑問。SSE用レジスタっていっぱいあるけど、
なんちゃらオーダー見たいな機能で並列実行とかされないの? 暇そうに遊んでるレジスタが気になって仕方ない。
- 316 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 20:18:35 ]
- OOOのことか?
>>SSE用レジスタっていっぱい だからOOOが効くとでも思ってるのか?
- 317 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 21:00:28 ]
- やっぱりねぇ。
結局多項式でぐらいしか意味は無いのか。 もったいねぇ。
- 318 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 21:04:49 ]
- >>317
おまえ、全然分かってないな 多項式だって a(b+x(c+x(d+x)))をSSEに置き換えただけでは 全然効果ない
- 319 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 22:01:15 ]
- >>318
そうなんけ?2〜3倍早くなったことはあったけど。 じゃああのレジスタ群は何に使うのよ?
- 320 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 22:04:50 ]
- そこがテクニックw
- 321 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 22:53:03 ]
- >>318
単に置き換えただけでも効果あるぞ。 FPUはfxchとか駆使してもOoOし切れないことが多い。
- 322 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 23:01:06 ]
- SSEの一番の問題は、超越関数を使うにはFPUに切り替えるかiccの内部関数に頼るか自作する必要があることだな。
- 323 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 02:56:34 ]
- iccではsseで改めてcos/sinとかを(ソフト上で)実装してるってこと?
icc持ってないから分からないんだけど。
- 324 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 04:00:23 ]
- あるっぽいよ。iccが出力した実行モジュールのプロファイルを見た限りでは。
- 325 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 04:13:50 ]
- sse精度になっちゃうんじゃないの?
それとも-msse, -O3とは別の意味で、オプションとか組み込みキーワードで精度を選択できるのか?
- 326 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 14:15:09 ]
- 10バイト精度でがんばっていた人たちって、どうするのかね。
- 327 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 15:17:11 ]
- fp80のことか?もう見捨てられてるっしょ。
ただでさえサポートしてるプロセッサはx86以外ほぼ皆無だし。 実際問題精度よりスループットのほうが重視されてるからな。 スループットがあればFFTによる多倍長演算も容易になる。
- 328 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 17:19:20 ]
- むぅ、128bitはドリフトか。
- 329 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/02/20(金) 22:08:20 ]
- 80bit精度って今となっては帯に短し襷に長しだからな。
MSコンパイラがlong double = doubleにやっちゃってるし。
- 330 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 22:56:00 ]
- 80ビットはインテルの(変態)独自仕様だと思ってたけどちがうの?
出来るだけ64ビットに演算誤差を伝播しないようにするインテルの親心というか・・・
- 331 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 23:02:41 ]
- ところで、FFTの多倍長というのは桁数いくつ以上からを考えてるの?
128ビットじゃないけど、金融・財務とか科学の計算でも普通は多く50桁*2程度あれば十分だと思うけど。 暗号とかエンコード用途なら、スループット以前の問題でFFTをハードとしちゃうだろうし。 というか、IEEEは早いところ16ビット小数を定義して実装して欲しい・・
- 332 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/02/20(金) 23:14:27 ]
- もうAMDのでいいよ
- 333 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/02/20(金) 23:26:23 ]
- つか、金融・財務で10分の1が正確に表せない浮動小数は非常識かと。
COBOLみたいな10進で扱う言語がわざわざ使われてるわけで。 かつ、Javaへの置き換えとかはBCD専用クラスとか作ってやってるわけで それにしてもAMD64がBCD演算命令を整理(廃止)する一方で今更POWERが実装とかアフォかとヴァカかと どうせ高級言語ごしでやるんだから命令ニーモニックレベルでのサポートも原則的には要らない訳なんだが。
- 334 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 00:19:22 ]
- 桁数の実用性の問題だから、当然BCDとか小数とかの比較のことじゃなかったんだけど。
BCDとかの実装の問題だとしても、ソフト上でintでいいんじゃないの? 例えば、高々100桁程度でかつ100桁の固定精度で十分なのに、どこにFFT使うんだ? 廃止かどうかというのは、当時の貧弱なハードや産業界の需要によって機能をつけたわけで・・・ 浮動小数は、実際は指数部分が重要なわけであって、仮数部分は低精度でいいってことは分かってるのか?w 仮数の精度は低いが、たとえ8ビットだとしても高精度と比較してもグラフの形状はほぼ同じ形状になる。 高精度が欲しいなら小数なんか使わないでBCDにすればいいんじゃないの?
- 335 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 00:37:55 ]
- >>322
SSEというのはスカラー演算はおまけで、ストリーム用途(といってもたった16バイトだけど)が本命じゃなかったのか? インテルはサーバ用CPUの方に目がいっちゃってるから、PC用ではAMDの方がやる気あるよねって言うのは同意するけど。 でもインテルは組み込みやサーバーや携帯市場にもいってみたけど活路は無く、一方でPC市場を放棄したりして一体何やりたいんだろうね。 一番活躍できそうなネットブックは、MSが仕様作ってるからインテルが主導権握ってる市場じゃないみたいだし、インテルには将来の展望というか何やりたいのかさっぱり見えてこない。 小数とは関係ないけど。
- 336 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 00:59:08 ]
- 少し話がずれていくが、「仮数部分は低精度でいい」ってのは語弊があるな
高い精度で高速な浮動小数点演算を必要とする需要ってのもいくらでも存在するぞ 最終段の出力が全てではないわけで ま、そのために80ビットてのも痛し痒しだって流れには同意するけどね
- 337 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 01:22:45 ]
- >>336
それも一応考えてみたんだけど、浮動小数を他と比べるとき、仮数(有効精度)で比べると10進上の扱いや演算誤差はBigDecimalの方が分があるから浮動小数は入らないとなるけど、 指数では当然だけど浮動少数の方にメリットがあって、少ないビットで巨大な数2.1 * 2^1022 などを表現できることに利点がある。 これはBCDでは桁数分の配列(上と同じなら1000以上)を用意しないとだめだし、もしBigDecimalだとしても実装が val * 10^exp とするならそれは浮動少数でしかない。 つまり浮動小数は、極端に言えば仮数は指数がゼロか否かの1 0のみでよくて仮数に意味はなく指数が命ってことになる。 すると8ビットでもいいじゃないのって事がわかってくる。深く考えてみれば分かるよ。 それなのに仮数の精度がどうとかこうとか言うのは、よくいるだろ?財務アプリなのにint,longで金額を保持しちゃう奴。アレと同じだろ。 もし精度が欲しかったり演算誤差を気にするなら、プリミティブ型なんか使わずちゃんとBCDつかったりソフト上で多倍長を実装するべきだと思うよ。
- 338 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 01:36:23 ]
- sigma取る時に桁落ちしなければ何でもいい
- 339 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 01:56:44 ]
- じゃ80ビットでいいじゃん。64ビットまでを有効桁にするだけ。
関数電卓(手元にあるのはカシオだけど)の説明書では10桁を有効桁にして、内部では15桁でやってるとかいてある。 たぶん実際のこと知らないのに、どっかの三流起者とか○○研究所研究員が書いた記事を鵜呑みにしちゃって、演算誤差が出やすいとか思い込みしてたんじゃないの?w
- 340 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 12:19:27 ]
- >>339
10^15程度でいいなら倍精度の53ビットあれば十分だろ。 更に言うなら64ビット整数と10^nの固定スケールで表してもいい。 なおさら機種依存のfp80なんて使う必要ねーよ。 むしろ【浮動】小数で扱う必要がない。 ジンバブエドルでも扱うのか?www
- 341 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 12:25:43 ]
- 15桁っていうのは、内部的に倍精度ってだけなんだろ
ところで財務アプリなんか触ったことないがなぜlongで保持しちゃいけないんだ? _int64で持てってこと?
- 342 名前:デフォルトの名無しさん [2009/02/21(土) 12:59:31 ]
- 言いたいことが良く分からないんだけど、例えばジンバブエドル100兆ドル札が発行されたとしても、使う人たちはりんご20個で100兆130ドルか100兆140ドルかの違いなど気にすることはない。
君の妄想はこの程度しかできないんだろうけど、もっと現実に即して考えないと後々損することになるかもしれないよ。 80ビット精度は上にもあるように64ビット(IEEE定義のdouble)に演算誤差を伝播しないためにインテルが保障を確保するために必要とする精度であって、ジンバブエドルとはまったく別の話。 英語のウェキの方が詳しいが、IEEEの浮動小数点数の定義も含めて勉強しなおしたほうがいいんじゃないか?
- 343 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 13:02:00 ]
- >>341
longで持ってもいいけど、プリミティブかオブジェクト(インスタンス)かの違い。 インスタンスで持つとオブジェクト指向の方法論が使えて何かと便利ってこと(他にもあるけど)。
- 344 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 14:18:45 ]
- >>343
いや、普通に long じゃ桁あふれするだろ。
- 345 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 14:29:50 ]
- この前ジンバブエドルがデノミを行ったのは、コンピュータで扱いきれなくなる恐れがあったかららしい。
- 346 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 15:10:35 ]
- >>342
金融演算知らないシッタカは黙ってな。IEEE浮動小数なんて使わねーよ。 整数四則演算より80ビット浮動小数の方が速いような変態CPUなんてどこにあるんだと。 fp80をかろうじて使える当のIntelすら整数(固定小数)のほうが圧倒的に速い。
- 347 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 15:15:02 ]
- 100兆130ドルか100兆140ドルかが大きな意味を持つ世界もあるわけで。
結局適材適所だよね。
- 348 名前:デフォルトの名無しさん [2009/02/21(土) 15:17:40 ]
- 知ったかといって大きく出た割にはビッグマウスだなw
金融とか財務とかのアプリで、どこに浮動小数を使う場面があるんだ? 整数と浮動小数(IEEE)で全然違うフォーマットなのに比べてみたり、一体いつの時代で比較してみたり速いとか遅いと基準もなく比べたりしてるんだ? どうせ「IBM」という肩書きの3流記事を読んで頭おかしくなっちゃってるんだろ。知ったかはお前の方だな。カスは黙ってろw
- 349 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 15:19:21 ]
- Wiki=ウ【ェ】キは新しすぎる
- 350 名前:デフォルトの名無しさん [2009/02/21(土) 15:23:05 ]
- 新ジャンル「ウェキ」
- 351 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 15:23:10 ]
- >>346
あのね、ベンチマークなんかいくらでも都合よくプログラム書ける訳よ。 インテルがtmpegエンコ―ダに賄賂(支援)してインテルCPUに都合よくプログラムしてるって話は有名だろw 例えば統計の数値使って官僚とか経営者を騙すとかたまに聞くだろ。つまり、IBMとか東大とか肩がきってのはそういうの同じ(その統計もある意味あってるから別に否定はしないけど) 頭弱いおサルちゃんはどの分野にいっても「コロっと」騙されちゃうんだろうけど(笑)
- 352 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 15:26:04 ]
- TMPEGはCUDAにすら対応してるわけだが
賄賂?妄想を既成事実にしないで下さい
- 353 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 15:35:51 ]
- 最新のIntelCPUでFP80がクソ遅いのは常識なわけだが。
物理的に32bit×4ないし64bit×2のSIMDに最適化された演算器しか載ってないし。 なにより今時スタックな時点で論外。 他人のベンチがどうとか以前に自分で計測してみろよ、ゆとり
- 354 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 15:42:52 ]
- >金融とか財務とかのアプリで、どこに浮動小数を使う場面があるんだ?
PBRとかわざわざ固定小数で計算してるとは思えないな。
- 355 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 15:47:47 ]
- SIMDでBCDを使うと10のべき乗単位の乗除をバイトシフトで表せるという利点がある。
- 356 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 15:52:16 ]
- BCDクラス内でSIMD用のビットアラインメントって出来るの?
- 357 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 15:53:21 ]
- どんなに精度が高い演算ができようとも、手計算で小数点以下2桁で切り捨てた低精度演算の結果に合わせなけばならない悲劇
- 358 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 17:43:02 ]
- >>353
物理的にはFPUユニットとSSEユニットが載っているわけで、間違って覚えたりしてないでインテルのマニュアルをあとでこっそり読み直したほうがいいんじゃね? 鼻高々に知ったかばかりしてると、もっと大きな恥かくことになるからw
- 359 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 20:48:14 ]
- 使わないなら、銀行型四捨五入とかやめてほしかった。
- 360 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 20:51:37 ]
- >>359
それ何?
- 361 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 20:56:53 ]
- >>359
銀行で使ってるの見たことないんだけど 使ってる銀行ってあるの?
- 362 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 21:13:02 ]
- >>360
つ Banker's Rounding
- 363 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 21:55:45 ]
- ジンバブエで使ってるCPU使えばよい
- 364 名前: ◆0uxK91AxII mailto:sage [2009/02/21(土) 22:05:17 ]
- >>353 >>358
ia32_final_i.pdf 今時のCPUは十分に処理能力が高いから、遅くても問題ない。
- 365 名前:デフォルトの名無しさん [2009/02/21(土) 23:45:37 ]
- >>364
いや、シミュレーションの世界では早ければ早いほどよい。
- 366 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/02/22(日) 00:04:04 ]
- >>358
「論理的」だろ。物理的に別ユニットっていつの時代のCPUだよ。 現行のCore MAなんかではx87とSSEは共用だよ。 大別してFADDがSIMD FP Adder, FMULがSIMD FP Multipler。 あとDividerとかFP ROMが同じポートにぶら下がってるかな まあ、fpスタック経由でしか80bit精度の演算ができない(XMMレジスタは使用できない)時点で 実効スループットは察して下さい。 >>364 英語版にしろよ。それPentium 4までしか載ってなくね?
- 367 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/02/22(日) 00:19:58 ]
- www.intel.com/products/processor/manuals/
IntelR 64 and IA-32 Architectures Optimization Reference Manual SKU #248966 ゆっくり読んでいってね! SIMD FPユニットとx87用ユニットが別なのってIntelだとPentium IIIが最後だと思うんだが。 あんときはSSEは単精度までのサポートだったから共有化の機運がなかったのかな?
- 368 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 01:07:42 ]
- >>366
結局お前か。お前のウンチクなど聞きたいわけではないわ。 名無しで潜伏してないでちゃんと名を名乗れ。ニートwww
- 369 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 01:14:17 ]
- >>367
スループット云々よりもメイン・メモリとのレイテンしが改善されないから、もう頭打ちなんじゃないの? 結局fetchに頼るのみなら、80ビットやFPのフォーマットや機構(スタックとか)の問題じゃないし。 SSEは、レイテンシを考えると、ガバッと持ってくるようにするために16バイトとかケチってないで32バイト(double*4)でよかったんじゃないかと思う。
- 370 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/02/22(日) 01:24:09 ]
- >>368
は?ww 被害妄想いいかげんにして。 ウェキは吹いたwww
- 371 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/02/22(日) 01:25:14 ]
- >>369
>SSEは、レイテンシを考えると、ガバッと持ってくるようにするために16バイトとかケチってないで32バイト(double*4)でよかったんじゃないかと思う。 それがAVXなんだけど・・・。
- 372 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 01:38:55 ]
- >>346
> 整数四則演算より80ビット浮動小数の方が速いような変態CPUなんてどこにあるんだと。 Netburstだと、整数の乗除算よりFPの乗除算の方が速い
- 373 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/02/22(日) 01:40:14 ]
- prefetch*はキャッシュライン単位だぞ。
あと、Core MAやAMD K8以降ではL1キャッシュの1ラインは64byteなんで。 シーケンシャルリードなら同一ラインの後続ブロックもL1から続けて読めるから >>369の想定する用途では全然問題ないと思うんだが。 シーケンシャルとか定ストライドなどのパターン性のあるアクセスなんかだと いまのCPUではキャッシュ自体が自動的に先読みしてレイテンシ隠蔽してくれる機会がある。 ベクトル長伸ばしちゃうとそれはそれで厄介だぜ 座標を表すのですら、単精度だとx, y, zであと1要素分余らせたりすることが珍しくない。 現状のSSEの実装ではpermute演算はそこまで強力じゃないので128bitが妥協点だったのでは?
- 374 名前: ◆0uxK91AxII mailto:sage [2009/02/22(日) 01:55:30 ]
- >>367
thx >>369 >メイン・メモリとのレイテンし そこは、cacheが入り込むし、命令の並び換えで適当に隠せる。
- 375 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 02:06:22 ]
- >>373
>現状のSSEの実装ではpermute演算はそこまで強力じゃないので128bitが妥協点だったのでは? だからさ、その時代その時代に合わせたお前のウンチクなんて興味ないのよ。 3年後には全く逆のこといったりするだろ。 主張がコロコロ変わるからいつまでたってもお前は誰からも認められないんじゃないの?ニート君w
- 376 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 02:11:16 ]
- >>373
なんつーか、お前の浮動小数点の理念とか信念なんか聞きたいわけじゃないわけ。 fp80の精度が必要な人もいれば、高速な方がいいって人もいるわけで、インテルの洗脳されちゃってるお前の信念を押し付けないでくれないか? それも信念がコロコロ変わるんだろ。お前だって嫌だろ。草かみたい選挙が近くなるたびに草か信者が家に押しよせてきたら・・・
- 377 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 02:14:20 ]
- prefetchはINTELとAMDで細かいところに互換性がないから、(未知のバグになるから)できればユーザーが明示的にコード書いて使うようなものではない、ってことだったんじゃないの?
|

|