Valgrind: Difference between revisions

No edit summary
Line 9: Line 9:
== AVX-512 Limitations ==
== AVX-512 Limitations ==
Note that current versions of Valgrind are unable to handle the [https://en.wikipedia.org/wiki/AVX-512 AVX-512] instructions used on the latest Intel processors, producing an error message like the following,
Note that current versions of Valgrind are unable to handle the [https://en.wikipedia.org/wiki/AVX-512 AVX-512] instructions used on the latest Intel processors, producing an error message like the following,
</translate>
<source>
<source>
vex amd64->IR: unhandled instruction bytes: 0x62 0xF1 0xFE 0x8 0x6F 0x8B 0xE8 0xFF 0xFF 0xFF
vex amd64->IR: unhandled instruction bytes: 0x62 0xF1 0xFE 0x8 0x6F 0x8B 0xE8 0xFF 0xFF 0xFF
Line 19: Line 20:
...
...
</source>
</source>
<translate>
Note that on [[Béluga]], the default environment uses these AVX-512 instructions. You can circumvent this problem by  
Note that on [[Béluga]], the default environment uses these AVX-512 instructions. You can circumvent this problem by  
first loading the AVX-2 environment,
first loading the AVX-2 environment,
{{Command|module load arch/avx2}}
{{Command|module load arch/avx2}}
and then recompiling your application from scratch to ensure the binary doesn't contain any such instructions.  
and then recompiling your application from scratch to ensure the binary doesn't contain any such instructions.
 
 
== Preparing your application == <!--T:3-->
== Preparing your application == <!--T:3-->
To get useful information from [http://valgrind.org/ Valgrind], you first need to compile your code with debugging information enabled. With the most compilers, you do so by adding a "<tt>-g</tt>" option during compilation.   
To get useful information from [http://valgrind.org/ Valgrind], you first need to compile your code with debugging information enabled. With the most compilers, you do so by adding a "<tt>-g</tt>" option during compilation.   
Bureaucrats, cc_docs_admin, cc_staff
2,318

edits