kronbichler / ceed_benchmarks_dealii

ceed benchmark evaluation with deal.II library
4 stars 6 forks source link

What version of Deal.II is needed? #1

Closed jedbrown closed 7 years ago

jedbrown commented 7 years ago

I tried with current 'master' (182e974ca9e2051625c4c19a160c3ad28285a3db) which is described as 9.0.0-pre but have template errors.

kronbichler commented 7 years ago

Hi Jed, I tried with the current master branch (1e5cdc3) on 64 bit Linux with gcc 5, deal.II version 9.0.0-pre, and it works on my machine. Can you post the compiler/system you are on as well as the errors you get? Did you check that make test of deal.II did work?

jedbrown commented 7 years ago

Hmm, I'm using gcc-6.2 on an Ubuntu node. Deal.II make test works. Error messages like this when building bp1:

[100%] Building CXX object CMakeFiles/bench_mass.dir/bench_mass.cc.o
/homes/jedbrown/dealii/mpich-opt/ceed_benchmarks_dealii/bp1/bench_mass.cc: In instantiation of ‘void test(unsigned int, bool) [with int dim = 3; int fe_degree = 1; int n_q_points = 2]’:
/homes/jedbrown/dealii/mpich-opt/ceed_benchmarks_dealii/bp1/bench_mass.cc:197:37:   required from ‘void do_test() [with int dim = 3; int fe_degree = 1; int n_q_points = 2]’
/homes/jedbrown/dealii/mpich-opt/ceed_benchmarks_dealii/bp1/bench_mass.cc:209:18:   required from here
/homes/jedbrown/dealii/mpich-opt/ceed_benchmarks_dealii/bp1/bench_mass.cc:103:64: error: no matching function for call to ‘dealii::parallel::distributed::Triangulation<3, 3>::Triangulation
(MPI_Comm)’
   parallel::distributed::Triangulation<dim> tria(MPI_COMM_WORLD);
                                                                ^
In file included from /homes/jedbrown/dealii/mpich-opt/ceed_benchmarks_dealii/bp1/bench_mass.cc:3:0:
/homes/jedbrown/dealii/include/deal.II/distributed/tria.h:1042:7: note: candidate: dealii::parallel::distributed::Triangulation<dim, spacedim>::Triangulation() [with int dim = 3; int space
dim = 3]
       Triangulation ();
       ^~~~~~~~~~~~~
/homes/jedbrown/dealii/include/deal.II/distributed/tria.h:1042:7: note:   candidate expects 0 arguments, 1 provided
/homes/jedbrown/dealii/include/deal.II/distributed/tria.h:1036:11: note: candidate: dealii::parallel::distributed::Triangulation<3, 3>::Triangulation(const dealii::parallel::distributed::T
riangulation<3, 3>&)
     class Triangulation : public dealii::parallel::Triangulation<dim,spacedim>
           ^~~~~~~~~~~~~
/homes/jedbrown/dealii/include/deal.II/distributed/tria.h:1036:11: note:   no known conversion for argument 1 from ‘MPI_Comm {aka int}’ to ‘const dealii::parallel::distributed::Triangulati
on<3, 3>&’
/homes/jedbrown/dealii/include/deal.II/distributed/tria.h:1036:11: note: candidate: dealii::parallel::distributed::Triangulation<3, 3>::Triangulation(dealii::parallel::distributed::Triangu
lation<3, 3>&&)
/homes/jedbrown/dealii/include/deal.II/distributed/tria.h:1036:11: note:   no known conversion for argument 1 from ‘MPI_Comm {aka int}’ to ‘dealii::parallel::distributed::Triangulation<3, 
3>&&’
/homes/jedbrown/dealii/mpich-opt/ceed_benchmarks_dealii/bp1/bench_mass.cc: In instantiation of ‘void test(unsigned int, bool) [with int dim = 3; int fe_degree = 1; int n_q_points = 3]’:
/homes/jedbrown/dealii/mpich-opt/ceed_benchmarks_dealii/bp1/bench_mass.cc:197:37:   required from ‘void do_test() [with int dim = 3; int fe_degree = 1; int n_q_points = 3]’
/homes/jedbrown/dealii/mpich-opt/ceed_benchmarks_dealii/bp1/bench_mass.cc:210:18:   required from here
/homes/jedbrown/dealii/mpich-opt/ceed_benchmarks_dealii/bp1/bench_mass.cc:103:64: error: no matching function for call to ‘dealii::parallel::distributed::Triangulation<3, 3>::Triangulation
(MPI_Comm)’
   parallel::distributed::Triangulation<dim> tria(MPI_COMM_WORLD);
                                                                ^
In file included from /homes/jedbrown/dealii/mpich-opt/ceed_benchmarks_dealii/bp1/bench_mass.cc:3:0:
/homes/jedbrown/dealii/include/deal.II/distributed/tria.h:1042:7: note: candidate: dealii::parallel::distributed::Triangulation<dim, spacedim>::Triangulation() [with int dim = 3; int space
dim = 3]
       Triangulation ();
       ^~~~~~~~~~~~~
/homes/jedbrown/dealii/include/deal.II/distributed/tria.h:1042:7: note:   candidate expects 0 arguments, 1 provided
/homes/jedbrown/dealii/include/deal.II/distributed/tria.h:1036:11: note: candidate: dealii::parallel::distributed::Triangulation<3, 3>::Triangulation(const dealii::parallel::distributed::T
riangulation<3, 3>&)
     class Triangulation : public dealii::parallel::Triangulation<dim,spacedim>
           ^~~~~~~~~~~~~
kronbichler commented 7 years ago

Ah, now I see the problem. Your deal.II compilation does not include the p4est package which provides the parallel mesh partitioning algorithms. See the section on p4est on the front page / README.md or over here: http://dealii.org/developer/external-libs/p4est.html

I also pushed a new version of the CMakeLists.txt that actually checks this dependency.

jedbrown commented 7 years ago

Thanks.