Re: Question about Valgrind tool in Intel new platform

John Reiser <[email protected]>
Newsgroups gmane.comp.debugging.valgrind
Message-ID <[email protected]>
On 4/20/22 05:18, Yang Zhong wrote:

>    The AMX is the NEW feature in Intel new platform and from host, we can
>    find below cpu flags:
> 
>    amx_bf16, amx_tile, amx_int8
> 
>    The SPEC can be found in:
>    https://software.intel.com/content/dam/develop/external/us/en/documents/architecture-instruction-set-extensions-programming-reference.pdf
> 
>    The issue I mentioned should be related with AMX features missed in
>    valgrind emulated CPU. If someone will implement this feature on valgrind,
>    I can help verify. Thanks!

If you really want to help, then start today by collecting and/or writing actual code
that emulates the hardware that implements the feature.  Collect (or find, or write)
the code from Chapter 3, "INTEL® AMX INSTRUCTION SET REFERENCE, A-Z", of that .pdf.
Create actual subroutines and data declarations, and *test* it against your apps.
Put the code into a public repository such as GitHub.

The top-level function should be something like

    unsigned char const *emulate_amx(  // returns next instruction pointer
       unsigned char const *ip,  // pointer to first byte of instruction stream
       unsigned long *general_registers[16],  // hardware state
       unsigned long long *zmm_registers[16],  // zmm (ymm, xmm) registers
       struct Xsave *xsave_area,  // tile registers etc.
       ...
    }

which if successful returns a pointer to the next instruction, else an error code
which is the negative of a small positive integer.

Such code will go a long way towards getting AMX supported by valgrind,
because it will enable valgrind-developers to focus on implementing valgrind
instead of on finding, de-ciphering, and mentally interpreting documentation.



_______________________________________________
Valgrind-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.