Skip to content

compilation fails on main branch #6

@hatemhelal

Description

@hatemhelal

I'm trying out this project and ran into a few initial hiccups and wondered if there is a known build recipe that I can follow?

Here is what I tried to use:

 sudo apt install cmake ccache clang ninja-build libopenblas-dev liblapacke-dev
 cmake .. -DLIBINTX_CUDA=ON -DCMAKE_CUDA_ARCHITECTURES=native -DCMAKE_C_COMPILER_LAUNCHER=ccache -G Ninja
 
 # compile the tests too...
 ninja all.tests

which fails pretty fast due to this:

/root/libintx/src/libintx/ao/md/md3.cc: In member function ‘void libintx::md::IntegralEngine<3>::compute(const Params&, const std::vector<int>&, const std::vector<libintx::pair<int, int> >&, libintx::BraKet<const double*>, const Visitor&)’:
/root/libintx/src/libintx/ao/md/md3.cc:35:52: error: expected ‘#pragma omp’ clause before ‘;’ token
   35 | #pragma omp parallel num_threads(this->num_threads);
      |                                                    ^

removing the ; and the build gets further but eventually fails with the longer error copied below (failed override?). Looking at the source code I see variants of the compute interface, some of which are commented out so here I am asking for help - thanks in advance!!!

FAILED: src/libintx/gpu/md/CMakeFiles/libintx.gpu.md3.kernel.1_0.dir/md3.kernel.cu.o
/usr/local/cuda/bin/nvcc -forward-unknown-to-host-compiler -DLIBINTX_GPU_MAX_SHMEM=49152 -DLIBINTX_GPU_MD_MD3_KERNEL_KET=0 -DLIBINTX_GPU_MD_MD3_KERNEL_X=1 -I/root/libintx/src -I/root/libintx/include -I/root/libintx/include/eigen3 -I/root/libintx/build -expt-relaxed-constexpr --resource-usage -O3 -DNDEBUG -std=c++20 -arch=native -Xcompiler=-fPIC -MD -MT src/libintx/gpu/md/CMakeFiles/libintx.gpu.md3.kernel.1_0.dir/md3.kernel.cu.o -MF src/libintx/gpu/md/CMakeFiles/libintx.gpu.md3.kernel.1_0.dir/md3.kernel.cu.o.d -x cu -c /root/libintx/src/libintx/gpu/md/md3.kernel.cu -o src/libintx/gpu/md/CMakeFiles/libintx.gpu.md3.kernel.1_0.dir/md3.kernel.cu.o
/root/libintx/src/libintx/gpu/md/engine.h(29): error: member function declared with "override" does not override a base class member
      void compute(
           ^

/root/libintx/src/libintx/gpu/md/engine.h(29): warning #997-D: function "libintx::ao::IntegralEngine<3>::compute(libintx::Operator, const std::vector<libintx::Index1, std::allocator<libintx::Index1>> &, const std::vector<libintx::Index2, std::allocator<libintx::Index2>> &, libintx::BraKet<const double *, const double *>, double *, const std::array<size_t, 2UL> &)" is hidden by "libintx::gpu::md::IntegralEngine<3>::compute" -- virtual function override intended?
      void compute(
           ^

Remark: The warnings can be suppressed with "-diag-suppress <warning-number>"

/root/libintx/src/libintx/gpu/md/engine.h(82): error: member function declared with "override" does not override a base class member
      void compute(
           ^

/root/libintx/src/libintx/gpu/md/engine.h(82): warning #997-D: function "libintx::ao::IntegralEngine<4>::compute(libintx::Operator, const std::vector<libintx::Index2, std::allocator<libintx::Index2>> &, const std::vector<libintx::Index2, std::allocator<libintx::Index2>> &, libintx::BraKet<const double *, const double *>, double *, const std::array<size_t, 2UL> &)" is hidden by "libintx::gpu::md::IntegralEngine<4>::compute" -- virtual function override intended?
      void compute(
           ^

2 errors detected in the compilation of "/root/libintx/src/libintx/gpu/md/md3.kernel.cu".

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