Skip to content

Commit c68fe36

Browse files
committed
WIP: cleanup; enhanced test case
1 parent 475f987 commit c68fe36

File tree

2 files changed

+37
-37
lines changed

2 files changed

+37
-37
lines changed

ggml/src/ggml-cuda/conv2d-implicit.cu

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -259,10 +259,6 @@ static __global__ void conv2d_implicit_kernel(const float * __restrict__ input,
259259

260260
__syncthreads();
261261

262-
if(tx == 0 && bx == 0 && by == 0 && z == 0){
263-
printf("non tensor \n");
264-
}
265-
266262
// if(tx == 0 && bx == 0 && by == 0 && z == 0){
267263
// for(int i=0; i < 128; ++i)
268264
// printf("%.2f,", smeminput[i]);

tests/test-conv2d-implicit.cpp

Lines changed: 37 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ struct test_model {
3838

3939

4040

41-
void load_model(test_model & model, int ic, int oc, int iw, int ih, bool use_gpu = false ) {
41+
void load_model(test_model & model, int ic, int oc, int iw, int ih, int kw = 3, int kh = 3, bool use_gpu = false ) {
4242
// create data
43-
int KW = 3, KH = 3, IC = ic, OC = oc;
43+
int KW = kw, KH = kh, IC = ic, OC = oc;
4444
int IW = iw, IH = ih, N = 1;
4545
srand(time(NULL));
4646

@@ -347,29 +347,33 @@ std::vector<float> compute_graph(const test_model & model, ggml_gallocr_t allocr
347347
int main(void)
348348
{
349349
ggml_time_init();
350-
std::vector<std::tuple<int, int, int, int>> configs = {
351-
// std::make_tuple(64,64,48,64),
352-
// std::make_tuple(320,320,104,152),
353-
// std::make_tuple(640,640,52,76),
354-
// std::make_tuple(640,640,104,152),
355-
// std::make_tuple(960,320,104,152),
356-
std::make_tuple(640,128,26,38),
357-
// std::make_tuple(1280,640,52,76),
358-
// std::make_tuple(1920,1280,26,38),
359-
// std::make_tuple(2560,1280,26,38),
360-
// std::make_tuple(512,512,104,152),
361-
// std::make_tuple(512,512,208,304),
362-
// std::make_tuple(512,256,416,608),
363-
// std::make_tuple(256,128,832,1216),
364-
// std::make_tuple(256,256,832,1216),
350+
std::vector<std::tuple<int, int, int, int, int, int>> configs = {
351+
std::make_tuple(64,64,48,64,3,3),
352+
std::make_tuple(320,320,104,152,3,3),
353+
std::make_tuple(640,640,52,76,3,3),
354+
std::make_tuple(640,640,104,152,3,3),
355+
std::make_tuple(960,320,104,152,3,3),
356+
std::make_tuple(1280,1280,26,38,3,3),
357+
std::make_tuple(1280,1280,26,38,1,1),
358+
std::make_tuple(256,128,768,1024,3,3),
359+
std::make_tuple(256,128,768,1024,1,1),
360+
std::make_tuple(1280,640,52,76,3,3),
361+
std::make_tuple(1920,1280,26,38,3,3),
362+
std::make_tuple(2560,1280,26,38,3,3),
363+
std::make_tuple(512,512,104,152,3,3),
364+
std::make_tuple(512,512,208,304,3,3),
365+
std::make_tuple(512,256,416,608,3,3),
366+
std::make_tuple(256,128,832,1216,3,3),
367+
std::make_tuple(256,256,832,1216,3,3),
365368
// std::make_tuple(320,256,1024,1920)
366369
};
367370

368371
int k = 0;
369372

370373
for (auto c : configs){
371374
test_model model;
372-
load_model(model, std::get<0>(c), std::get<1>(c), std::get<2>(c), std::get<3>(c), true);
375+
load_model(model, std::get<0>(c), std::get<1>(c), std::get<2>(c),
376+
std::get<3>(c), std::get<4>(c), std::get<5>(c), true);
373377

374378
ggml_gallocr_t allocr = NULL;
375379
allocr = ggml_gallocr_new(ggml_backend_get_default_buffer_type(model.backend));
@@ -384,7 +388,7 @@ int main(void)
384388

385389

386390
struct ggml_cgraph * gf_res_0 = NULL;
387-
int iterations = 0;
391+
int iterations = 20;
388392

389393
double run_time0;
390394
std::vector<float> im2col_data = compute_graph(model, allocr, build_graph_0, iterations, &run_time0);
@@ -438,26 +442,26 @@ int main(void)
438442
fprintf(stderr, "| --- | --- | --- | --- | --- | --- | --- \n");
439443
}
440444

441-
fprintf(stderr, " | (%d, %d, %d, %d) | %.2f ms | %.2f MB | %.2f ms | %.2f MB | %.2f ms | %.2f MB\n",
442-
std::get<0>(c), std::get<1>(c), std::get<2>(c), std::get<3>(c),
445+
fprintf(stderr, " | (%d, %d, %d, %d, %d, %d) | %.2f ms | %.2f MB | %.2f ms | %.2f MB | %.2f ms | %.2f MB\n",
446+
std::get<0>(c), std::get<1>(c), std::get<2>(c), std::get<3>(c), std::get<4>(c), std::get<5>(c),
443447
run_time0, mem_size0/1024.0f/1024.0f,
444448
run_time1, mem_size1/1024.0f/1024.0f,
445449
run_time2, mem_size2/1024.0f/1024.0f);
446450

447451

448452
// for(int i = 0; i < ggml_nelements(wino_res); i++) {
449-
for(int i = 0; i < 26*38; i++) {
450-
// for(int i = 0; i < conv2d_data.size(); i++) {
451-
// float diff = fabs(conv2d_data[i] - wino_data[i]);
452-
float diff = fabs(im2col_data[i] - wino_data[i]);
453-
float diff1 = fabs(im2col_data[i] - conv2d_data[i]);
454-
// if(diff > 1.e-4) {
455-
printf("(%7.3f, %7.3f, %7.3f, %.2f, %.2f, %d) \n",
456-
im2col_data[i], conv2d_data[i],
457-
wino_data[i], diff, diff1, i);
458-
// break;
459-
// }
460-
}
453+
// for(int i = 0; i < 26*38; i++) {
454+
// // for(int i = 0; i < conv2d_data.size(); i++) {
455+
// // float diff = fabs(conv2d_data[i] - wino_data[i]);
456+
// float diff = fabs(im2col_data[i] - wino_data[i]);
457+
// float diff1 = fabs(im2col_data[i] - conv2d_data[i]);
458+
// // if(diff > 1.e-4) {
459+
// printf("(%7.3f, %7.3f, %7.3f, %.2f, %.2f, %d) \n",
460+
// im2col_data[i], conv2d_data[i],
461+
// wino_data[i], diff, diff1, i);
462+
// // break;
463+
// // }
464+
// }
461465

462466
ggml_free(model.ctx);
463467
ggml_backend_buffer_free(model.buffer);

0 commit comments

Comments
 (0)