Reply To: Parallelization usig MPI
› Forums › OpenLB › General Topics › Parallelization usig MPI › Reply To: Parallelization usig MPI
@Adrian My apologies. I missed that step. I realized it only after trying to recreate it in another cluster. But I have a follow-up question as well. The cluster that I want to run the simulation has Intel Icelake processors and I have changed the CXX flag in config.mk to “mpicxx”.
I loaded the modules: 1) intel/2023.2.1 2) intelmpi/2021.10.0 , and on making it, gave me an error:
g++: error: unrecognized command line option ‘-ipo’
g++: error: unrecognized command line option ‘-axMIC-AVX512,CORE-AVX2’
g++: error: unrecognized command line option ‘-std=c++20’; did you mean ‘-std=c++2a’?
So I changed the CXX flag to mpiicpc and CC flag to mpiicc. It also returns an error when building the config.mk
Error:
src/utilities/omath.h(1613): error: namespace "std" has no member "integral"
template <std::integral T>
^
In file included from src/communication/mpiManager.h(39),
from src/communication/mpiManager.cpp(21):
src/utilities/omath.h(1614): error: expected a ")"
any_platform bool closeToZero(T x)
^
In file included from src/communication/mpiManager.h(39),
from src/communication/mpiManager.cpp(21):
src/utilities/omath.h(1615): error: expected a ";"
{
^
In file included from src/communication/mpiManager.h(39),
from src/communication/mpiManager.cpp(21):
src/utilities/aDiff.h(64): error: incomplete type is not allowed
class ADf final : public AD {
^
In file included from src/communication/mpiManager.h(39),
from src/communication/mpiManager.cpp(21):
src/utilities/aDiff.h(74): error: Vector is not a template
Vector<T,DIM> _d = ( T( 0 ) );
^
In file included from src/communication/mpiManager.h(39),
from src/communication/mpiManager.cpp(21):
src/utilities/aDiff.h(81): error: Vector is not a template
inline constexpr ADf(const T& v, const Vector<T,DIM>& d);
^
In file included from src/communication/mpiManager.h(39),
from src/communication/mpiManager.cpp(21):
src/utilities/aDiff.h(88): error: Vector is not a template
inline constexpr Vector<T,DIM>& d();
^
In file included from src/communication/mpiManager.h(39),
from src/communication/mpiManager.cpp(21):
src/utilities/aDiff.h(140): error: Vector is not a template
inline constexpr ADf<T,DIM>::ADf(const T& v, const Vector<T,DIM>& d): _v(v), _d(d)
^
In file included from src/communication/mpiManager.h(39),
from src/communication/mpiManager.cpp(21):
src/utilities/aDiff.h(264): error: Vector is not a template
inline constexpr Vector<T,DIM>& ADf<T,DIM>::d()
^
In file included from src/communication/mpiManager.h(39),
from src/communication/mpiManager.cpp(21):
src/utilities/aDiff.h(264): error: template argument list must match the parameter list
inline constexpr Vector<T,DIM>& ADf<T,DIM>::d()
^
In file included from src/communication/mpiManager.h(39),
from src/communication/mpiManager.cpp(21):
src/utilities/aDiff.h(1040): error: qualified name is not allowed
inline constexpr ADf<T,DIM> max (const olb::BaseType<ADf<T,DIM>>& a, const ADf<T,DIM>& b)
^
In file included from src/communication/mpiManager.h(39),
from src/communication/mpiManager.cpp(21):
src/utilities/aDiff.h(1040): error: expected a ")"
inline constexpr ADf<T,DIM> max (const olb::BaseType<ADf<T,DIM>>& a, const ADf<T,DIM>& b)
^
In file included from src/communication/mpiManager.h(39),
from src/communication/mpiManager.cpp(21):
src/utilities/aDiff.h(1048): error: qualified name is not allowed
inline constexpr ADf<T,DIM> max(const ADf<T,DIM>& a,const olb::BaseType<ADf<T,DIM>>& b)
^
In file included from src/communication/mpiManager.h(39),
from src/communication/mpiManager.cpp(21):
src/utilities/aDiff.h(1048): error: expected a ")"
inline constexpr ADf<T,DIM> max(const ADf<T,DIM>& a,const olb::BaseType<ADf<T,DIM>>& b)
^
In file included from src/communication/mpiManager.h(39),
from src/communication/mpiManager.cpp(21):
src/utilities/aDiff.h(1063): error: qualified name is not allowed
inline constexpr ADf<T,DIM> min (const olb::BaseType<ADf<T,DIM>>& a, const ADf<T,DIM>& b)
^
In file included from src/communication/mpiManager.h(39),
from src/communication/mpiManager.cpp(21):
src/utilities/aDiff.h(1063): error: expected a ")"
inline constexpr ADf<T,DIM> min (const olb::BaseType<ADf<T,DIM>>& a, const ADf<T,DIM>& b)
^
In file included from src/communication/mpiManager.h(39),
from src/communication/mpiManager.cpp(21):
src/utilities/aDiff.h(1071): error: qualified name is not allowed
inline constexpr ADf<T,DIM> min(const ADf<T,DIM>& a,const olb::BaseType<ADf<T,DIM>>& b)
^
In file included from src/communication/mpiManager.h(39),
from src/communication/mpiManager.cpp(21):
src/utilities/aDiff.h(1071): error: expected a ")"
inline constexpr ADf<T,DIM> min(const ADf<T,DIM>& a,const olb::BaseType<ADf<T,DIM>>& b)
^
In file included from src/communication/mpiManager.cpp(21):
src/communication/mpiManager.h(218): error: Vector is not a template
void bCast(Vector<T,DIM>& sendData, int root = 0, MPI_Comm comm = MPI_COMM_WORLD) {
^
src/communication/mpiManager.cpp(1805): error: expected a "}"
src/communication/mpiManager.cpp(1805): error: expected a "}"
compilation aborted for src/communication/mpiManager.cpp (code 2)
make: *** [Makefile:59: src/communication/mpiManager.o] Error 2
Is it the issue with the compilers that I am using?
