星期二, 十月 11, 2011

Internal error: 0_13171

I was reading two large matrices to multiply them later.

The code:
#include<iostream>
#include<fstream>
#include<iomanip>

using namespace std;
int main(int argc, char*argv[])
{
  const int nid(13276);
  const int len(nid*nid);
  double gmat[len], ginv[len], prod[len];
  int iid, jid, ii;
  ifstream fge("rst");

  fge>>iid;
  for(iid=ii=0; iid<nid; ++iid)
    for(jid=0; jid<nid; ++jid)
      fge>>gmat[ii++];

  for(iid=ii=0; iid<nid; ++iid)
    for(jid=0; jid<nid; ++jid)
      fge>>ginv[ii++];

  return 0;
}
Then I got an error message when compiling it with icpc:
test.cpp(8) (col. 1): internal error: 0_13171
compilation aborted for test.cpp (code 4) 
Commenting out any one of the two reading blocks will eliminate the error.

This error turned out to be a bug of an old version of Intel compiler icpc (12.0.5 20110719).  Upgrade to the current version (12.1.0 20110811) will solve the problem.

1 条评论:

xijiang 说...

今天这日子适合买彩票,遇到了旧版Intel编译器的bug;Google博客服务老出错;昨天晚上还没有睡好觉。至少今天不干活了。