以前も報告したように量子化学の超大規模な SDP は、mpich を用いたときにエラーが発生して解くことが出来なかった。ただし mpich を用いた場合なので SCore などを用いた場合には無事に解くことが出来た。
原因はどこにあるのかと探っていたが、T 大の N さんから以下のような修正方法を伝授していただいた。
エラーの内容は、巨大な問題を解くときにP4バッファが大きすぎるといったものである。以下のように p4_sr.h のヘッダファイルを以下のように修正すれば一応解決する。ただし本質的な解決ではないが。
--- mpid/ch_p4/p4/lib/p4_sr.h~ Fri Nov 5 07:50:53 1999
+++ mpid/ch_p4/p4/lib/p4_sr.h Thu Aug 25 14:23:08 2005
@@ -21,7 +21,7 @@
threaded listener */
#define CONN_REMOTE_OPENING 10
-#define P4_MAX_MSGLEN (1<<28) /* Used in free_p4_msg as sanity check
+#define P4_MAX_MSGLEN (1<<30) /* Used in free_p4_msg as sanity check
increase as desired */
原因はどこにあるのかと探っていたが、T 大の N さんから以下のような修正方法を伝授していただいた。
エラーの内容は、巨大な問題を解くときにP4バッファが大きすぎるといったものである。以下のように p4_sr.h のヘッダファイルを以下のように修正すれば一応解決する。ただし本質的な解決ではないが。
--- mpid/ch_p4/p4/lib/p4_sr.h~ Fri Nov 5 07:50:53 1999
+++ mpid/ch_p4/p4/lib/p4_sr.h Thu Aug 25 14:23:08 2005
@@ -21,7 +21,7 @@
threaded listener */
#define CONN_REMOTE_OPENING 10
-#define P4_MAX_MSGLEN (1<<28) /* Used in free_p4_msg as sanity check
+#define P4_MAX_MSGLEN (1<<30) /* Used in free_p4_msg as sanity check
increase as desired */