[bddcml-users] bddcml : example ?

Jakub Sistek sistek at math.cas.cz
Tue Jun 18 00:53:03 CEST 2013


Hi Bob,

thanks for your valuable feedback. I haven't noticed the bug with 
gfortran - seems as an Intel compiler thing.
Regarding the segfaults though, I am convinced this is due to the 
MUMPS/ParMETIS versions, I had the same problem a few weeks ago:
The thing is, MUMPS 4.10.0 does not support ParMETIS 4.X.X, although 
there seem to be some patches to it around. I would recommend to use the 
standard sources of MUMPS 4.10.0 + ParMETIS 3.2.0.
This is the combination that should work with MUMPS 4.10.0. The new 
release of MUMPS should support ParMETIS 4.X and METIS 5.X.

Could you try to downgrade your ParMETIS/METIS and use the unpatched 
MUMPS sources?

Best regards

Jakub


On 06/17/2013 09:53 PM, bob wrote:
>
>     Hello,
>
>     sorry about the missing examples. However, an example is attached.
>     It is quite recent, and it is contained within the version on git.
>     It should go to the examples/ subdirectory (as well as the updated
>     Makefile). I recommend anyway to use the version downloaded from
>     git, as there are some major changes important for scalability on
>     very large numbers of cores. The example creates a simple mesh on
>     a cube and solves a Poisson equation on it. I hope the example is
>     reasonably commented and sort of self-explanatory. No input data
>     are needed for it.
>     To run it, you just need to specify
>     mpirun -np X poisson_on_cube NUM_EL_PER_SUB_EDGE
>     NUM_SUB_PER_CUBE_EDGE NLEVELS
>     where
>     X - is number of processes
>     NUM_EL_PER_SUB_EDGE - number of cubic elements on an edge of a
>     subdomain, known as H/h in DD theory
>     NUM_SUB_PER_CUBE_EDGE - number of cubic subdomains on an edge of
>     the unit cube
>     NLEVELS - number of levels employed by BDDC, say 2,3,4 are
>     reasonable values
>
>     I will be happy if you let me know about your experience with the
>     code.
>
>     Best wishes
>
>     Jakub
>
>
> Thanks.
>
>
> Testing : git version
>
> - Configuration :
>
> OS :  RH 6.2
> Intel compilers 12.1 + MKL 10.3 + MPI
> Mumps 4.10.0
> Parmetis 4.0.3
>
>
> - An error occured during the compilation : module_utils.f90
>
> fixed :  logical elemental function fuzzyLessThan(x,y) : "end return" 
> instead 'end'
>
> - Some warnings :
>
> lobpcg_driver.c(276): warning #167: argument of type "void *" is 
> incompatible with parameter of type "void (*)(void *, void *, void *)"
>           precfun, /* precfun is set above: for option with 
> preconditioner, use mvecmultM here, without it, use NULL */
>           ^
> poisson_on_cube.f90(870): warning #6843: A dummy argument with an 
> explicit INTENT(OUT) declaration is not given an explicit value.   [INETS]
>                                  inets,linets,  &
> ---------------------------------^
> poisson_on_cube.f90(871): warning #6843: A dummy argument with an 
> explicit INTENT(OUT) declaration is not given an explicit value.   [XYZS]
>                                  xyzs,lxyzs1,lxyzs2, &
> ---------------------------------^
> poisson_on_cube.f90(872): warning #6843: A dummy argument with an 
> explicit INTENT(OUT) declaration is not given an explicit value.   [SOLS]
>                                  sols,lsols)
> ---------------------------------^
>
>
> - Execution failed :
>
> poisson_on_cube 4 2 2
>
>  ===========Possion on cube solver===========
> | Solves problem                             |
> |          -Îu = 1 on Ω = [0,1]^3,           |
> |            u = 0 on Î,                     |
> | using FEM and the BDDCML solver.           |
>  ============================================
>  Characteristics of the problem :
>    number of processors            nproc =           4
>    number of dimensions             ndim =           3
>    mesh dimension                meshdim =           3
>    number of elements global       nelem =         512
>    number of subdomains             nsub =           8
>    number of nodes global           nnod =         729
>    number of DOF                    ndof =         729
>    number of levels              nlevels =           2
>    number of subdomains in levels        =           8 1
>  Characteristics of iterational process:
>    tolerance of error                tol = 1.000000000000000E-006
>    maximum number of iterations    maxit =         500
>    number of incresing residual ndecrmax =          50
>    using recycling of Krylov method ?                1
> Initializing BDDCML ...
> Initializing BDDCML done.
> Loading data ...
> Loading data done.
> Preconditioner set-up ...
> ERROR:  task 1: Segmentation fault
> ERROR:  task 0: Segmentation fault
> ERROR:  task 3: Segmentation fault
> ERROR:  task 2: Segmentation fault
>
> bddcml_setup_preconditioner -> levels_pc_setup -> 
> levels_prepare_standard_level -> dd_prepare_schur -> mumps_init
>
>
> Wrong datas ?
>


-- 
Jakub Sistek, Ph.D.
Institute of Mathematics of the AS CR
http://www.math.cas.cz/~sistek
tel: (+420) 222 090 710

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.math.cas.cz/pipermail/bddcml-users/attachments/20130618/d92afdab/attachment.html 


More information about the bddcml-users mailing list