Skip to content

OpenMP version of the adjoint solver does not compile with the Intel compiler #1273

@vdweide

Description

@vdweide

Describe the bug
When I try to create the OpenMP version of the adjoint solver with the Intel compiler, I get compiler error in opdi. Here are a couple of examples, which are all of the same error type

../SU2/externals/opdi/include/opdi/backend/macro/dataTools.hpp(39): error: threadprivate variable should not be incomplete or reference type
#pragma omp threadprivate(parallelData)

../SU2/externals/opdi/include/opdi/backend/macro/implicitBarrierTools.hpp(41): error: threadprivate variable should not be incomplete or reference type
#pragma omp threadprivate(implicitBarrierStack)

../SU2/externals/opdi/include/opdi/logic/omp/adjointAccessControl.hpp(47): error: threadprivate variable should not be incomplete or reference type
#pragma omp threadprivate(currentAdjointAccess)

To Reproduce
Use the following build options (I don't think the mkl option is needed, but that is what I used)

export CXX=mpiicpc
export CC=mpiicc
export CXXFLAGS="-O2"
export CFLAGS="-O2"

./meson.py ../Build_MKL --prefix=/home/whatever -Denable-mkl=true -Dcustom-mpi=true -Dwith-omp=true -Denable-autodiff=true -Denable-directdiff=true
./ninja -C ../Build_MKL install

Desktop (please complete the following information):

  • OS: Ubuntu 18.04
  • C++ compiler and version: Intel 19.1.0.166 20191121
  • MPI implementation and version: Intel MPI
  • SU2 Version: Latest develop version

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions