Question about compiling Palabos with intel compiler and openmpi

Hi everyone,

I am compiling Palabos on a machine using Intel compiler and Openmpi, and get several errors as blow:

[code=“cpp”]
mpicxx -o /plb1.1r0/src/offLattice/marchingCube.o -c -O3 -DPLB_MPI_PARALLEL -DPLB_USE_POSIX -I/plb1.1r0/src -I/plb1.1r0/externalLibraries /plb1.1r0/src/offLattice/marchingCube.cpp
/plb1.1r0/src/multiBlock/multiBlockLattice2D.hh(53): error: no instance of function template “plb::meta::registerMultiBlock2D” matches the argument list
argument types are: (std::string, std::string, std::string, )
meta::registerMultiBlock2D ( MultiBlockLattice2D<T,Descriptor>::basicType(),
^

/plb1.1r0/src/multiBlock/multiDataField2D.hh(50): error: no instance of function template “plb::meta::registerMultiBlock2D” matches the argument list
argument types are: (std::string, const char [3], std::string, )
meta::registerMultiBlock2D ( MultiScalarField2D::basicType(),
^

/plb1.1r0/src/multiBlock/multiDataField2D.hh(261): error: no instance of function template “plb::meta::registerMultiBlock2D” matches the argument list
argument types are: (std::string, const char [3], std::string, )
meta::registerMultiBlock2D ( MultiTensorField2D<T,nDim>::basicType(),
^

/plb1.1r0/src/multiBlock/multiDataField2D.hh(505): error: no instance of function template “plb::meta::registerMultiBlock2D” matches the argument list
argument types are: (std::string, const char [3], std::string, )
meta::registerMultiBlock2D ( MultiNTensorField2D::basicType(),
^

mpicxx -o /plb1.1r0/src/offLattice/domainClustering3D.o -c -O3 -DPLB_MPI_PARALLEL -DPLB_USE_POSIX -I/plb1.1r0/src -I/plb1.1r0/externalLibraries /plb1.1r0/src/offLattice/domainClustering3D.cpp
/plb1.1r0/src/particles/multiParticleField2D.hh(46): error: no instance of function template “plb::meta::registerMultiBlock2D” matches the argument list
argument types are: (std::string, std::string, std::string, )
meta::registerMultiBlock2D ( MultiParticleField2D::basicType(),
^



I also tried with the PGI compiler, and got the same errors.

Could you please let me know what's the problem? Thanks very much.

Dear ywang,

Which version of the Intel compiler are you using?

Cheers,
Jonas

jonas@flowkit Wrote:

Dear ywang,

Which version of the Intel compiler are you
using?

Cheers,
Jonas

Hi Jonas,

Thanks for your reply. I have tried with Intel 9.1 and 10.1. Both will lead these errors.

Yong

Hello ywang,

Palabos was successfully tested on the Intel compiler 12.1.3. Do you think you could convince your sysadmin to upgrade the compiler? Alternatively, you can compile Palabos with gcc: the resulting code is very fast, because Palabos was specifically optimized for this compiler.

We do plan to run tests on older compilers at some point, but will with most likelihood not find the necessary resources to do this in a near future.

Cheers,
Jonas

Hi Jonas,

Yes, I compiled Palabos with gcc on a BGP machine successfully, and noticed your test that gcc is faster than icc. However, there is no gcc on this machine I am using,I don’t know why they don’t use it. I will communicate with the sysadmin,

Thanks.

Yong

Hi Jonas,

I have fixed this problem. Yes, these errors are due to the version of compiler.
The sysadmins said they didn’t support the use of the gcc for production codes. However, I found there were still several versions of gcc. I am using one of them, and the errors disappear.

Thanks again.

Yong

1 Like