Skip to content

Clang7/CUDA 9.2 team_v_serial_t and team_v_parallel_t both evaluate to HostThreadTeamMember when #201

@PDoakORNL

Description

@PDoakORNL

KOKKOS_ENABLE_CUDA=false
KOKKOS_ENABLE_OPENMP=false

causing

[31/54] Building CXX object src/Drivers/CMakeFiles/miniwfs.dir/__/QMCWaveFunctions/SPOSet_builder.cpp.o
FAILED: src/Drivers/CMakeFiles/miniwfs.dir/__/QMCWaveFunctions/SPOSet_builder.cpp.o 
/data/epd/spack/opt/spack/linux-rhel7-x86_64/gcc-7.3.0/llvm-7.0.0-amm2tanx4cbnqcpwd3mnf52fbes3eg7j/bin/clang++  -DADD_ -DH5_USE_16_API -DHAVE_CONFIG_H -DINLINE_ALL=inline -DUSE_REAL_STRUCT_FACTOR -I/scratch/epd/KOKKOS/kokkos/core/src -I/scratch/epd/KOKKOS/kokkos/containers/src -I/scratch/epd/KOKKOS/kokkos/algorithms/src -Ikokkos -I/opt/intel2018/mkl/include -I../src -Isrc -I../external_codes/hana/include -DFUTURE_WAVEFUNCTIONS -Drestrict=__restrict__ -D__forceinline=inline  -g   --std=c++11 -mavx --gcc-toolchain=/usr -std=c++14 -MD -MT src/Drivers/CMakeFiles/miniwfs.dir/__/QMCWaveFunctions/SPOSet_builder.cpp.o -MF src/Drivers/CMakeFiles/miniwfs.dir/__/QMCWaveFunctions/SPOSet_builder.cpp.o.d -o src/Drivers/CMakeFiles/miniwfs.dir/__/QMCWaveFunctions/SPOSet_builder.cpp.o -c ../src/QMCWaveFunctions/SPOSet_builder.cpp
In file included from ../src/QMCWaveFunctions/SPOSet_builder.cpp:14:
../src/QMCWaveFunctions/einspline_spo.hpp:267:8: error: multiple overloads of 'operator()' instantiate to the same signature 'void (const qmcplusplus::einspline_spo<double>::EvaluateVTag &, const qmcplusplus::einspline_spo<double>::team_v_parallel_t &) const' (aka 'void (const qmcplusplus::einspline_spo<double>::EvaluateVTag &, const HostThreadTeamMember<Kokkos::Serial> &) const')
  void operator()(const EvaluateVTag&, const team_v_parallel_t& team) const
       ^
../src/QMCWaveFunctions/SPOSet_builder.cpp:37:26: note: in instantiation of template class 'qmcplusplus::einspline_spo<double>' requested here
    auto* spo_main = new einspline_spo<OHMMS_PRECISION>;
                         ^
../src/QMCWaveFunctions/einspline_spo.hpp:252:8: note: previous declaration is here
  void operator()(const EvaluateVTag&, const team_v_serial_t& team) const
       ^
../src/QMCWaveFunctions/einspline_spo.hpp:360:8: error: multiple overloads of 'operator()' instantiate to the same signature 'void (const qmcplusplus::einspline_spo<double>::EvaluateVGHTag &, const qmcplusplus::einspline_spo<double>::team_vgh_serial_t &) const' (aka 'void (const qmcplusplus::einspline_spo<double>::EvaluateVGHTag &, const HostThreadTeamMember<Kokkos::Serial> &) const')
  void operator()(const EvaluateVGHTag&, const team_vgh_serial_t& team) const
       ^
../src/QMCWaveFunctions/einspline_spo.hpp:344:8: note: previous declaration is here
  void operator()(const EvaluateVGHTag&, const team_vgh_parallel_t& team) const
       ^

Not sure we care but it feels messy.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions