Hello all,I am trying to compile getfem and I am having partial success. I have seen posts regarding similar issues in the past but I didn't find anything that works for me. I hope I can get some help with my specific issues.
Here is my configuration: OS: Ubuntu 13.04 (raring) MATLAB 2013b (Release number 30 according to wikipedia)mpich2, muParser, par+seq mumps, metis (through libsuitesparse-metis-dev), python, numpy, scipy
gcc v4.8.1For the moment I will be happy to have getfem running in SMP using python (at least with MUMPS) and single-core using MATLAB. I have to note that in all compilation cases I have to tweak the configure script to reflect the fact that the script cannot detect my version of MATLAB (basically I hard-wire MATLAB_RELEASE=30). Additionally I manually move the definition of mumps_error_check(MUMPS_STRUCT &id) in gmm/gmm_MUMPS_interface.h towards the beginning of the file since gcc 4.8 wants it declared before it is instantiated.
In any case here are my attempts: 1. Parallel build$ ./configure --with-pic --enable-matlab MEX=/usr/local/MATLAB/R2013b/bin/mex --enable-par-mumps --enable-paralevel=2 --enable-python
$ make -j 8 $ sudo make install When I run a python example I get: $ mpirun -n 4 python demo_step_by_step.py Attempting to use an MPI routine before initializing MPICH Attempting to use an MPI routine before initializing MPICH('1 - 3*x - 3*y + 2*x^2 + 9*x*y + 2*y^2 - 6*x^2*y - 6*x*y^2 + 4*x^2*y^2', '4*x - 4*x^2 - 12*x*y + 12*x^2*y + 8*x*y^2 - 8*x^2*y^2', '-x + 2*x^2 + 3*x*y - 6*x^2*y - 2*x*y^2 + 4*x^2*y^2', '4*y - 12*x*y - 4*y^2 + 8*x^2*y + 12*x*y^2 - 8*x^2*y^2', '16*x*y - 16*x^2*y - 16*x*y^2 + 16*x^2*y^2', '-4*x*y + 8*x^2*y + 4*x*y^2 - 8*x^2*y^2', '-y + 3*x*y + 2*y^2 - 2*x^2*y - 6*x*y^2 + 4*x^2*y^2', '-4*x*y + 4*x^2*y + 8*x*y^2 - 8*x^2*y^2', 'x*y - 2*x^2*y - 2*x*y^2 + 4*x^2*y^2') ('1 - 3*x - 3*y + 2*x^2 + 9*x*y + 2*y^2 - 6*x^2*y - 6*x*y^2 + 4*x^2*y^2', '4*x - 4*x^2 - 12*x*y + 12*x^2*y + 8*x*y^2 - 8*x^2*y^2', '-x + 2*x^2 + 3*x*y - 6*x^2*y - 2*x*y^2 + 4*x^2*y^2', '4*y - 12*x*y - 4*y^2 + 8*x^2*y + 12*x*y^2 - 8*x^2*y^2', '16*x*y - 16*x^2*y - 16*x*y^2 + 16*x^2*y^2', '-4*x*y + 8*x^2*y + 4*x*y^2 - 8*x^2*y^2', '-y + 3*x*y + 2*y^2 - 2*x^2*y - 6*x*y^2 + 4*x^2*y^2', '-4*x*y + 4*x^2*y + 8*x*y^2 - 8*x^2*y^2', 'x*y - 2*x^2*y - 2*x*y^2 + 4*x^2*y^2')
Attempting to use an MPI routine before initializing MPICH Attempting to use an MPI routine before initializing MPICH I do not get any errors and the u.pos file is not generated I get a similar output when I run it without mpirun: $ python demo_step_by_step.pyAdditionally when I run the same example through matlab it crashes and it only reports:
Attempting to use an MPI routine before initializing MPICHInconsistency detected by ld.so: dl-close.c: 765: _dl_close: Assertion `map->l_init_called' failed!
2. Non-parallel build:$ ./configure --with-pic --enable-matlab MEX=/usr/local/MATLAB/R2013b/bin/mex --enable-mumps --enable-python
$ make -j 8 $ sudo make installRunning through the python interface gives the expected results (the python script runs and I get the proper answer. I tried both with demo_step_by_step and with demo_tripod)
Running though: $ make check returns: PASS: ../tests/dynamic_array.pl PASS: ../tests/dynamic_tas.pl PASS: ../tests/test_int_set.pl PASS: ../tests/test_tree_sorted.pl PASS: ../tests/poly.pl PASS: ../tests/test_small_vector.pl PASS: ../tests/test_kdtree.pl PASS: ../tests/test_rtree.pl PASS: ../tests/geo_trans_inv.pl PASS: ../tests/test_norm.pl PASS: ../tests/test_mesh.pl PASS: ../tests/test_interpolation.pl ............. PASS: ../tests/test_mat_elem.pl PASS: ../tests/test_slice.pl PASS: ../tests/integration.pl ... PASS: ../tests/test_assembly.pl PASS: ../tests/test_interpolated_fem.pl PASS: ../tests/test_range_basis.pl ............. PASS: ../tests/laplacian.pl ./laplacian_with_bricks /tmp/laplacian.param_346 2>&1 failed FAIL: ../tests/laplacian_with_bricks.pl ./elastostatic /tmp/elas.param_309 2>&1 failed FAIL: ../tests/elastostatic.pl FAIL: ../tests/stokes.pl FAIL: ../tests/plate.pl PASS: ../tests/test_mesh_im_level_set.pl FAIL: ../tests/crack.pl FAIL: ../tests/nonlinear_elastostatic.pl FAIL: ../tests/nonlinear_membrane.pl FAIL: ../tests/dynamic_friction.pl PASS: ../tests/plasticity.pl FAIL: ../tests/plasticity_old_brick.pl FAIL: ../tests/helmholtz.pl PASS: ../tests/schwarz_additive.pl ./bilaplacian /tmp/elas.param_827 2>&1 failed FAIL: ../tests/bilaplacian.pl ./heat_equation /tmp/heat.param_267 2>&1 failed FAIL: ../tests/heat_equation.pl ./wave_equation /tmp/wave.param_757 2>&1 failed FAIL: ../tests/wave_equation.pl FAIL: ../tests/test_large_sliding_contact.pl PASS: ../tests/cyl_slicer.pl .... 50 effective experiments with no fault, size = 25 base type : St7complexIfE solver least square cg : 0 exp. with no fault solver bicgstab : 0 exp. with no fault solver gmres : 250 exp. with no fault, ratio = 0, average nb iter = 14.4 solver qmr : 0 exp. with no fault solver cg : 200 exp. with no fault, ratio = 0, average nb iter = 21.9 no precond : 100 exp. with no fault, ratio = 0, average nb iter = 29 diag precond : 100 exp. with no fault, ratio = 0, average nb iter = 29.8 mr precond : 0 exp. with no fault ilu precond : 50 exp. with no fault, ratio = 0, average nb iter = 14.6 ilut precond : 50 exp. with no fault, ratio = 0, average nb iter = 6.14 ilutp precond : 50 exp. with no fault, ratio = 0, average nb iter = 1.52 ildlt precond : 50 exp. with no fault, ratio = 0, average nb iter = 1 ildltt precond : 50 exp. with no fault, ratio = 0, average nb iter = 19.1 PASS: ../tests/make_gmm_test.pl ===================== 14 of 38 tests failed ===================== make[2]: *** [check-TESTS] Error 1 make[2]: Leaving directory `/home/nasos/tmp/getfem/getfem-4.2/tests' make[1]: *** [check-am] Error 2 make[1]: Leaving directory `/home/nasos/tmp/getfem/getfem-4.2/tests' make: *** [check-recursive] Error 1 In MATLAB I am getting this: plotting mesh...Trace 2 in getfem_models.cc, line 1827: Mass term assembly for Dirichlet condition
logic_error exception caught Error using gf_matlabError in ../../src/gmm/gmm_opt.h, line 87 T gmm::lu_inverse(const gmm::dense_matrix<T>&) [with T = double]:
non invertible matrix
Error in gf_model_get (line 183)
gf_matlab('model_get', varargin{:});
and in the command terminal:
MKL ERROR: Parameter 8 was incorrect on entry to DGEMM .
note: matlab does not crash at this point but it DOES if I run the
script again.
I tried to debug it and it seems that lu_inverse is being fed with a zero matrix.
I also tried to PRELOAD my local c and std libs but I am getting the same error.
So my questions are: A. Any suggestions/thoughts with respect to my build configuration/system? B. How can I enable a debug build so I can search it a little bit more? Thank you! Nasos Iliopoulos _______________________________________________ Getfem-users mailing list [email protected] https://mail.gna.org/listinfo/getfem-users
