Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 7a79e244 authored by Mathieu Faverge's avatar Mathieu Faverge
Browse files

runtime/options: add a withlacpy field to ease the switch from runtime cpy to lacpy kernel

parent ece0c23d
No related branches found
No related tags found
1 merge request!307GETRF NOPIV: Use explicit workspaces to control the communication flow
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
* @author Cedric Castagnede * @author Cedric Castagnede
* @author Florent Pruvost * @author Florent Pruvost
* @author Philippe Virouleau * @author Philippe Virouleau
* @date 2024-03-16 * @date 2024-10-17
* *
*/ */
#ifndef _chameleon_runtime_struct_h_ #ifndef _chameleon_runtime_struct_h_
...@@ -103,6 +103,7 @@ typedef struct runtime_option_s { ...@@ -103,6 +103,7 @@ typedef struct runtime_option_s {
int priority; /**< Define the submitted task priority */ int priority; /**< Define the submitted task priority */
int workerid; /**< Define the prefered worker id to perform the tasks */ int workerid; /**< Define the prefered worker id to perform the tasks */
int forcesub; /**< Force task submission if true */ int forcesub; /**< Force task submission if true */
int withlacpy; /**< Flag to force the use of lacpy copies */
int withcuda; /**< Flag to know if cuda is enabled/disabled */ int withcuda; /**< Flag to know if cuda is enabled/disabled */
size_t ws_wsize; /**< Define the worker workspace size */ size_t ws_wsize; /**< Define the worker workspace size */
size_t ws_hsize; /**< Define the host workspace size for hybrid CPU/GPU kernel */ size_t ws_hsize; /**< Define the host workspace size for hybrid CPU/GPU kernel */
......
...@@ -11,12 +11,12 @@ ...@@ -11,12 +11,12 @@
* *
* @brief Chameleon OpenMP options routines * @brief Chameleon OpenMP options routines
* *
* @version 1.2.0 * @version 1.3.0
* @author Cedric Augonnet * @author Cedric Augonnet
* @author Mathieu Faverge * @author Mathieu Faverge
* @author Cedric Castagnede * @author Cedric Castagnede
* @author Philippe Virouleau * @author Philippe Virouleau
* @date 2022-02-22 * @date 2024-10-17
* *
*/ */
#include "chameleon_openmp.h" #include "chameleon_openmp.h"
...@@ -31,6 +31,7 @@ void RUNTIME_options_init( RUNTIME_option_t *options, CHAM_context_t *chamctxt, ...@@ -31,6 +31,7 @@ void RUNTIME_options_init( RUNTIME_option_t *options, CHAM_context_t *chamctxt,
options->priority = RUNTIME_PRIORITY_MIN; options->priority = RUNTIME_PRIORITY_MIN;
options->workerid = -1; options->workerid = -1;
options->forcesub = 0; options->forcesub = 0;
options->withlacpy = 0;
options->ws_wsize = 0; options->ws_wsize = 0;
options->ws_hsize = 0; options->ws_hsize = 0;
options->ws_worker = NULL; options->ws_worker = NULL;
......
...@@ -11,10 +11,10 @@ ...@@ -11,10 +11,10 @@
* *
* @brief Chameleon PaRSEC options routines * @brief Chameleon PaRSEC options routines
* *
* @version 1.2.0 * @version 1.3.0
* @author Reazul Hoque * @author Reazul Hoque
* @author Mathieu Faverge * @author Mathieu Faverge
* @date 2022-02-22 * @date 2024-10-17
* *
*/ */
#include "chameleon_parsec.h" #include "chameleon_parsec.h"
...@@ -22,17 +22,18 @@ ...@@ -22,17 +22,18 @@
void RUNTIME_options_init( RUNTIME_option_t *options, CHAM_context_t *chamctxt, void RUNTIME_options_init( RUNTIME_option_t *options, CHAM_context_t *chamctxt,
RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) RUNTIME_sequence_t *sequence, RUNTIME_request_t *request )
{ {
options->sequence = sequence; options->sequence = sequence;
options->request = request; options->request = request;
options->profiling = CHAMELEON_STATISTICS == CHAMELEON_TRUE; options->profiling = CHAMELEON_STATISTICS == CHAMELEON_TRUE;
options->parallel = CHAMELEON_PARALLEL == CHAMELEON_TRUE; options->parallel = CHAMELEON_PARALLEL == CHAMELEON_TRUE;
options->priority = RUNTIME_PRIORITY_MIN; options->priority = RUNTIME_PRIORITY_MIN;
options->workerid = -1; options->workerid = -1;
options->forcesub = 0; options->forcesub = 0;
options->ws_wsize = 0; options->withlacpy = 0;
options->ws_hsize = 0; options->ws_wsize = 0;
options->ws_worker = NULL; options->ws_hsize = 0;
options->ws_host = NULL; options->ws_worker = NULL;
options->ws_host = NULL;
return; return;
} }
......
...@@ -11,12 +11,12 @@ ...@@ -11,12 +11,12 @@
* *
* @brief Chameleon Quark options routines * @brief Chameleon Quark options routines
* *
* @version 1.2.0 * @version 1.3.0
* @author Vijay Joshi * @author Vijay Joshi
* @author Cedric Castagnede * @author Cedric Castagnede
* @author Florent Pruvost * @author Florent Pruvost
* @author Mathieu Faverge * @author Mathieu Faverge
* @date 2022-02-22 * @date 2024-10-17
* *
*/ */
#include "chameleon_quark.h" #include "chameleon_quark.h"
...@@ -34,18 +34,19 @@ void RUNTIME_options_init( RUNTIME_option_t *options, CHAM_context_t *chamctxt, ...@@ -34,18 +34,19 @@ void RUNTIME_options_init( RUNTIME_option_t *options, CHAM_context_t *chamctxt,
qopt->flags.thread_set_to_manual_scheduling = -1; qopt->flags.thread_set_to_manual_scheduling = -1;
/* Initialize options */ /* Initialize options */
options->sequence = sequence; options->sequence = sequence;
options->request = request; options->request = request;
options->profiling = CHAMELEON_STATISTICS == CHAMELEON_TRUE; options->profiling = CHAMELEON_STATISTICS == CHAMELEON_TRUE;
options->parallel = CHAMELEON_PARALLEL == CHAMELEON_TRUE; options->parallel = CHAMELEON_PARALLEL == CHAMELEON_TRUE;
options->priority = RUNTIME_PRIORITY_MIN; options->priority = RUNTIME_PRIORITY_MIN;
options->workerid = -1; options->workerid = -1;
options->forcesub = 0; options->forcesub = 0;
options->withlacpy = 0;
options->ws_wsize = 0; options->ws_wsize = 0;
options->ws_hsize = 0; options->ws_hsize = 0;
options->ws_worker = NULL; options->ws_worker = NULL;
options->ws_host = NULL; options->ws_host = NULL;
/* quark in options */ /* quark in options */
qopt->quark = (Quark*)(chamctxt->schedopt); qopt->quark = (Quark*)(chamctxt->schedopt);
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
* @author Mathieu Faverge * @author Mathieu Faverge
* @author Cedric Castagnede * @author Cedric Castagnede
* @author Florent Pruvost * @author Florent Pruvost
* @date 2023-07-04 * @date 2024-10-17
* *
*/ */
#include "chameleon_starpu_internal.h" #include "chameleon_starpu_internal.h"
...@@ -32,6 +32,7 @@ void RUNTIME_options_init( RUNTIME_option_t *options, CHAM_context_t *chamctxt, ...@@ -32,6 +32,7 @@ void RUNTIME_options_init( RUNTIME_option_t *options, CHAM_context_t *chamctxt,
options->priority = RUNTIME_PRIORITY_MIN; options->priority = RUNTIME_PRIORITY_MIN;
options->workerid = (schedopt == NULL) ? -1 : schedopt->workerid; options->workerid = (schedopt == NULL) ? -1 : schedopt->workerid;
options->forcesub = 0; options->forcesub = 0;
options->withlacpy = 0;
options->withcuda = (chamctxt->ncudas > 0); options->withcuda = (chamctxt->ncudas > 0);
options->ws_wsize = 0; options->ws_wsize = 0;
options->ws_hsize = 0; options->ws_hsize = 0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment