oneDNN uses just-in-time compilation (JIT) to generate optimal code for some functions based on input parameters and instruction set supported by the system. The library provides a mechanism to save the generated code into a file for inspection.
This behavior can be enabled with DNNL_JIT_DUMP
environment variable or dnnl_set_jit_dump function.
Value | Behavior |
---|---|
0 | JIT dump is disabled (default) |
any other value | JIT dump is enabled |
The function setting takes precedence over the environment variable.
This will produce the following output files if running on a CPU supporting Intel(R) Advanced Vector Extensions 2 (Intel(R) AVX2):
Use any disassembler to view the code. For example:
objdump -D -b binary -mi386:x86-64 file.bin
;xed -64 -ir file.bin
XED is a decoder tool available as part as Intel Software Development Emulator (Intel SDE).
This will produce the following output files if running on Intel(R) Processor Graphics Gen9:
Use Intel GPU ISA disassembler to disassemble a kernel:
iga64 -d -p=9 file.bin
(usage: -p=<PLATFORM>
)Links: