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