Skip to content

Commit

Permalink
Update zgeqrf to the new recursive API in parsec
Browse files Browse the repository at this point in the history
Signed-off-by: Aurélien Bouteiller <bouteill@icl.utk.edu>
  • Loading branch information
abouteiller committed Sep 5, 2023
1 parent ef64b72 commit 39da035
Showing 1 changed file with 27 additions and 4 deletions.
31 changes: 27 additions & 4 deletions src/zgeqrf.jdf
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ extern "C" %{

#include "parsec/data_dist/matrix/subtile.h"
#include "parsec/recursive.h"
static void zgeqrt_recursive_cb(parsec_taskpool_t* tp, const parsec_recursive_callback_t* data);
static void zunmqr_recursive_cb(parsec_taskpool_t* tp, const parsec_recursive_callback_t* data);
static void ztsqrt_recursive_cb(parsec_taskpool_t* tp, const parsec_recursive_callback_t* data);
static void ztsmqr_recursive_cb(parsec_taskpool_t* tp, const parsec_recursive_callback_t* data);

#if defined(DPLASMA_HAVE_CUDA)
#include "cores/dplasma_zcores.h"
Expand Down Expand Up @@ -150,7 +154,7 @@ BODY [type=RECURSIVE]

/* recursive call */
parsec_recursivecall((parsec_task_t*)this_task,
parsec_zgeqrt, dplasma_zgeqrfr_geqrt_Destruct,
parsec_zgeqrt, zgeqrt_recursive_cb,
2, small_descA, small_descT);

return PARSEC_HOOK_RETURN_ASYNC;
Expand Down Expand Up @@ -246,7 +250,7 @@ BODY [type=RECURSIVE]

/* recursive call */
parsec_recursivecall((parsec_task_t*)this_task,
parsec_zunmqr_panel, dplasma_zgeqrfr_unmqr_Destruct,
parsec_zunmqr_panel, zunmqr_recursive_cb,
3, small_descA, small_descC, small_descT);

return PARSEC_HOOK_RETURN_ASYNC;
Expand Down Expand Up @@ -374,7 +378,7 @@ BODY [type=RECURSIVE]

/* recursive call */
parsec_recursivecall((parsec_task_t*)this_task,
parsec_ztsqrt, dplasma_zgeqrfr_tsqrt_Destruct,
parsec_ztsqrt, ztsqrt_recursive_cb,
3, small_descA1, small_descA2, small_descT);

return PARSEC_HOOK_RETURN_ASYNC;
Expand Down Expand Up @@ -542,7 +546,7 @@ BODY [type=RECURSIVE]

/* recursive call */
parsec_recursivecall((parsec_task_t*)this_task,
parsec_ztsmqr, dplasma_zgeqrfr_tsmqr_Destruct,
parsec_ztsmqr, ztsmqr_recursive_cb,
4, small_descA1, small_descA2, small_descV, small_descT);

return PARSEC_HOOK_RETURN_ASYNC;
Expand Down Expand Up @@ -580,3 +584,22 @@ BODY

}
END

extern "C" %{
static void zgeqrt_recursive_cb(parsec_taskpool_t* tp, const parsec_recursive_callback_t* data) {
(void)data;
dplasma_zgeqrfr_geqrt_Destruct(tp);
}
static void zunmqr_recursive_cb(parsec_taskpool_t* tp, const parsec_recursive_callback_t* data) {
(void)data;
dplasma_zgeqrfr_unmqr_Destruct(tp);
}
static void ztsqrt_recursive_cb(parsec_taskpool_t* tp, const parsec_recursive_callback_t* data) {
(void)data;
dplasma_zgeqrfr_tsqrt_Destruct(tp);
}
static void ztsmqr_recursive_cb(parsec_taskpool_t* tp, const parsec_recursive_callback_t* data) {
(void)data;
dplasma_zgeqrfr_tsmqr_Destruct(tp);
}
%}

0 comments on commit 39da035

Please sign in to comment.