From c5527229280f64d66bada609be0c6c68582c779e Mon Sep 17 00:00:00 2001 From: Christopher Haine <chaine@hpe.com> Date: Mon, 7 Dec 2020 16:29:15 +0100 Subject: [PATCH] fixed double transfo + transpose --- maestro/pool.c | 3 ++- tests/check_layout.c | 13 ++++++------- transformation/transformation.c | 10 +++++----- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/maestro/pool.c b/maestro/pool.c index 6fe93f16..201fc667 100644 --- a/maestro/pool.c +++ b/maestro/pool.c @@ -837,6 +837,7 @@ HAVE_SOURCE: } /* if applicable, transform incoming cdo so it matches demanded cdo requirements */ +/* status = mstro_transform_layout(e->cdo_handles[src], cdo, e->cdo_handles[src]->attributes, cdo->attributes); if(status==MSTRO_NOMATCH) { @@ -846,7 +847,7 @@ HAVE_SOURCE: e->cdo_handles[src], cdo); goto BAILOUT_UNLOCK_ENTRY; } - +*/ /* drop our own entry */ status = mstro_pool_entry__drop(e, cdo); if(status==MSTRO_OK) { diff --git a/tests/check_layout.c b/tests/check_layout.c index 18caa7ab..e3d4f419 100644 --- a/tests/check_layout.c +++ b/tests/check_layout.c @@ -49,8 +49,8 @@ #include <errno.h> #include "maestro/logging.h" -#define N 20 -#define M 40 +#define N 3 +#define M 4 #define ROWMAJ MSTRO_ATTR_CORE_CDO_LAYOUT_ORDER_ROWMAJOR #define COLMAJ MSTRO_ATTR_CORE_CDO_LAYOUT_ORDER_COLMAJOR @@ -59,10 +59,8 @@ CHEAT_DECLARE ( print_mat(double* p) { size_t i,j; - for (i=0; i<N; i++) { - for (j=0; j<M; j++) - fprintf(stderr, "%2.0f ", p[i*M+j]); - fprintf(stderr, "\n"); + for (i=0; i<N*M; i++) { + fprintf(stderr, "%2.0f ", p[i]); } fprintf(stderr, "\n"); @@ -97,7 +95,8 @@ CHEAT_TEST(layout_attribute_works, srandom(time(NULL)); for(size_t i=0; i<data_count; i++) { - src_data[i]=random()%100; + // src_data[i]=random()%100; + src_data[i]=i; } cheat_assert(MSTRO_OK == mstro_init("Tests","LAYOUT",0)); diff --git a/transformation/transformation.c b/transformation/transformation.c index 8f1516fd..b9fe7318 100644 --- a/transformation/transformation.c +++ b/transformation/transformation.c @@ -217,13 +217,13 @@ mstro_transform_transpose( dst_ptr = m_dst->allocation->ptr; eltsize = src_eltsize; - for (i=0; i<dst_d1; i++) - for (j=0; j<dst_d0; j++) + for (i=0; i<dst_d0; i++) + for (j=0; j<dst_d1; j++) for (k=0; k<eltsize; k++) - dst_ptr[i*dst_d0*eltsize + j*eltsize +k] - = src_ptr[j*dst_d1*eltsize + i*eltsize+k]; - + dst_ptr[i*dst_d1*eltsize + j*eltsize +k] + = src_ptr[j*dst_d0*eltsize + i*eltsize+k]; } + return MSTRO_OK; } -- GitLab