PaStiX Handbook  6.3.2
simu_run.c File Reference
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include <math.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#include "common.h"
#include "symbol/symbol.h"
#include "extendVector.h"
#include "queue.h"
#include "elimintree.h"
#include "cost.h"
#include "cand.h"
#include "blendctrl.h"
#include "blend/solver.h"
#include "simu.h"
#include "perf.h"

Go to the source code of this file.

Functions

static void simu_computeFtgtCosts (const BlendCtrl *ctrl, const SimuFtgt *ftgt, pastix_int_t clustsrc, pastix_int_t sync_comm_nbr, double *send, double *add)
 Compute the cost of a communication and its update. More...
 
static void simu_computeBlockCtrbNbr (const symbol_matrix_t *symbptr, SimuCtrl *simuctrl, pastix_int_t ricar)
 Compute the number of contributions to each block. More...
 
static void simu_printBlockCtrbNbr (const BlendCtrl *ctrl, const symbol_matrix_t *symbptr, const SimuCtrl *simuctrl)
 Print the number of contributions per cblk and block for debug. More...
 
static void simu_putInAllReadyQueues (const BlendCtrl *ctrl, SimuCtrl *simuctrl, pastix_int_t tasknum)
 Insert a task in the ready task queues of all its candidates. More...
 
static pastix_int_t simu_getNextTaskNextProc (const BlendCtrl *ctrl, SimuCtrl *simuctrl, pastix_int_t *procnumptr)
 Look for the best next couple (tasknum, corenum) that is ready to be executed. More...
 
static void simu_computeTaskReceiveTime (const BlendCtrl *ctrl, const symbol_matrix_t *symbptr, SimuCtrl *simuctrl, pastix_int_t tasknum)
 Compute the instant t where the task will be received by a node. More...
 
static void simu_updateFtgt (const symbol_matrix_t *symbptr, SimuCtrl *simuctrl, pastix_int_t ftgtnum, pastix_int_t bloknum, pastix_int_t fbloknum)
 Update the Fan In target structure. More...
 
static void simu_computeTask (const BlendCtrl *ctrl, const symbol_matrix_t *symbptr, SimuCtrl *simuctrl, pastix_int_t tasknum)
 Simulate the task execution. More...
 
static void simu_pushToReadyHeap (const BlendCtrl *ctrl, SimuCtrl *simuctrl, pastix_int_t procnum)
 Push all tasks from future to ready. More...
 
void simuRun (SimuCtrl *simuctrl, const BlendCtrl *ctrl, const symbol_matrix_t *symbptr)
 Run the simulation to map the data on the nodes. More...
 

Detailed Description

PaStiX simulation functions.

Version
6.3.2
Author
Pascal Henon
Pierre Ramet
Mathieu Faverge
Gregoire Pichon
Vincent Bridonneau
Xavier Lacoste
Date
2023-07-21

Definition in file simu_run.c.