Hmm... So what conclusions should one make? - Major difference lies in PETSc LU solver
- 1.6dev looks faster than 1.5 for Johannes - assemble_cells twice as fast in Debian package than HashDist build - Apply (PETScVector) happens a lot more than it used to - Init tensor, build sparsity, delete sparsity happens a lot less Important questions: - Are the Debian packages built with more optimization than the HashDist build uses? (indicated by faster assemble_cells for Debian version) - How can the PETSc LU solve timings change? Are different PETSc version being used, or is PETSc built differently? -- Anders tis 31 mars 2015 kl 10:25 skrev Johannes Ring <[email protected]>: > Here are my numbers (see attachment). > > Johannes > > On Tue, Mar 31, 2015 at 9:46 AM, Garth N. Wells <[email protected]> wrote: > > FEniCS 1.4 package (Ubuntu 14.10) > > > > Summary of timings | Average > > time Total time Reps > > ------------------------------------------------------------ > ------------------------------ > > Apply (PETScMatrix) | > > 0.00033009 0.079882 242 > > Apply (PETScVector) | > > 6.9951e-06 0.005806 830 > > Assemble cells | > > 0.017927 9.5731 534 > > Boost Cuthill-McKee graph ordering (from dolfin::Graph) | > > 9.5844e-05 9.5844e-05 1 > > Build Boost CSR graph | > > 7.7009e-05 7.7009e-05 1 > > Build mesh number mesh entities | > > 0 0 2 > > Build sparsity | > > 0.0041105 0.0082209 2 > > Delete sparsity | > > 1.0729e-06 2.1458e-06 2 > > Init MPI | > > 0.055825 0.055825 1 > > Init PETSc | > > 0.056171 0.056171 1 > > Init dof vector | > > 0.00018656 0.00037313 2 > > Init dofmap | > > 0.0064399 0.0064399 1 > > Init dofmap from UFC dofmap | > > 0.0017549 0.0035098 2 > > Init tensor | > > 0.0002135 0.00042701 2 > > LU solver | > > 0.11543 27.933 242 > > PETSc LU solver | > > 0.1154 27.926 242 > > > > > > > > FEniCS dev (my build, using PETSc dev) > > > > [MPI_AVG] Summary of timings | reps wall avg wall tot > > ---------------------------------------------------------------- > > Apply (PETScMatrix) | 242 0.00020009 0.048421 > > Apply (PETScVector) | 830 8.5487e-06 0.0070954 > > Assemble cells | 534 0.017001 9.0787 > > Build mesh number mesh entities | 1 7.35e-07 7.35e-07 > > Build sparsity | 2 0.0068867 0.013773 > > Delete sparsity | 2 9.88e-07 1.976e-06 > > Init MPI | 1 0.0023164 0.0023164 > > Init PETSc | 1 0.002519 0.002519 > > Init dof vector | 2 0.00016088 0.00032177 > > Init dofmap | 1 0.04457 0.04457 > > Init dofmap from UFC dofmap | 1 0.0035997 0.0035997 > > Init tensor | 2 0.00034076 0.00068153 > > LU solver | 242 0.097293 23.545 > > PETSc LU solver | 242 0.097255 23.536 > > SCOTCH graph ordering | 1 0.0005598 0.0005598 > > compute connectivity 1 - 2 | 1 0.00088592 0.00088592 > > compute entities dim = 1 | 1 0.028021 0.028021 > > > > Garth > > > > > > On Mon, Mar 30, 2015 at 11:37 PM, Jan Blechta > > <[email protected]> wrote: > >> Could you, guys, run it with > >> > >> list_timings() > >> > >> to get a detailed structure where's the time spent? > >> > >> Jan > >> > >> > >> On Mon, 30 Mar 2015 23:21:41 +0200 > >> Johannes Ring <[email protected]> wrote: > >> > >>> On Mon, Mar 30, 2015 at 8:37 PM, Anders Logg <[email protected]> wrote: > >>> > Could you or someone else build FEniCS with fenics-install.sh > >>> > (takes time but is presumably automatic) and compare? > >>> > >>> I got 53s with the Debian packages and 1m5s with the HashDist based > >>> installation. > >>> > >>> > The alternative would be for me to build FEniCS manually but that > >>> > takes a lot of manual effort and it's not clear I can make a "good" > >>> > build. It would be good to get a number, not only to check for a > >>> > possible regression but also to test whether something is > >>> > suboptimal in the HashDist build. > >>> > > >>> > Johannes, is the HashDist build with optimization? > >>> > >>> DOLFIN is built with CMAKE_BUILD_TYPE=Release. The flags for building > >>> PETSc is listed below. > >>> > >>> Johannes > >>> > >>> PETSc flags for Debian package: > >>> > >>> PETSC_DIR=/tmp/src/petsc-3.4.2.dfsg1 PETSC_ARCH=linux-gnu-c-opt \ > >>> ./config/configure.py --with-shared-libraries --with-debugging=0 \ > >>> --useThreads 0 --with-clanguage=C++ --with-c-support \ > >>> --with-fortran-interfaces=1 \ > >>> --with-mpi-dir=/usr/lib/openmpi --with-mpi-shared=1 \ > >>> --with-blas-lib=-lblas --with-lapack-lib=-llapack \ > >>> --with-blacs=1 --with-blacs-include=/usr/include \ > >>> --with-blacs-lib=[/usr/lib/libblacsCinit-openmpi.so,/usr/ > lib/libblacs-openmpi.so] > >>> \ > >>> --with-scalapack=1 --with-scalapack-include=/usr/include \ > >>> --with-scalapack-lib=/usr/lib/libscalapack-openmpi.so \ > >>> --with-mumps=1 --with-mumps-include=/usr/include \ > >>> --with-mumps-lib=[/usr/lib/libdmumps.so,/usr/lib/ > libzmumps.so,/usr/lib/libsmumps.so,/usr/lib/libcmumps.so,/usr/lib/ > libmumps_common.so,/usr/lib/libpord.so] > >>> \ > >>> --with-umfpack=1 --with-umfpack-include=/usr/include/suitesparse \ > >>> --with-umfpack-lib=[/usr/lib/libumfpack.so,/usr/lib/libamd.so] \ > >>> --with-cholmod=1 --with-cholmod-include=/usr/include/suitesparse \ > >>> --with-cholmod-lib=/usr/lib/libcholmod.so \ > >>> --with-spooles=1 --with-spooles-include=/usr/include/spooles \ > >>> --with-spooles-lib=/usr/lib/libspooles.so \ > >>> --with-hypre=1 --with-hypre-dir=/usr \ > >>> --with-ptscotch=1 --with-ptscotch-include=/usr/include/scotch \ > >>> --with-ptscotch-lib=[/usr/lib/libptesmumps.so,/usr/lib/ > libptscotch.so,/usr/lib/libptscotcherr.so] > >>> \ > >>> --with-fftw=1 --with-fftw-include=/usr/include \ > >>> --with-fftw-lib=[/usr/lib/x86_64-linux-gnu/libfftw3.so,/usr/ > lib/x86_64-linux-gnu/libfftw3_mpi.so] > >>> \ > >>> --with-hdf5=1 --with-hdf5-dir=/usr/lib/x86_64-linux-gnu/hdf5/openmpi > >>> --CXX_LINKER_FLAGS="-Wl,--no-as-needed" > >>> > >>> > >>> PETSc flags for HashDist based build: > >>> > >>> mkdir ${PWD}/_tmp && TMPDIR=${PWD}/_tmp \ > >>> ./configure --prefix="${ARTIFACT}" \ > >>> COPTFLAGS=-O2 \ > >>> --with-shared-libraries=1 \ > >>> --with-debugging=0 \ > >>> --with-ssl=0 \ > >>> --with-blas-lapack-lib=${OPENBLAS_DIR}/lib/libopenblas.so \ > >>> --with-metis-dir=$PARMETIS_DIR \ > >>> --with-parmetis-dir=$PARMETIS_DIR \ > >>> --with-scotch-dir=${SCOTCH_DIR} \ > >>> --with-ptscotch-dir=${SCOTCH_DIR} \ > >>> --with-suitesparse=1 \ > >>> --with-suitesparse-include=${SUITESPARSE_DIR}/include/suitesparse \ > >>> --with-suitesparse-lib=[${SUITESPARSE_DIR}/lib/ > libumfpack.a,libklu.a,libcholmod.a,libbtf.a,libccolamd.a,libcolamd.a, > libcamd.a,libamd.a,libsuitesparseconfig.a] > >>> \ > >>> --with-hypre=1 \ > >>> --with-hypre-include=${HYPRE_DIR}/include \ > >>> --with-hypre-lib=${HYPRE_DIR}/lib/libHYPRE.so \ > >>> --with-mpi-compilers \ > >>> CC=$MPICC \ > >>> CXX=$MPICXX \ > >>> F77=$MPIF77 \ > >>> F90=$MPIF90 \ > >>> FC=$MPIF90 \ > >>> --with-patchelf-dir=$PATCHELF_DIR \ > >>> --with-python-dir=$PYTHON_DIR \ > >>> --with-superlu_dist-dir=$SUPERLU_DIST_DIR \ > >>> --download-mumps=1 \ > >>> --download-scalapack=1 \ > >>> --download-blacs=1 \ > >>> --download-ml=1 > >>> > >>> > >>> > -- > >>> > Anders > >>> > > >>> > > >>> > mån 30 mars 2015 kl 17:05 skrev Garth N. Wells <[email protected]>: > >>> >> > >>> >> On Mon, Mar 30, 2015 at 1:34 PM, Anders Logg <[email protected]> > >>> >> wrote: > >>> >> > See this question on the QA forum: > >>> >> > > >>> >> > > >>> >> > http://fenicsproject.org/qa/6875/ubuntu-compile-from- > source-which-provide-better-performance > >>> >> > > >>> >> > The Cahn-Hilliard demo takes 40 seconds with 1.3 Ubuntu packages > >>> >> > and 52 seconds with 1.5+ built from source. Are these > >>> >> > regressions in performance or > >>> >> > is Johannes that much better at building Debian packages than I > >>> >> > am building > >>> >> > FEniCS (with HashDist). > >>> >> > > >>> >> > >>> >> With the 1.4 Ubuntu package (Ubuntu 14.10), I get 42s. With my > >>> >> build of the dev version (I don't use Hashdist) I get 34s. > >>> >> > >>> >> Garth > >>> >> > >>> >> > PS: Looking at the benchbot, there seem to have been some > >>> >> > regressions in the > >>> >> > timing facilities with the recent changes: > >>> >> > > >>> >> > http://fenicsproject.org/benchbot/ > >>> >> > > >>> >> > -- > >>> >> > Anders > >>> >> > > >>> >> > > >>> >> > _______________________________________________ > >>> >> > fenics mailing list > >>> >> > [email protected] > >>> >> > http://fenicsproject.org/mailman/listinfo/fenics > >>> >> > > >>> > > >>> > > >>> > _______________________________________________ > >>> > fenics mailing list > >>> > [email protected] > >>> > http://fenicsproject.org/mailman/listinfo/fenics > >>> > > >>> _______________________________________________ > >>> fenics mailing list > >>> [email protected] > >>> http://fenicsproject.org/mailman/listinfo/fenics > >> > >> _______________________________________________ > >> fenics mailing list > >> [email protected] > >> http://fenicsproject.org/mailman/listinfo/fenics >
_______________________________________________ fenics mailing list [email protected] http://fenicsproject.org/mailman/listinfo/fenics
