/** * * @file openmp/codelet_ipiv.c * * @copyright 2012-2024 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * Univ. Bordeaux. All rights reserved. * *** * * @brief Chameleon OpenMP codelets to convert pivot to permutations * * @version 1.3.0 * @author Mathieu Faverge * @author Matthieu Kuhn * @date 2024-03-16 * */ #include "chameleon_openmp.h" #include "chameleon/tasks.h" #include "coreblas.h" void INSERT_TASK_ipiv_init( const RUNTIME_option_t *options, CHAM_ipiv_t *ipiv ) { assert( 0 ); (void)options; (void)ipiv; } void INSERT_TASK_ipiv_reducek( const RUNTIME_option_t *options, CHAM_ipiv_t *ipiv, int k, int h, int rank ) { assert( 0 ); (void)options; (void)ipiv; (void)k; (void)h; (void)rank; } void INSERT_TASK_ipiv_to_perm( const RUNTIME_option_t *options, int m0, int m, int k, const CHAM_ipiv_t *ipivdesc, int ipivk ) { int *ipiv = NULL; // get pointer from ipivdesc int *perm = NULL; // get pointer from ipivdesc int *invp = NULL; // get pointer from ipivdesc #pragma omp task firstprivate( m0, m, k ) depend( in:ipiv[0] ) depend( inout:perm[0] ) depend( inout:invp[0] ) { CORE_ipiv_to_perm( m0, m, k, ipiv, perm, invp ); } (void)options; (void)ipivk; }