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 <[email protected]>
  • Loading branch information
abouteiller committed Aug 9, 2023
1 parent 6698be1 commit 15548ad
Showing 1 changed file with 32 additions and 4 deletions.
36 changes: 32 additions & 4 deletions src/zgeqrf.jdf
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,13 @@ extern "C" %{
*
*/

#if defined(DPLASMA_WITH_RECURSIVE)
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);
#endif /* defined(DPLASMA_WITH_RECURSIVE) */

#include "zgeqrf.h"

%}
Expand Down Expand Up @@ -150,7 +157,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 +253,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 +381,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 +549,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 +587,24 @@ BODY

}
END

extern "C" %{
#if defined(DPLASMA_WITH_RECURSIVE)
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);
}
#endif /* defined(DPLASMA_WITH_RECURSIVE) */
%}

0 comments on commit 15548ad

Please sign in to comment.