最適化にまつわる注意とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 最適化にまつわる注意の意味・解説 

最適化にまつわる注意

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/07/16 00:14 UTC 版)

カハンの加算アルゴリズム」の記事における「最適化にまつわる注意」の解説

コンパイラ生成するコードは、最適化により、書かれプログラム正確に対応しないのが普通である。コンパイラプログラムの内容数式処理的に解析して最適化を施すことがあるが、コンパイラ設計によってはカハンの加算アルゴリズムについて間違った最適化行なうことがある例えば、以下のコードについて t:=sum + y; c:=(t - sum) - y; コンパイラは、結合法則適用して以下のように推論することがあるc = 0 すると補正がなされなくなる。ただし、一般にコンパイラ浮動小数点演算では近似的にしか結合法則成り立たないとして、明示的に安全でない最適化指示されないかぎり、このような最適化行わない。なお、Intel C++ Compiler のようにデフォルト結合法則適用した最適化を行うコンパイラもある。K&R版の最初C言語では、結合法則による浮動小数点演算の項の並べ替え許していたが、ANSI C 規格ではそれが禁止されC言語数値解析分野使いやすくした(FORTRANでも並べ替え禁止されている)。それでもオプション指定すれば並べ替えできるようにしてあるコンパイラが多い。 一方一部言語では総和機能提供している(APLの +/input、FORTRANSUMなど)。これらは最良の手法で総和計算するような実装であると期待される。しかし、FORTRANマニュアル見ても単に入力と同じ精度計算するとあるだけで詳細不明である。線型代数学標準的サブルーチン集であるBLASでは、高速化のための演算順序並べ替え明確に避けているが、BLASの実装ではカハンアルゴリズム採用していないことが多い。Python標準ライブラリには fsum という総和関数があり、Shewchukのアルゴリズム使い丸め誤差蓄積防いでいる。

※この「最適化にまつわる注意」の解説は、「カハンの加算アルゴリズム」の解説の一部です。
「最適化にまつわる注意」を含む「カハンの加算アルゴリズム」の記事については、「カハンの加算アルゴリズム」の概要を参照ください。

ウィキペディア小見出し辞書の「最適化にまつわる注意」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「最適化にまつわる注意」の関連用語

最適化にまつわる注意のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



最適化にまつわる注意のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのカハンの加算アルゴリズム (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS