From: Tom H. <to...@co...> - 2020-05-26 09:23:37
|
That's correct as AVX512 is not currently supported in valgrind so you will need a version that doesn't use that for valgrind use. Progress on adding AVX512 support is being tracked here: https://bugs.kde.org/show_bug.cgi?id=383010 Tom On 26/05/2020 10:07, Patrick Bégou wrote: > Thanks all for these precisions. > I have deployed OpenMPI myself. So I have to build it again, disabling > AVX512 optimizations. This level of optimization is used in all our CFD > codes and libraries as it improve the global code performances. > > Patrick > > Le 26/05/2020 à 10:45, Tom Hughes a écrit : >> Sorry, I misunderstood what you meant by "as previous version" there. >> >> I thought you meant the previous version worked but you actually >> meant that it failed. >> >> As Julian says there is no easy fix - you have a library installed >> that has been compiled to assume certain instructions are available >> that are not in fact available under valgrind at the moment. >> >> Tom >> >> On 26/05/2020 09:26, Patrick Bégou wrote: >>> Hi Tom, >>> >>> I'm a new user of Valgrind. I was needing it to check a large mpi code. >>> So I downloaded 3.15 version but even if hardware and software are 2 to >>> 3 years old, valgrind does'nt work for me. >>> Nor gcc7, nor OpenMPI, nor my application (even the small test) used >>> specific option when they were built. >>> >>> If this unsupported instruction (I do not know what is an EVEX prefix, >>> sorry) is the problem, how can I avoid it to use valgrind ? >>> >>> I was just thinking that 3.16 could solve my problem.... >>> >>> Patrick >>> >>> >>> >>> Le 26/05/2020 à 10:12, Tom Hughes a écrit : >>>> On 26/05/2020 09:06, Patrick Bégou wrote: >>>> >>>>> valgrind-3.16.0.RC2 doesn't work for me (as previous version on this >>>>> server). >>>> >>>> Are you saying that it fails on a binary that worked before? >>>> >>>>> vex amd64->IR: unhandled instruction bytes: 0x62 0xF1 0xFD 0x8 0x6F >>>>> 0x5 0x25 0xA8 0x18 0x0 >>>>> vex amd64->IR: REX=0 REX.W=0 REX.R=0 REX.X=0 REX.B=0 >>>>> vex amd64->IR: VEX=0 VEX.L=0 VEX.nVVVV=0x0 ESC=NONE >>>>> vex amd64->IR: PFX.66=0 PFX.F2=0 PFX.F3=0 >>>>> ==306850== valgrind: Unrecognised instruction at address 0x6ddf581. >>>>> vex amd64->IR: unhandled instruction bytes: 0x62 0xF1 0xFD 0x8 0x6F >>>>> 0x5 0x25 0xA8 0x18 0x0 >>>>> vex amd64->IR: REX=0 REX.W=0 REX.R=0 REX.X=0 REX.B=0 >>>>> vex amd64->IR: VEX=0 VEX.L=0 VEX.nVVVV=0x0 ESC=NONE >>>>> vex amd64->IR: PFX.66=0 PFX.F2=0 PFX.F3=0 >>>> >>>> Because this is an instruction with an EVEX prefix that is not >>>> supported by any version of valgrind ever so I don't see how this >>>> binary can have worked with the previous version of valgrind. >>>> >>>> I suspect that you have in fact recompiled the program with >>>> a different compiler or different optimization settings since >>>> the time when it worked? >>>> >>>> Tom >>>> >>> >>> >>> >>> _______________________________________________ >>> Valgrind-users mailing list >>> Val...@li... >>> https://lists.sourceforge.net/lists/listinfo/valgrind-users >>> >> >> > > > > _______________________________________________ > Valgrind-users mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-users > -- Tom Hughes (to...@co...) http://compton.nu/ |