Reputation: 22438
I tried the Intel compiler (icpc) for the first time on my project, which was developed using GCC. After a few source files, it hits an error which does not tell me much:
/export/home/i11pcmh235/intel/bin/icpc -o .buildO/distmeasures/AlgebraicDistance.o -c -std=c++11 -Wall -c -fmessage-length=0 -fPIC -fopenmp -O3 -DNDEBUG -I/home/i11/cls/workspace/gtest/include src/distmeasures/AlgebraicDistance.cpp
src/community/PLM.cpp(147): internal error: assertion failed: unknown type in IL walk (shared/cfe/edgcpfe/walk_entry.h, line 1015)
});
^
compilation aborted for src/community/PLM.cpp (code 4)
Can anyone explain it to me?
Are my compiler flags okay? I simply tried using the same ones as for GCC.
The code segment in question looks like this:
#pragma omp atomic read
C = zeta[u];
// TRACE("Processing neighborhood of node " << u << ", which is in cluster " << C);
G.forNeighborsOf(u, [&](node v) {
#pragma omp atomic read
D = zeta[v];
// TRACE("Neighbor " << v << ", which is still in cluster " << zeta[v]);
if (D != C) { // consider only nodes in other clusters (and implicitly only nodes other than u)
double delta = deltaMod(u, C, D);
if (delta > deltaBest) {
deltaBest = delta;
best = D;
}
}
});
Upvotes: 0
Views: 264
Reputation: 17936
Internal error generally means that you've hit a compiler bug. That is, the bug is in the compiler, not your code. IL is compiler-writer speak for "Intermediate Language," the internal representation the compiler operates on to generate your code.
You'll have to see if Intel's fixed it, and/or file a bug report.
Upvotes: 4