mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-04 22:10:11 +01:00
teflon/tests: Dump output buffers to disk
It can be convenient to compare the outputs from the CPU, proprietary driver and Mesa to check for convergence. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34481>
This commit is contained in:
parent
80e09e9b1f
commit
0213eef3b3
1 changed files with 22 additions and 0 deletions
|
|
@ -61,6 +61,28 @@ test_model(void *buf, size_t buf_size, std::string cache_dir, unsigned tolerance
|
|||
run_model(model, EXECUTOR_CPU, &input, &num_inputs, &cpu_output, &output_sizes, &output_types, &num_outputs, cache_dir);
|
||||
run_model(model, EXECUTOR_NPU, &input, &num_inputs, &npu_output, &output_sizes, &output_types, &num_outputs, cache_dir);
|
||||
|
||||
char *dump_output = getenv("TEFLON_DUMP_OUTPUT");
|
||||
if (dump_output && atoi(dump_output) == 1) {
|
||||
for (unsigned i = 0; i < num_outputs; i++) {
|
||||
char name[250];
|
||||
int fd;
|
||||
unsigned size = output_sizes[i];
|
||||
|
||||
if (output_types[i] == kTfLiteFloat32)
|
||||
size *= 4;
|
||||
|
||||
sprintf(name, "out-%d.bin", i);
|
||||
fd = open(name, O_RDWR | O_CREAT | O_TRUNC, S_IRWXU);
|
||||
write(fd, npu_output[i], size);
|
||||
close(fd);
|
||||
|
||||
sprintf(name, "cpu-out-%d.bin", i);
|
||||
fd = open(name, O_RDWR | O_CREAT | O_TRUNC, S_IRWXU);
|
||||
write(fd, cpu_output[i], size);
|
||||
close(fd);
|
||||
}
|
||||
}
|
||||
|
||||
for (size_t i = 0; i < num_outputs; i++) {
|
||||
for (size_t j = 0; j < output_sizes[i]; j++) {
|
||||
switch (output_types[i]) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue