ToDo:
辞書を使ったpack表現の圧縮を実装した
他のプロセスとの干渉等が原因で、辞書の拡張に一時的に失敗した後に、別のオブジェクト挿入時に拡張に成功するとその間のオブジェクトの登録状態が異なる状態(非決定論的)になるので、拡張失敗時には辞書サイズを凍結するように変更した
さらに、メモリ使用量とテーブル検索時間を制限する為に、辞書サイズに上限を設定した
一応、問題なく動くところまで来た
古いFortranコードに、対象を制限しない形でSAVE属性を宣言しているものがある
一部のコードは、明かに状態を保持していないので、削除すべきか?
これが原因で、特定のコンパイラ系でエラーになるっぽぃ
エラーメッセージは、COMMON属性とSAVE属性を同時に設定出来ないというもので、内容から考えて、環境依存最適化のレベルの問題では無いと思われる
問題が出ているgfortranは、開発途上の古いsnapshotなので、特定revisionでのregressionの可能性が高い、さもなくばRed Hatが変なパッチを当てている?
危険なケース
安全性を保証するには…
結局、ISO Fortran的には、master-worker間の通信に限定して、worker毎に個別の共有メモリを割り当てるのが無難という結論に…
カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記