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
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users