|
From: Maurice M. <Mau...@gm...> - 2017-05-22 22:52:46
|
Hi, I am trying to debug my code with Valgrind but I do not get to the buggy part because Valgrind kills the program after an Unrecognized instruction in the MUMPS library: vex amd64->IR: unhandled instruction bytes: 0xC4 0x82 0x21 0x2E 0x1C 0x23 0x49 0x83 vex amd64->IR: REX=0 REX.W=0 REX.R=0 REX.X=1 REX.B=1 vex amd64->IR: VEX=1 VEX.L=0 VEX.nVVVV=0xB ESC=0F38 vex amd64->IR: PFX.66=1 PFX.F2=0 PFX.F3=0 ==4206== valgrind: Unrecognised instruction at address 0x1641d07. ==4206== at 0x1641D07: mumps_hamf4_ (in /global/u1/n/nox/codes/debug-edison-gene3d/bin/gene_edison) ==4206== by 0x120F862: dmumps_ana_f_ (in /global/u1/n/nox/codes/debug-edison-gene3d/bin/gene_edison) ==4206== by 0x11DA8B2: dmumps_ana_driver_ (in /global/u1/n/nox/codes/debug-edison-gene3d/bin/gene_edison) ==4206== by 0x118EBA7: dmumps_ (in /global/u1/n/nox/codes/debug-edison-gene3d/bin/gene_edison) ==4206== by 0x1013087: mod_spsol_mumps_mp_mumps_factorize_ (mod_spsol_mumps.f90:173) ==4206== by 0xD5E682: xy_fieldsolver_mod_mp_initialize_xy_fieldsolver_ (FieldSolver.F90:333) ==4206== by 0xD17C8B: fieldsolver_dd_mp_initialize_field_solve_dd_ (field_solve_dd.F90:69) ==4206== by 0x9C4C87: field_solver_mp_initialize_field_solver_ (field_solver.F90:111) ==4206== by 0x410E67: aux_fields_mp_initialize_calc_aux_fields_ (aux_fields.F90:51) ==4206== by 0xABB3AC: initial_value_comp_mp_initial_value_ (initial_value_comp.F90:78) ==4206== by 0xA10E94: gene_subroutine_mp_rungene_ (gene_subroutine.F90:103) ==4206== by 0xE90309: MAIN__ (gene.F90:79) I run the code on the NERSC machine Edison: http://www.nersc.gov/users/computational-systems/edison/ The Valgrind version is 3.11.0. The code is not runnable without PETSC and MUMPS. The PETSC version is 3.7.2.0 and MUMPS is part of the Cray tpsl packagage (16.07.1) but I have no idea which version of MUMPS is in there. To compile my code I use the Intel Programming Environment (PrgEnv-intel/5.2.56) and the intel compiler intel/17.0.1.132 Is there any way you could help me with that? Regards, Maurice |
|
From: Jeff H. <jef...@gm...> - 2017-05-25 18:38:42
|
What happens if you tell PETSc to build MUMPS instead of using Cray TPSL? That is a simple way to rule out an issue with TPSL. NERSC Edison has Intel Ivy Bridge, which supports AVX, which should be fully supported in Valgrind 3.11, so I am rather confused why you see an unrecognized instruction. Are you certain that you did not accidentally use a binary compiled for Cori (which includes Haswell and Knights Landing)? You can use Intel SDE ( https://software.intel.com/en-us/articles/intel-software-development-emulator) and XED (https://github.com/intelxed/xed) to analyze and decode instruction encodings to determine exactly what is unrecognized here. Jeff On Mon, May 22, 2017 at 3:52 PM, Maurice Maurer <Mau...@gm...> wrote: > Hi, > I am trying to debug my code with Valgrind but I do not get to the buggy > part because Valgrind kills the program after an Unrecognized > instruction in the MUMPS library: > > vex amd64->IR: unhandled instruction bytes: 0xC4 0x82 0x21 0x2E 0x1C > 0x23 0x49 0x83 > vex amd64->IR: REX=0 REX.W=0 REX.R=0 REX.X=1 REX.B=1 > vex amd64->IR: VEX=1 VEX.L=0 VEX.nVVVV=0xB ESC=0F38 > vex amd64->IR: PFX.66=1 PFX.F2=0 PFX.F3=0 > ==4206== valgrind: Unrecognised instruction at address 0x1641d07. > ==4206== at 0x1641D07: mumps_hamf4_ (in > /global/u1/n/nox/codes/debug-edison-gene3d/bin/gene_edison) > ==4206== by 0x120F862: dmumps_ana_f_ (in > /global/u1/n/nox/codes/debug-edison-gene3d/bin/gene_edison) > ==4206== by 0x11DA8B2: dmumps_ana_driver_ (in > /global/u1/n/nox/codes/debug-edison-gene3d/bin/gene_edison) > ==4206== by 0x118EBA7: dmumps_ (in > /global/u1/n/nox/codes/debug-edison-gene3d/bin/gene_edison) > ==4206== by 0x1013087: mod_spsol_mumps_mp_mumps_factorize_ > (mod_spsol_mumps.f90:173) > ==4206== by 0xD5E682: > xy_fieldsolver_mod_mp_initialize_xy_fieldsolver_ (FieldSolver.F90:333) > ==4206== by 0xD17C8B: fieldsolver_dd_mp_initialize_field_solve_dd_ > (field_solve_dd.F90:69) > ==4206== by 0x9C4C87: field_solver_mp_initialize_field_solver_ > (field_solver.F90:111) > ==4206== by 0x410E67: aux_fields_mp_initialize_calc_aux_fields_ > (aux_fields.F90:51) > ==4206== by 0xABB3AC: initial_value_comp_mp_initial_value_ > (initial_value_comp.F90:78) > ==4206== by 0xA10E94: gene_subroutine_mp_rungene_ > (gene_subroutine.F90:103) > ==4206== by 0xE90309: MAIN__ (gene.F90:79) > > > I run the code on the NERSC machine Edison: > http://www.nersc.gov/users/computational-systems/edison/ > > The Valgrind version is 3.11.0. > > The code is not runnable without PETSC and MUMPS. The PETSC version is > 3.7.2.0 and MUMPS is part of the Cray tpsl packagage (16.07.1) but I > have no idea which version of MUMPS is in there. > > To compile my code I use the Intel Programming Environment > (PrgEnv-intel/5.2.56) and the intel compiler intel/17.0.1.132 > > Is there any way you could help me with that? > > > Regards, Maurice > > > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Valgrind-users mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-users > -- Jeff Hammond jef...@gm... http://jeffhammond.github.io/ |
|
From: Philippe W. <phi...@sk...> - 2017-05-26 08:37:54
|
On Mon, 2017-05-22 at 15:52 -0700, Maurice Maurer wrote: > The Valgrind version is 3.11.0. It would be worth trying the latest release (3.12). Or even better the SVN version : svn co svn://svn.valgrind.org/valgrind/trunk valgrind cd valgrind ./autogen.sh ./configure --prefix=... make make install Often, new releases provide better support for instructions. Philippe |