• 締切済み

MPI

MPIのエラーメッセージの意味がわからないので質問します。 エラーメッセージは以下の通りです。 ----------------------------------------------------------------------------------------- [cli_1]: aborting job: Fatal error in MPI_Send: Other MPI error, error stack: MPI_Send(172).............................: MPI_Send(buf=0x80e557c, count=26, MPI_INT, dest=2, tag=0, MPI_COMM_WORLD) failed MPIDI_CH3_Progress_wait(199)..............: an error occurred while handling an event returned by MPIDU_Sock_Wait() MPIDI_CH3I_Progress_handle_sock_event(436): MPIDI_CH3U_Handle_recv_pkt(247)...........: failure occurred while allocating memory for a request object rank 1 in job 258 cs080_12340 caused collective abort of all ranks exit status of rank 1: killed by signal 9 [cli_0]: aborting job: Fatal error in MPI_Send: Other MPI error, error stack: MPI_Send(172).............................: MPI_Send(buf=0x80e557c, count=26, MPI_INT, dest=1, tag=0, MPI_COMM_WORLD) failed MPIDI_CH3_Progress_wait(199)..............: an error occurred while handling an event returned by MPIDU_Sock_Wait() MPIDI_CH3I_Progress_handle_sock_event(777): MPIDU_Socki_handle_pollhup(418)...........: connection closed by peer (set=0,sock=1) ----------------------------------------------------------------------------------------- これはやはりメモリ関係のエラーなのでしょうか? 詳しい方、知っている方がいましたら教えてください。 よろしくお願いします。

みんなの回答

  • fifaile
  • ベストアンサー率25% (622/2403)
回答No.1

なんかMPI間の通信がうまくいってないようですが・・・ MPI_Send(172).............................: MPI_Send failed が最初のエラーですし。

vomu
質問者

補足

返答ありがとうございます。 入力データを変えると上手くいくので、 入力データによって通信が上手く行く時といかないときが・・・>< とりえず、明日にでもsendの辺りをいじってみます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ゲームのインストールができなくなりました。

    私はEnemyTerritoryというフリーのFPSのゲームをやっていたのですが ゲームフォルダにいらなくなったファイルがたまってきたので 整理しようと思い、いったんアンインストールしていれなおそうとしたところ。 インストール中に「An I/O error occurred while installing a file. This is normally caused by bud installation media or a corrupt installation file.」 というメッセージとともにインストールが止まり 再びインストールすることができなくなりました。 どうすればいいのか教えて欲しいです。

  • パーミッションの設定について

    アクセスカウンタを設置しようと思ったら [an error occurred while processing this directive] というエラーが出ました。 なにかパーミッションの設定の設定が出来てないからということみたいです。 パーミッションの設定はFTPソフトで変更するみたいですが変更の仕方がわかりません。私はホームページビルダーのFTPソフトを使っています。どのように設定すればいいのですか? どなたか教えてください。

    • ベストアンサー
    • CGI
  • 割り込み処理について

    お世話になります。 今、VC++でWinSockを用いてパケット送信ソフトを作成しています。 パケット送信開始ボタンをクリックすると呼ばれる OnBnClickedButtonStart() 停止ボタンをクリックすると呼ばれる OnBnClickedButtonStop() 今、送信開始ボタンクリックイベント関数 OnBnClickedButtonStart()内にソケットの設定や ソケット送信などを行っています。 while(1){ if( (sendto(sock, send_buf, size , 0,(struct sockaddr*)send_addr, sizeof send_addr)) == SOCKET_ERROR ){ MessageBox("Error : Send Socket !"); return; } } と送信開始ボタンをクリックすると無限ループでソケットを送信しています。 以下質問です。 (1)送信開始ボタンをクリックするとwhile()で無限ループになります。その処理中に、停止ボタンなどクリックすることは出来ますか?出来る場合どのようにして出来るようになるのでしょうか?(プロパティの設定とか?) (2)停止ボタンクリックが出来るようになった場合、停止ボタンクリック関数内には、ソケットクローズ処理だけで送信は停止しますか? どうぞよろしくお願い致します。

  • エラーメッセージ

    ネットサーフィンをしている時、急に 「Sys.WebFroms.PageRequestManagerServerErrorException: An unknown error occurred while pricessing the request on the server. The status code returned from the server was: 12031」 というエラーメッセージが出てきました。 このエラーは一体何なんでしょうか? 分かる方、どうぞ説明お願い致します。

  • SSIを使ってCGIを呼び起こしたいのですが

    index.shtmlのタグにssiを使用したいのですが index.cgi?mode=m のようなパラメータもつけて実行させる場合 <!--#exec cgi="./index.cgi?mode=m"> ではだめなんでしょうか? [an error occurred while processing this directive] というエラーがでました。 どうかご教授ください。

    • ベストアンサー
    • CGI
  • インターネットがつながらない

    WinXPです。ADSLが今まで使えたのですが、インターネットが開けなくなりました。 モデムを初期化してIPアドレスをrenew使用とすると 「An error occurred while renewing interface ローカルエリア接続:ソケット以外のものに対して操作を実行しようとしました。」 とでて、IPアドレスがリセットできません。 どうしたらいいでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • ADSL
  • error C2440: 'static_cast' : 'CString' から 'LPCSTR' に変換できません

    CStringから LPCSTR型への変換orその逆について教えて下さい。 Visal Studio 2005のC++で以下のサンプルを動かしました。 http://www.g-ishihara.com/mfc_nw_01.htm すると、以下のプログラムを実行させると、IとIIでエラーが発生しました。 I  byteCP = static_cast<LPCSTR>(sendStr) +sendSum; error C2440: 'static_cast' : 'CString' から 'LPCSTR' に変換できません。 II  byteP = recvStr.GetBuffer(21); error C2440: '=' : 'wchar_t *' から 'LPSTR' に変換できません。 学習のため、サンプルに従って進めていきましたが、 そこでつまずいてしまいました。 CStringについては、全く知識がありません。 ご存じの方、教えて下さい。 void CClientSockDlg::OnBnClickedBtnSend() { CSocket sock; unsigned int port = 0; CString sendStr, recvStr; int send, recv, sendSum, recvSum; LPCSTR byteCP = NULL; LPSTR byteP = NULL; int err = 0; UpdateData(); // (1)ソケット作成 if (!err) if (!sock.Create()) err = 1; // (2)ポート取得 if (!err) if (_stscanf_s(m_xvEditPort, _T("%d"), &port) != 1) err = 1; // (3)接続 if (!err) if (!sock.Connect(m_xvEditIP, port)) err = 1; // (4)送信(20バイト固定) if (!err) { sendStr = m_xvEditMes; while (sendStr.GetLength() < 20) sendStr += _T(" "); sendStr = sendStr.Left(20); sendSum = 0; while (sendSum < 20) { byteCP = static_cast<LPCSTR>(sendStr) +sendSum; //------- I send = sock.Send(byteCP, 20 -sendSum); if (send == SOCKET_ERROR) {err = 1; break;} sendSum += send; } } if (!err) { m_xvEditLog += _T("Send : "); m_xvEditLog += sendStr +_T("\r\n"); } // (5)受信(20バイト固定) if (!err) { byteP = recvStr.GetBuffer(21);  //------- II recvSum = 0; while (recvSum < 20) { recv = sock.Receive(byteP +recvSum, 20 -recvSum); if (recv == SOCKET_ERROR || recv == 0) {err = 1; break;} recvSum += recv; } byteP[20] = '\0'; recvStr.ReleaseBuffer(); } if (!err) { m_xvEditLog += _T("Recv : "); m_xvEditLog += recvStr +_T("\r\n"); } // (6)エラー表示 if (err) { LPVOID lpMsgBuf = NULL; ::FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, sock.GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&lpMsgBuf, 0, NULL); m_xvEditLog += _T("Error : "); m_xvEditLog += static_cast<LPTSTR>(lpMsgBuf); UpdateData(FALSE); LocalFree(lpMsgBuf); } // (7)切断 sock.Close(); UpdateData(FALSE); return; }

  • SSIを使ってHTMLページにCGIを埋め込みたい

    使っているサーバーがSSIが使えるとの事で今回初めてSSIを使ってHTMLページにCGIを埋め込みたいと思い、色々なページを見ながら設置してはみてるんですが、 [an error occurred while processing this directive] となってしまいます。 やってみた事は test.shtmlを作り<BODY></BODY>の中に <!--#exec cgi="/navi/can.cgi"--> などとしてみたりしましたが上記のエラーが出てしまいます・・ 初歩的な質問なのかもしれませんが何が間違えているのかもわからなく、すみませんが教えていただけないでしょうか? よろしくお願いします。

    • 締切済み
    • CGI
  • 延々と受信し続けるwinsockのrecv

    以下のサーバープログラムを用いて、 (acceptしたらスレッド作成し、作成が終ったということをクライアントに知らせるために文字列送信後受信待機している) #include <winsock2.h> #include <vector> #include <process.h> #include <algorithm> char *Ver = "0.00"; using namespace std; unsigned __stdcall Patch( void *Sock ); int main() { ----WSADATA wsaData; --------WSAStartup( MAKEWORD(2,0), &wsaData ); ----SOCKET RecvSock = socket( AF_INET, SOCK_STREAM, 0 ); ----SOCKET SendSockBuf; ----vector<SOCKET> SendSock; ----fd_set ConnectFds, SubConnectFds; ----struct sockaddr_in Recv, Send; ----int len = sizeof(Send); ----Recv.sin_family = AF_INET; ----Recv.sin_port = htons(55555); ----Recv.sin_addr.S_un.S_addr = INADDR_ANY; --------bind(RecvSock, (struct sockaddr *)&Recv, sizeof(Recv) ); ----FD_ZERO( &SubConnectFds ); --------FD_SET( RecvSock, &SubConnectFds ); ----listen( RecvSock, 5 ); ----vector<unsigned int> thID; ----vector<HANDLE> hTh; ----struct timeval tv; --------tv.tv_sec = 0; --------tv.tv_usec = 0; ----while(1) ----{ --------memcpy( &ConnectFds, &SubConnectFds, sizeof(fd_set) ); --------select( 0, &ConnectFds, NULL, NULL, &tv ); --------if ( FD_ISSET(RecvSock, &ConnectFds) ) --------{ ------------SendSockBuf = accept(RecvSock, (struct sockaddr *)&Send, &len); ------------if( SendSockBuf != INVALID_SOCKET) ------------{ ----------------SendSock.push_back( SendSockBuf ); ----------------thID.push_back( hTh.size() ); ----------------hTh.push_back( (HANDLE)_beginthreadex(NULL, 0, Patch, &SendSock[hTh.size()], 0, &thID[hTh.size()]) ); ------------} --------} ----} ----closesocket(RecvSock); ----WSACleanup(); ----return 0; } unsigned __stdcall Patch( void *Sock ) { ----SOCKET *SendSock = (SOCKET *)Sock; ----send( *SendSock, Ver, 5, 0 ); ----char Str[5]; ----while( Flag == 0 ) ----{ --------recv( *SendSock, Str, 5, 0 ); ----} ----closesocket( *SendSock ); ----return 0; } 以下のようなクライアントプログラムで文字を送信すると、 #include <WinSock2.h> using namespace std; void main() { ----WSADATA wsaData; --------WSAStartup( MAKEWORD(2,0), &wsaData ); ----SOCKET Sock = socket( AF_INET, SOCK_STREAM, 0 ); ----struct sockaddr_in Addr; --------Addr.sin_family = AF_INET; --------Addr.sin_port = htons(55555); --------Addr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1"); ----connect( Sock, (struct sockaddr *)&Addr, sizeof(Addr) ); ----char str[5]; ----recv( Sock, str, 5, 0 ); ----send( Sock, "0.00", 5, 0); ----shutdown( Sock, 2 ); ----closesocket( Sock ); } クライアントプログラムは終了しているのにサーバープログラムは"0.00"を受信し続けます。 どこがおかしいのか分からないので教えてください

  • 添付したメールが送れない

    auのW22SAなんですが、画像を添付したメールが送れません。送信中から、送信完了にならず、connection error, fail to send となります。電波もあるし、通常のメールは送れます。それに関係して、ezwebにアクセスしようとすると、 no response from ez server, please wait for a while and try again となります。出来ないときは、何度やってもできません。これはなぜでしょうか?