Builds fine for me. Garth
On Fri, Sep 14, 2012 at 10:35 AM, Johannes Ring <[email protected]> wrote: > The multicore benchmark fails to build after this commit. The error message > is: > > [100%] Building CXX object > bench/fem/multicore/cpp/CMakeFiles/bench_fem_multicore_cpp.dir/main.cpp.o > /home/johannr/dev/fenics/src/dolfin/trunk/bench/fem/multicore/cpp/main.cpp: > In function ‘double bench(std::string, boost::shared_ptr<const > dolfin::Form>)’: > /home/johannr/dev/fenics/src/dolfin/trunk/bench/fem/multicore/cpp/main.cpp:97:82: > error: no matching function for call to > ‘dolfin::AssemblerBase::init_global_tensor(dolfin::Matrix&, const > dolfin::Form&, std::vector<std::pair<std::pair<unsigned int, unsigned > int>, std::pair<unsigned int, unsigned int> > >&, bool, bool, bool)’ > /home/johannr/dev/fenics/src/dolfin/trunk/bench/fem/multicore/cpp/main.cpp:97:82: > note: candidate is: > In file included from > /home/johannr/dev/fenics/src/dolfin/trunk/local/include/dolfin/fem/dolfin_fem.h:18:0, > from > /home/johannr/dev/fenics/src/dolfin/trunk/local/include/dolfin.h:21, > from > /home/johannr/dev/fenics/src/dolfin/trunk/bench/fem/multicore/cpp/main.cpp:27: > /home/johannr/dev/fenics/src/dolfin/trunk/local/include/dolfin/fem/AssemblerBase.h:77:10: > note: void dolfin::AssemblerBase::init_global_tensor(dolfin::GenericTensor&, > const dolfin::Form&, const std::vector<std::pair<std::pair<unsigned > int, unsigned int>, std::pair<unsigned int, unsigned int> > >&) > /home/johannr/dev/fenics/src/dolfin/trunk/local/include/dolfin/fem/AssemblerBase.h:77:10: > note: candidate expects 3 arguments, 6 provided > make[2]: *** > [bench/fem/multicore/cpp/CMakeFiles/bench_fem_multicore_cpp.dir/main.cpp.o] > Error 1 > make[1]: *** > [bench/fem/multicore/cpp/CMakeFiles/bench_fem_multicore_cpp.dir/all] > Error 2 > make: *** [all] Error 2 > > I tried to make it work, but had no luck. Can someone push a fix? > > Johannes > > On Mon, Sep 10, 2012 at 4:52 PM, <[email protected]> wrote: >> ------------------------------------------------------------ >> revno: 6899 >> committer: Garth N. Wells <[email protected]> >> branch nick: all >> timestamp: Mon 2012-09-10 15:50:55 +0100 >> message: >> Fix multicore bench code and some more assembler tidy-up. >> modified: >> bench/fem/multicore/cpp/main.cpp >> dolfin/fem/Assembler.cpp >> dolfin/fem/AssemblerBase.cpp >> dolfin/fem/AssemblerBase.h >> dolfin/fem/LinearVariationalSolver.cpp >> dolfin/fem/OpenMpAssembler.cpp >> dolfin/fem/SymmetricAssembler.cpp >> dolfin/fem/SystemAssembler.cpp >> >> >> -- >> lp:dolfin >> https://code.launchpad.net/~dolfin-core/dolfin/trunk >> >> Your team DOLFIN Core Team is subscribed to branch lp:dolfin. >> To unsubscribe from this branch go to >> https://code.launchpad.net/~dolfin-core/dolfin/trunk/+edit-subscription >> >> === modified file 'bench/fem/multicore/cpp/main.cpp' >> --- bench/fem/multicore/cpp/main.cpp 2012-09-10 08:15:56 +0000 >> +++ bench/fem/multicore/cpp/main.cpp 2012-09-10 14:50:55 +0000 >> @@ -98,8 +98,10 @@ >> >> // Assemble >> Timer timer("Total time"); >> + Assembler assembler; >> + assembler.reset_sparsity = false; >> for (dolfin::uint i = 0; i < NUM_REPS; ++i) >> - assemble(A, *a, false); >> + assemble(A, *a); >> const double t = timer.stop(); >> >> // Write summary >> >> === modified file 'dolfin/fem/Assembler.cpp' >> --- dolfin/fem/Assembler.cpp 2012-09-08 09:49:23 +0000 >> +++ dolfin/fem/Assembler.cpp 2012-09-10 14:50:55 +0000 >> @@ -156,8 +156,7 @@ >> >> // Initialize global tensor >> const std::vector<std::pair<std::pair<uint, uint>, std::pair<uint, uint> >> > > periodic_master_slave_dofs; >> - AssemblerBase::init_global_tensor(A, a, periodic_master_slave_dofs, >> - reset_sparsity, add_values, >> keep_diagonal); >> + init_global_tensor(A, a, periodic_master_slave_dofs); >> >> // Assemble over cells >> assemble_cells(A, a, ufc, cell_domains, 0); >> >> === modified file 'dolfin/fem/AssemblerBase.cpp' >> --- dolfin/fem/AssemblerBase.cpp 2012-09-09 10:53:56 +0000 >> +++ dolfin/fem/AssemblerBase.cpp 2012-09-10 14:50:55 +0000 >> @@ -48,8 +48,7 @@ >> >> >> //----------------------------------------------------------------------------- >> void AssemblerBase::init_global_tensor(GenericTensor& A, const Form& a, >> - const std::vector<std::pair<std::pair<uint, uint>, >> std::pair<uint, uint> > >& periodic_master_slave_dofs, >> - bool reset_sparsity, bool add_values, bool keep_diagonal) >> + const std::vector<std::pair<std::pair<uint, uint>, >> std::pair<uint, uint> > >& periodic_master_slave_dofs) >> { >> dolfin_assert(a.ufc_form()); >> >> >> === modified file 'dolfin/fem/AssemblerBase.h' >> --- dolfin/fem/AssemblerBase.h 2012-09-09 10:53:56 +0000 >> +++ dolfin/fem/AssemblerBase.h 2012-09-10 14:50:55 +0000 >> @@ -36,8 +36,8 @@ >> class GenericTensor; >> class Form; >> >> - /// This class provides some common functions used in the >> - /// Assembler and SystemAssembler classes. >> + /// This class provides some common functions used in >> + /// assembler classes. >> >> class AssemblerBase >> { >> @@ -74,9 +74,8 @@ >> bool keep_diagonal; >> >> // Initialize global tensor >> - static void init_global_tensor(GenericTensor& A, const Form& a, >> - const std::vector<std::pair<std::pair<uint, uint>, std::pair<uint, >> uint> > >& periodic_master_slave_dofs, >> - bool reset_sparsity, bool add_values, bool keep_diagonal); >> + void init_global_tensor(GenericTensor& A, const Form& a, >> + const std::vector<std::pair<std::pair<uint, uint>, std::pair<uint, >> uint> > >& periodic_master_slave_dofs); >> >> protected: >> >> >> === modified file 'dolfin/fem/LinearVariationalSolver.cpp' >> --- dolfin/fem/LinearVariationalSolver.cpp 2012-09-08 09:49:23 +0000 >> +++ dolfin/fem/LinearVariationalSolver.cpp 2012-09-10 14:50:55 +0000 >> @@ -26,6 +26,7 @@ >> #include <dolfin/la/GenericVector.h> >> #include <dolfin/la/LinearAlgebraFactory.h> >> #include <dolfin/la/LinearSolver.h> >> +#include "Assembler.h" >> #include "AssemblerBase.h" >> #include "assemble.h" >> #include "DirichletBC.h" >> @@ -138,10 +139,12 @@ >> >> >> // Intialise matrix, taking into account periodic dofs >> - AssemblerBase::init_global_tensor(*A, *a, dof_pairs, true, false, >> false); >> + Assembler assembler; >> + assembler.init_global_tensor(*A, *a, dof_pairs); >> + assembler.reset_sparsity = false; >> >> // Assemble linear system >> - assemble(*A, *a, false); >> + assembler.assemble(*A, *a); >> if (L->ufc_form()) >> assemble(*b, *L); >> else >> >> === modified file 'dolfin/fem/OpenMpAssembler.cpp' >> --- dolfin/fem/OpenMpAssembler.cpp 2012-09-08 09:49:23 +0000 >> +++ dolfin/fem/OpenMpAssembler.cpp 2012-09-10 14:50:55 +0000 >> @@ -91,8 +91,7 @@ >> >> // Initialize global tensor >> const std::vector<std::pair<std::pair<uint, uint>, std::pair<uint, uint> >> > > periodic_master_slave_dofs; >> - AssemblerBase::init_global_tensor(A, a, periodic_master_slave_dofs, >> - reset_sparsity, add_values, >> keep_diagonal); >> + init_global_tensor(A, a, periodic_master_slave_dofs); >> >> // FIXME: The below selections should be made robust >> >> >> === modified file 'dolfin/fem/SymmetricAssembler.cpp' >> --- dolfin/fem/SymmetricAssembler.cpp 2012-09-08 09:49:23 +0000 >> +++ dolfin/fem/SymmetricAssembler.cpp 2012-09-10 14:50:55 +0000 >> @@ -205,11 +205,10 @@ >> coefficients[i]->update(); >> >> // Initialize global tensors >> - const std::vector<std::pair<std::pair<uint, uint>, std::pair<uint, uint> >> > > periodic_master_slave_dofs; >> - AssemblerBase::init_global_tensor(A, a, periodic_master_slave_dofs, >> - reset_sparsity, add_values, >> keep_diagonal); >> - AssemblerBase::init_global_tensor(A_asymm, a, periodic_master_slave_dofs, >> - reset_sparsity, add_values, >> keep_diagonal); >> + error("SymmetricAssembler is presently broken. It will be removed soon."); >> + //const std::vector<std::pair<std::pair<uint, uint>, std::pair<uint, >> uint> > > periodic_master_slave_dofs; >> + //init_global_tensor(A, a, periodic_master_slave_dofs); >> + //init_global_tensor(A_asymm, a, periodic_master_slave_dofs); >> >> // Get dofs that are local to this processor >> processor_dof_range = A.local_range(0); >> >> === modified file 'dolfin/fem/SystemAssembler.cpp' >> --- dolfin/fem/SystemAssembler.cpp 2012-09-08 09:49:23 +0000 >> +++ dolfin/fem/SystemAssembler.cpp 2012-09-10 14:50:55 +0000 >> @@ -180,10 +180,8 @@ >> >> // Initialize global tensors >> const std::vector<std::pair<std::pair<uint, uint>, std::pair<uint, uint> >> > > periodic_master_slave_dofs; >> - AssemblerBase::init_global_tensor(A, a, periodic_master_slave_dofs, >> - reset_sparsity, add_values, >> keep_diagonal); >> - AssemblerBase::init_global_tensor(b, L, periodic_master_slave_dofs, >> - reset_sparsity, add_values, >> keep_diagonal); >> + init_global_tensor(A, a, periodic_master_slave_dofs); >> + init_global_tensor(b, L, periodic_master_slave_dofs); >> >> // Allocate data >> Scratch data(a, L); >> >> > > _______________________________________________ > Mailing list: https://launchpad.net/~dolfin > Post to : [email protected] > Unsubscribe : https://launchpad.net/~dolfin > More help : https://help.launchpad.net/ListHelp _______________________________________________ Mailing list: https://launchpad.net/~dolfin Post to : [email protected] Unsubscribe : https://launchpad.net/~dolfin More help : https://help.launchpad.net/ListHelp

