From 7184824558bf435d7641bdde9ecf462f77bdbe08 Mon Sep 17 00:00:00 2001 From: Mathieu Faverge <mathieu.faverge@inria.fr> Date: Thu, 7 Nov 2019 13:10:54 +0100 Subject: [PATCH] compute/map: Fix the pmap function for pentagonal matrices --- compute/pmap.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/compute/pmap.c b/compute/pmap.c index bcc1a868e..ef30f09de 100644 --- a/compute/pmap.c +++ b/compute/pmap.c @@ -11,7 +11,7 @@ * * @version 1.3.0 * @author Mathieu Faverge - * @date 2024-03-11 + * @date 2024-03-14 * */ #include "control/common.h" @@ -28,31 +28,34 @@ void chameleon_pmap( cham_uplo_t uplo, int ndata, cham_map_data_t *data, CHAM_context_t *chamctxt; RUNTIME_option_t options; const CHAM_desc_t *A = data[0].desc; - int m, n; + int m, n, minmn; chamctxt = chameleon_context_self(); if (sequence->status != CHAMELEON_SUCCESS) return; RUNTIME_options_init( &options, chamctxt, sequence, request ); + minmn = chameleon_min( A->mt, A->nt ); + switch( uplo ) { case ChamUpper: - for (n = 0; n < A->nt; n++) { - for (m = 0; m < n; m++) { + for (m = 0; m < minmn; m++) { + INSERT_TASK_map( + &options, uplo, m, m, + ndata, data, + op_fct, op_args ); + + for (n = m+1; n < A->nt; n++) { INSERT_TASK_map( &options, ChamUpperLower, m, n, ndata, data, op_fct, op_args ); } - INSERT_TASK_map( - &options, uplo, n, n, - ndata, data, - op_fct, op_args ); } break; case ChamLower: - for (n = 0; n < A->nt; n++) { + for (n = 0; n < minmn; n++){ INSERT_TASK_map( &options, uplo, n, n, ndata, data, -- GitLab