added test cases exactly replicating sdxl unet steps

This commit is contained in:
bssrdf 2025-11-06 20:35:37 -05:00
parent 28b7094750
commit ba70ad8e59
1 changed files with 347 additions and 25 deletions

View File

@ -297,34 +297,351 @@ std::vector<float> compute_graph(const test_model & model, ggml_gallocr_t allocr
int main(void)
{
ggml_time_init();
double time_iter0 = 0.0, time_iter1 = 0.0;
std::vector<std::tuple<int, int, int, int, int, int>> configs = {
std::make_tuple(64,64,48,64,3,3),
std::make_tuple(320,320,104,152,3,3),
std::make_tuple(640,640,52,76,3,3),
std::make_tuple(640,640,104,152,3,3),
std::make_tuple(960,320,104,152,3,3),
std::make_tuple(1280,1280,26,38,3,3),
std::make_tuple(4,320,96,128,3,3),
std::make_tuple(320,4,96,128,3,3),
std::make_tuple(4,320,64,96,3,3),
std::make_tuple(320,4,64,96,3,3),
std::make_tuple(640,640,96,128,3,3),
std::make_tuple(1280,1280,26,38,1,1),
std::make_tuple(256,128,768,1024,3,3),
std::make_tuple(128,3,768,1024,3,3),
std::make_tuple(256,128,768,1024,1,1),
std::make_tuple(512,256,384,512,1,1),
std::make_tuple(1280,640,52,76,3,3),
std::make_tuple(1920,1280,26,38,3,3),
std::make_tuple(2560,1280,26,38,3,3),
std::make_tuple(320,1280,26,38,3,3),
std::make_tuple(512,512,104,152,3,3),
std::make_tuple(512,512,208,304,3,3),
std::make_tuple(512,256,416,608,3,3),
std::make_tuple(256,128,832,1216,3,3),
std::make_tuple(256,256,832,1216,3,3),
// std::make_tuple(64,64,48,64,3,3),
// std::make_tuple(320,320,104,152,3,3),
// std::make_tuple(640,640,52,76,3,3),
// std::make_tuple(640,640,104,152,3,3),
// std::make_tuple(960,320,104,152,3,3),
// std::make_tuple(1280,1280,26,38,3,3),
// std::make_tuple(4,320,96,128,3,3),
// std::make_tuple(320,4,96,128,3,3),
// std::make_tuple(4,320,64,96,3,3),
// std::make_tuple(320,4,64,96,3,3),
// std::make_tuple(640,640,96,128,3,3),
// std::make_tuple(1280,1280,26,38,1,1),
// std::make_tuple(256,128,768,1024,3,3),
// std::make_tuple(128,3,768,1024,3,3),
// std::make_tuple(256,128,768,1024,1,1),
// std::make_tuple(512,256,384,512,1,1),
// std::make_tuple(1280,640,52,76,3,3),
// std::make_tuple(1920,1280,26,38,3,3),
// std::make_tuple(2560,1280,26,38,3,3),
// std::make_tuple(320,1280,26,38,3,3),
// std::make_tuple(512,512,104,152,3,3),
// std::make_tuple(512,512,208,304,3,3),
// std::make_tuple(512,256,416,608,3,3),
// std::make_tuple(256,128,832,1216,3,3),
// std::make_tuple(256,256,832,1216,3,3),
// std::make_tuple(320,256,1024,1920)
// std::make_tuple(32,64,58,58,3,3)
//512x512
std::make_tuple(4,320,64,64,3,3),
std::make_tuple(320,320,64,64,3,3),
std::make_tuple(320,320,64,64,3,3),
std::make_tuple(320,320,64,64,3,3),
std::make_tuple(320,320,64,64,3,3),
std::make_tuple(320,320,64,64,3,3),
std::make_tuple(320,640,32,32,3,3),
std::make_tuple(640,640,32,32,3,3),
std::make_tuple(320,640,32,32,3,3),
std::make_tuple(640,640,32,32,3,3),
std::make_tuple(640,640,32,32,3,3),
std::make_tuple(640,640,32,32,3,3),
std::make_tuple(640,1280,16,16,3,3),
std::make_tuple(1280,1280,16,16,3,3),
std::make_tuple(640,1280,16,16,3,3),
std::make_tuple(1280,1280,16,16,3,3),
std::make_tuple(1280,1280,16,16,3,3),
std::make_tuple(1280,1280,16,16,3,3),
std::make_tuple(1280,1280,16,16,3,3),
std::make_tuple(1280,1280,16,16,3,3),
std::make_tuple(1280,1280,16,16,3,3),
std::make_tuple(2560,1280,16,16,3,3),
std::make_tuple(1280,1280,16,16,3,3),
std::make_tuple(2560,1280,16,16,3,3),
std::make_tuple(2560,1280,16,16,3,3),
std::make_tuple(1280,1280,16,16,3,3),
std::make_tuple(2560,1280,16,16,3,3),
std::make_tuple(1920,1280,16,16,3,3),
std::make_tuple(1280,1280,16,16,3,3),
std::make_tuple(1920,1280,16,16,3,3),
std::make_tuple(1280,1280,32,32,3,3),
std::make_tuple(1920,640,32,32,3,3),
std::make_tuple(640,640,32,32,3,3),
std::make_tuple(1920,640,32,32,3,3),
std::make_tuple(1280,640,32,32,3,3),
std::make_tuple(640,640,32,32,3,3),
std::make_tuple(1280,640,32,32,3,3),
std::make_tuple(960,640,32,32,3,3),
std::make_tuple(640,640,32,32,3,3),
std::make_tuple(960,640,32,32,3,3),
std::make_tuple(640,640,64,64,3,3),
std::make_tuple(960,320,64,64,3,3),
std::make_tuple(320,320,64,64,3,3),
std::make_tuple(960,320,64,64,3,3),
std::make_tuple(640,320,64,64,3,3),
std::make_tuple(320,320,64,64,3,3),
std::make_tuple(640,320,64,64,3,3),
std::make_tuple(640,320,64,64,3,3),
std::make_tuple(320,320,64,64,3,3),
std::make_tuple(640,320,64,64,3,3),
std::make_tuple(320,4,64,64,3,3),
std::make_tuple(4,320,64,64,3,3),
std::make_tuple(320,320,64,64,3,3),
std::make_tuple(320,320,64,64,3,3),
std::make_tuple(320,320,64,64,3,3),
std::make_tuple(320,320,64,64,3,3),
std::make_tuple(320,320,64,64,3,3),
std::make_tuple(320,640,32,32,3,3),
std::make_tuple(640,640,32,32,3,3),
std::make_tuple(320,640,32,32,3,3),
std::make_tuple(640,640,32,32,3,3),
std::make_tuple(640,640,32,32,3,3),
std::make_tuple(640,640,32,32,3,3),
std::make_tuple(640,1280,16,16,3,3),
std::make_tuple(1280,1280,16,16,3,3),
std::make_tuple(640,1280,16,16,3,3),
std::make_tuple(1280,1280,16,16,3,3),
std::make_tuple(1280,1280,16,16,3,3),
std::make_tuple(1280,1280,16,16,3,3),
std::make_tuple(1280,1280,16,16,3,3),
std::make_tuple(1280,1280,16,16,3,3),
std::make_tuple(1280,1280,16,16,3,3),
std::make_tuple(2560,1280,16,16,3,3),
std::make_tuple(1280,1280,16,16,3,3),
std::make_tuple(2560,1280,16,16,3,3),
std::make_tuple(2560,1280,16,16,3,3),
std::make_tuple(1280,1280,16,16,3,3),
std::make_tuple(2560,1280,16,16,3,3),
std::make_tuple(1920,1280,16,16,3,3),
std::make_tuple(1280,1280,16,16,3,3),
std::make_tuple(1920,1280,16,16,3,3),
std::make_tuple(1280,1280,32,32,3,3),
std::make_tuple(1920,640,32,32,3,3),
std::make_tuple(640,640,32,32,3,3),
std::make_tuple(1920,640,32,32,3,3),
std::make_tuple(1280,640,32,32,3,3),
std::make_tuple(640,640,32,32,3,3),
std::make_tuple(1280,640,32,32,3,3),
std::make_tuple(960,640,32,32,3,3),
std::make_tuple(640,640,32,32,3,3),
std::make_tuple(960,640,32,32,3,3),
std::make_tuple(640,640,64,64,3,3),
std::make_tuple(960,320,64,64,3,3),
std::make_tuple(320,320,64,64,3,3),
std::make_tuple(960,320,64,64,3,3),
std::make_tuple(640,320,64,64,3,3),
std::make_tuple(320,320,64,64,3,3),
std::make_tuple(640,320,64,64,3,3),
std::make_tuple(640,320,64,64,3,3),
std::make_tuple(320,320,64,64,3,3),
std::make_tuple(640,320,64,64,3,3),
std::make_tuple(320,4,64,64,3,3),
//768x768
// std::make_tuple(4,320,96,96,3,3),
// std::make_tuple(320,320,96,96,3,3),
// std::make_tuple(320,320,96,96,3,3),
// std::make_tuple(320,320,96,96,3,3),
// std::make_tuple(320,320,96,96,3,3),
// std::make_tuple(320,320,96,96,3,3),
// std::make_tuple(320,640,48,48,3,3),
// std::make_tuple(640,640,48,48,3,3),
// std::make_tuple(320,640,48,48,3,3),
// std::make_tuple(640,640,48,48,3,3),
// std::make_tuple(640,640,48,48,3,3),
// std::make_tuple(640,640,48,48,3,3),
// std::make_tuple(640,1280,24,24,3,3),
// std::make_tuple(1280,1280,24,24,3,3),
// std::make_tuple(640,1280,24,24,3,3),
// std::make_tuple(1280,1280,24,24,3,3),
// std::make_tuple(1280,1280,24,24,3,3),
// std::make_tuple(1280,1280,24,24,3,3),
// std::make_tuple(1280,1280,24,24,3,3),
// std::make_tuple(1280,1280,24,24,3,3),
// std::make_tuple(1280,1280,24,24,3,3),
// std::make_tuple(2560,1280,24,24,3,3),
// std::make_tuple(1280,1280,24,24,3,3),
// std::make_tuple(2560,1280,24,24,3,3),
// std::make_tuple(2560,1280,24,24,3,3),
// std::make_tuple(1280,1280,24,24,3,3),
// std::make_tuple(2560,1280,24,24,3,3),
// std::make_tuple(1920,1280,24,24,3,3),
// std::make_tuple(1280,1280,24,24,3,3),
// std::make_tuple(1920,1280,24,24,3,3),
// std::make_tuple(1280,1280,48,48,3,3),
// std::make_tuple(1920,640,48,48,3,3),
// std::make_tuple(640,640,48,48,3,3),
// std::make_tuple(1920,640,48,48,3,3),
// std::make_tuple(1280,640,48,48,3,3),
// std::make_tuple(640,640,48,48,3,3),
// std::make_tuple(1280,640,48,48,3,3),
// std::make_tuple(960,640,48,48,3,3),
// std::make_tuple(640,640,48,48,3,3),
// std::make_tuple(960,640,48,48,3,3),
// std::make_tuple(640,640,96,96,3,3),
// std::make_tuple(960,320,96,96,3,3),
// std::make_tuple(320,320,96,96,3,3),
// std::make_tuple(960,320,96,96,3,3),
// std::make_tuple(640,320,96,96,3,3),
// std::make_tuple(320,320,96,96,3,3),
// std::make_tuple(640,320,96,96,3,3),
// std::make_tuple(640,320,96,96,3,3),
// std::make_tuple(320,320,96,96,3,3),
// std::make_tuple(640,320,96,96,3,3),
// std::make_tuple(320,4,96,96,3,3),
// std::make_tuple(4,320,96,96,3,3),
// std::make_tuple(320,320,96,96,3,3),
// std::make_tuple(320,320,96,96,3,3),
// std::make_tuple(320,320,96,96,3,3),
// std::make_tuple(320,320,96,96,3,3),
// std::make_tuple(320,320,96,96,3,3),
// std::make_tuple(320,640,48,48,3,3),
// std::make_tuple(640,640,48,48,3,3),
// std::make_tuple(320,640,48,48,3,3),
// std::make_tuple(640,640,48,48,3,3),
// std::make_tuple(640,640,48,48,3,3),
// std::make_tuple(640,640,48,48,3,3),
// std::make_tuple(640,1280,24,24,3,3),
// std::make_tuple(1280,1280,24,24,3,3),
// std::make_tuple(640,1280,24,24,3,3),
// std::make_tuple(1280,1280,24,24,3,3),
// std::make_tuple(1280,1280,24,24,3,3),
// std::make_tuple(1280,1280,24,24,3,3),
// std::make_tuple(1280,1280,24,24,3,3),
// std::make_tuple(1280,1280,24,24,3,3),
// std::make_tuple(1280,1280,24,24,3,3),
// std::make_tuple(2560,1280,24,24,3,3),
// std::make_tuple(1280,1280,24,24,3,3),
// std::make_tuple(2560,1280,24,24,3,3),
// std::make_tuple(2560,1280,24,24,3,3),
// std::make_tuple(1280,1280,24,24,3,3),
// std::make_tuple(2560,1280,24,24,3,3),
// std::make_tuple(1920,1280,24,24,3,3),
// std::make_tuple(1280,1280,24,24,3,3),
// std::make_tuple(1920,1280,24,24,3,3),
// std::make_tuple(1280,1280,48,48,3,3),
// std::make_tuple(1920,640,48,48,3,3),
// std::make_tuple(640,640,48,48,3,3),
// std::make_tuple(1920,640,48,48,3,3),
// std::make_tuple(1280,640,48,48,3,3),
// std::make_tuple(640,640,48,48,3,3),
// std::make_tuple(1280,640,48,48,3,3),
// std::make_tuple(960,640,48,48,3,3),
// std::make_tuple(640,640,48,48,3,3),
// std::make_tuple(960,640,48,48,3,3),
// std::make_tuple(640,640,96,96,3,3),
// std::make_tuple(960,320,96,96,3,3),
// std::make_tuple(320,320,96,96,3,3),
// std::make_tuple(960,320,96,96,3,3),
// std::make_tuple(640,320,96,96,3,3),
// std::make_tuple(320,320,96,96,3,3),
// std::make_tuple(640,320,96,96,3,3),
// std::make_tuple(640,320,96,96,3,3),
// std::make_tuple(320,320,96,96,3,3),
// std::make_tuple(640,320,96,96,3,3),
// std::make_tuple(320,4,96,96,3,3),
//1024x1024
// std::make_tuple(4,320,128,128,3,3),
// std::make_tuple(320,320,128,128,3,3),
// std::make_tuple(320,320,128,128,3,3),
// std::make_tuple(320,320,128,128,3,3),
// std::make_tuple(320,320,128,128,3,3),
// std::make_tuple(320,320,128,128,3,3),
// std::make_tuple(320,640,64,64,3,3),
// std::make_tuple(640,640,64,64,3,3),
// std::make_tuple(320,640,64,64,3,3),
// std::make_tuple(640,640,64,64,3,3),
// std::make_tuple(640,640,64,64,3,3),
// std::make_tuple(640,640,64,64,3,3),
// std::make_tuple(640,1280,32,32,3,3),
// std::make_tuple(1280,1280,32,32,3,3),
// std::make_tuple(640,1280,32,32,3,3),
// std::make_tuple(1280,1280,32,32,3,3),
// std::make_tuple(1280,1280,32,32,3,3),
// std::make_tuple(1280,1280,32,32,3,3),
// std::make_tuple(1280,1280,32,32,3,3),
// std::make_tuple(1280,1280,32,32,3,3),
// std::make_tuple(1280,1280,32,32,3,3),
// std::make_tuple(2560,1280,32,32,3,3),
// std::make_tuple(1280,1280,32,32,3,3),
// std::make_tuple(2560,1280,32,32,3,3),
// std::make_tuple(2560,1280,32,32,3,3),
// std::make_tuple(1280,1280,32,32,3,3),
// std::make_tuple(2560,1280,32,32,3,3),
// std::make_tuple(1920,1280,32,32,3,3),
// std::make_tuple(1280,1280,32,32,3,3),
// std::make_tuple(1920,1280,32,32,3,3),
// std::make_tuple(1280,1280,64,64,3,3),
// std::make_tuple(1920,640,64,64,3,3),
// std::make_tuple(640,640,64,64,3,3),
// std::make_tuple(1920,640,64,64,3,3),
// std::make_tuple(1280,640,64,64,3,3),
// std::make_tuple(640,640,64,64,3,3),
// std::make_tuple(1280,640,64,64,3,3),
// std::make_tuple(960,640,64,64,3,3),
// std::make_tuple(640,640,64,64,3,3),
// std::make_tuple(960,640,64,64,3,3),
// std::make_tuple(640,640,128,128,3,3),
// std::make_tuple(960,320,128,128,3,3),
// std::make_tuple(320,320,128,128,3,3),
// std::make_tuple(960,320,128,128,3,3),
// std::make_tuple(640,320,128,128,3,3),
// std::make_tuple(320,320,128,128,3,3),
// std::make_tuple(640,320,128,128,3,3),
// std::make_tuple(640,320,128,128,3,3),
// std::make_tuple(320,320,128,128,3,3),
// std::make_tuple(640,320,128,128,3,3),
// std::make_tuple(320,4,128,128,3,3),
// std::make_tuple(4,320,128,128,3,3),
// std::make_tuple(320,320,128,128,3,3),
// std::make_tuple(320,320,128,128,3,3),
// std::make_tuple(320,320,128,128,3,3),
// std::make_tuple(320,320,128,128,3,3),
// std::make_tuple(320,320,128,128,3,3),
// std::make_tuple(320,640,64,64,3,3),
// std::make_tuple(640,640,64,64,3,3),
// std::make_tuple(320,640,64,64,3,3),
// std::make_tuple(640,640,64,64,3,3),
// std::make_tuple(640,640,64,64,3,3),
// std::make_tuple(640,640,64,64,3,3),
// std::make_tuple(640,1280,32,32,3,3),
// std::make_tuple(1280,1280,32,32,3,3),
// std::make_tuple(640,1280,32,32,3,3),
// std::make_tuple(1280,1280,32,32,3,3),
// std::make_tuple(1280,1280,32,32,3,3),
// std::make_tuple(1280,1280,32,32,3,3),
// std::make_tuple(1280,1280,32,32,3,3),
// std::make_tuple(1280,1280,32,32,3,3),
// std::make_tuple(1280,1280,32,32,3,3),
// std::make_tuple(2560,1280,32,32,3,3),
// std::make_tuple(1280,1280,32,32,3,3),
// std::make_tuple(2560,1280,32,32,3,3),
// std::make_tuple(2560,1280,32,32,3,3),
// std::make_tuple(1280,1280,32,32,3,3),
// std::make_tuple(2560,1280,32,32,3,3),
// std::make_tuple(1920,1280,32,32,3,3),
// std::make_tuple(1280,1280,32,32,3,3),
// std::make_tuple(1920,1280,32,32,3,3),
// std::make_tuple(1280,1280,64,64,3,3),
// std::make_tuple(1920,640,64,64,3,3),
// std::make_tuple(640,640,64,64,3,3),
// std::make_tuple(1920,640,64,64,3,3),
// std::make_tuple(1280,640,64,64,3,3),
// std::make_tuple(640,640,64,64,3,3),
// std::make_tuple(1280,640,64,64,3,3),
// std::make_tuple(960,640,64,64,3,3),
// std::make_tuple(640,640,64,64,3,3),
// std::make_tuple(960,640,64,64,3,3),
// std::make_tuple(640,640,128,128,3,3),
// std::make_tuple(960,320,128,128,3,3),
// std::make_tuple(320,320,128,128,3,3),
// std::make_tuple(960,320,128,128,3,3),
// std::make_tuple(640,320,128,128,3,3),
// std::make_tuple(320,320,128,128,3,3),
// std::make_tuple(640,320,128,128,3,3),
// std::make_tuple(640,320,128,128,3,3),
// std::make_tuple(320,320,128,128,3,3),
// std::make_tuple(640,320,128,128,3,3),
// std::make_tuple(320,4,128,128,3,3),
};
int k = 0;
@ -377,6 +694,10 @@ int main(void)
fprintf(stderr, "| --- | --- | --- | --- | --- \n");
}
time_iter0 += run_time0;
time_iter1 += run_time1;
fprintf(stderr, " | (%d, %d, %d, %d, %d, %d) | %.2f ms | %.2f MB | %.2f ms | %.2f MB\n",
std::get<0>(c), std::get<1>(c), std::get<2>(c), std::get<3>(c), std::get<4>(c), std::get<5>(c),
run_time0, mem_size0/1024.0f/1024.0f,
@ -401,6 +722,7 @@ int main(void)
ggml_gallocr_free(allocr);
}
printf("| 1 unet iter takes| %.2f ms | | %.2f ms | \n", time_iter0, time_iter1);
// printf("\nPerforming test:\n");
return 0;