From dc30a4bbca335919792a5f382cf30e76b5f02bf9 Mon Sep 17 00:00:00 2001
From: Alycia Lisito <alycia.lisito@inria.fr>
Date: Mon, 21 Oct 2024 16:33:59 +0200
Subject: [PATCH] zgetrf: add codelet_zperm_allreduce for quark, parsec and
 openmp

---
 .../openmp/codelets/codelet_zperm_allreduce.c | 93 +++++++++++++++++++
 .../parsec/codelets/codelet_zperm_allreduce.c | 93 +++++++++++++++++++
 .../quark/codelets/codelet_zperm_allreduce.c  | 93 +++++++++++++++++++
 3 files changed, 279 insertions(+)
 create mode 100644 runtime/openmp/codelets/codelet_zperm_allreduce.c
 create mode 100644 runtime/parsec/codelets/codelet_zperm_allreduce.c
 create mode 100644 runtime/quark/codelets/codelet_zperm_allreduce.c

diff --git a/runtime/openmp/codelets/codelet_zperm_allreduce.c b/runtime/openmp/codelets/codelet_zperm_allreduce.c
new file mode 100644
index 000000000..cb77c806b
--- /dev/null
+++ b/runtime/openmp/codelets/codelet_zperm_allreduce.c
@@ -0,0 +1,93 @@
+/**
+ *
+ * @file openmp/codelet_zperm_allreduce.c
+ *
+ * @copyright 2012-2024 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
+ *                      Univ. Bordeaux. All rights reserved.
+ *
+ ***
+ *
+ * @brief Chameleon openmp codelets to do the reduction
+ *
+ * @version 1.3.0
+ * @author Alycia Lisito
+ * @date 2024-06-11
+ * @precisions normal z -> c d s
+ *
+ */
+#include "chameleon_openmp.h"
+#include "chameleon/tasks_z.h"
+
+void
+INSERT_TASK_zperm_allreduce_send_A( const RUNTIME_option_t *options,
+                                    CHAM_desc_t            *A,
+                                    int                     Am,
+                                    int                     An,
+                                    int                     myrank,
+                                    int                     np,
+                                    int                    *proc_involved  )
+{
+    (void)options;
+    (void)A;
+    (void)Am;
+    (void)An;
+    (void)myrank;
+    (void)np;
+    (void)proc_involved;
+}
+
+void
+INSERT_TASK_zperm_allreduce_send_perm( const RUNTIME_option_t *options,
+                                       CHAM_ipiv_t            *ipiv,
+                                       int                     ipivk,
+                                       int                     myrank,
+                                       int                     np,
+                                       int                    *proc_involved  )
+{
+    (void)options;
+    (void)ipiv;
+    (void)ipivk;
+    (void)myrank;
+    (void)np;
+    (void)proc_involved;
+}
+
+void
+INSERT_TASK_zperm_allreduce_send_invp( const RUNTIME_option_t *options,
+                                       CHAM_ipiv_t            *ipiv,
+                                       int                     ipivk,
+                                       const CHAM_desc_t      *A,
+                                       int                     k,
+                                       int                     n )
+{
+    (void)options;
+    (void)ipiv;
+    (void)ipivk;
+    (void)A;
+    (void)k;
+    (void)n;
+}
+
+void
+INSERT_TASK_zperm_allreduce( const RUNTIME_option_t *options,
+                             const CHAM_desc_t      *A,
+                             CHAM_ipiv_t            *ipiv,
+                             int                     ipivk,
+                             int                     k,
+                             int                     n,
+                             CHAM_desc_t            *U,
+                             int                     Um,
+                             int                     Un,
+                             void                   *ws )
+{
+    (void)options;
+    (void)A;
+    (void)ipiv;
+    (void)ipivk;
+    (void)k;
+    (void)n;
+    (void)U;
+    (void)Um;
+    (void)Un;
+    (void)ws;
+}
diff --git a/runtime/parsec/codelets/codelet_zperm_allreduce.c b/runtime/parsec/codelets/codelet_zperm_allreduce.c
new file mode 100644
index 000000000..30890f811
--- /dev/null
+++ b/runtime/parsec/codelets/codelet_zperm_allreduce.c
@@ -0,0 +1,93 @@
+/**
+ *
+ * @file parsec/codelet_zperm_allreduce.c
+ *
+ * @copyright 2012-2024 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
+ *                      Univ. Bordeaux. All rights reserved.
+ *
+ ***
+ *
+ * @brief Chameleon parsec codelets to do the reduction
+ *
+ * @version 1.3.0
+ * @author Alycia Lisito
+ * @date 2024-06-11
+ * @precisions normal z -> c d s
+ *
+ */
+#include "chameleon_parsec.h"
+#include "chameleon/tasks_z.h"
+
+void
+INSERT_TASK_zperm_allreduce_send_A( const RUNTIME_option_t *options,
+                                    CHAM_desc_t            *A,
+                                    int                     Am,
+                                    int                     An,
+                                    int                     myrank,
+                                    int                     np,
+                                    int                    *proc_involved  )
+{
+    (void)options;
+    (void)A;
+    (void)Am;
+    (void)An;
+    (void)myrank;
+    (void)np;
+    (void)proc_involved;
+}
+
+void
+INSERT_TASK_zperm_allreduce_send_perm( const RUNTIME_option_t *options,
+                                       CHAM_ipiv_t            *ipiv,
+                                       int                     ipivk,
+                                       int                     myrank,
+                                       int                     np,
+                                       int                    *proc_involved  )
+{
+    (void)options;
+    (void)ipiv;
+    (void)ipivk;
+    (void)myrank;
+    (void)np;
+    (void)proc_involved;
+}
+
+void
+INSERT_TASK_zperm_allreduce_send_invp( const RUNTIME_option_t *options,
+                                       CHAM_ipiv_t            *ipiv,
+                                       int                     ipivk,
+                                       const CHAM_desc_t      *A,
+                                       int                     k,
+                                       int                     n )
+{
+    (void)options;
+    (void)ipiv;
+    (void)ipivk;
+    (void)A;
+    (void)k;
+    (void)n;
+}
+
+void
+INSERT_TASK_zperm_allreduce( const RUNTIME_option_t *options,
+                             const CHAM_desc_t      *A,
+                             CHAM_ipiv_t            *ipiv,
+                             int                     ipivk,
+                             int                     k,
+                             int                     n,
+                             CHAM_desc_t            *U,
+                             int                     Um,
+                             int                     Un,
+                             void                   *ws )
+{
+    (void)options;
+    (void)A;
+    (void)ipiv;
+    (void)ipivk;
+    (void)k;
+    (void)n;
+    (void)U;
+    (void)Um;
+    (void)Un;
+    (void)ws;
+}
diff --git a/runtime/quark/codelets/codelet_zperm_allreduce.c b/runtime/quark/codelets/codelet_zperm_allreduce.c
new file mode 100644
index 000000000..52281451d
--- /dev/null
+++ b/runtime/quark/codelets/codelet_zperm_allreduce.c
@@ -0,0 +1,93 @@
+/**
+ *
+ * @file quark/codelet_zperm_allreduce.c
+ *
+ * @copyright 2012-2024 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
+ *                      Univ. Bordeaux. All rights reserved.
+ *
+ ***
+ *
+ * @brief Chameleon quark codelets to do the reduction
+ *
+ * @version 1.3.0
+ * @author Alycia Lisito
+ * @date 2024-06-11
+ * @precisions normal z -> c d s
+ *
+ */
+#include "chameleon_quark.h"
+#include "chameleon/tasks_z.h"
+
+void
+INSERT_TASK_zperm_allreduce_send_A( const RUNTIME_option_t *options,
+                                    CHAM_desc_t            *A,
+                                    int                     Am,
+                                    int                     An,
+                                    int                     myrank,
+                                    int                     np,
+                                    int                    *proc_involved  )
+{
+    (void)options;
+    (void)A;
+    (void)Am;
+    (void)An;
+    (void)myrank;
+    (void)np;
+    (void)proc_involved;
+}
+
+void
+INSERT_TASK_zperm_allreduce_send_perm( const RUNTIME_option_t *options,
+                                       CHAM_ipiv_t            *ipiv,
+                                       int                     ipivk,
+                                       int                     myrank,
+                                       int                     np,
+                                       int                    *proc_involved  )
+{
+    (void)options;
+    (void)ipiv;
+    (void)ipivk;
+    (void)myrank;
+    (void)np;
+    (void)proc_involved;
+}
+
+void
+INSERT_TASK_zperm_allreduce_send_invp( const RUNTIME_option_t *options,
+                                       CHAM_ipiv_t            *ipiv,
+                                       int                     ipivk,
+                                       const CHAM_desc_t      *A,
+                                       int                     k,
+                                       int                     n )
+{
+    (void)options;
+    (void)ipiv;
+    (void)ipivk;
+    (void)A;
+    (void)k;
+    (void)n;
+}
+
+void
+INSERT_TASK_zperm_allreduce( const RUNTIME_option_t *options,
+                             const CHAM_desc_t      *A,
+                             CHAM_ipiv_t            *ipiv,
+                             int                     ipivk,
+                             int                     k,
+                             int                     n,
+                             CHAM_desc_t            *U,
+                             int                     Um,
+                             int                     Un,
+                             void                   *ws )
+{
+    (void)options;
+    (void)A;
+    (void)ipiv;
+    (void)ipivk;
+    (void)k;
+    (void)n;
+    (void)U;
+    (void)Um;
+    (void)Un;
+    (void)ws;
+}
-- 
GitLab