added dvm/tools/

This commit is contained in:
ALEXks
2023-09-15 08:30:58 +03:00
parent 3bde5853a9
commit 91dced1fe6
123 changed files with 51340 additions and 1 deletions

View File

@@ -0,0 +1,93 @@
enum {
GSHADOW,
GREMOTE,
GREDISTRIBUTION,
GREGIONIN,
GNUMOP
};
struct GpuOpTime { //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> gpu
double gpu_to_cpu;
double cpu_to_gpu;
double gpu_to_gpu;
};
struct ThreadTime { //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
double user_time;
double sys_time;
};
struct GpuMetric {
unsigned int countMeasures; /**< количество измерений характеристики */
double timeProductive; /**< полезное время */
double timeLost; /**< потерянное время */
// -- Агрегированные значения (для box-диаграммы)
double min; /**< минимальное значение */
double mean; /**< среднее */
double max; /**< максимальное значение */
double sum; /**< сумма значений */
};
struct GpuTime { //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> gpu
char * gpu_name;
double prod_time;
double lost_time;
// double kernel_exec;
// double loop_exec;
// double get_actual;
// double data_reorg;
// double reduction;
// double gpu_runtime_compilation;
// double gpu_to_cpu;
// double cpu_to_gpu;
// double gpu_to_gpu;
// struct GpuOpTime op_times[GNUMOP];
struct GpuMetric metrics[DVMH_STAT_METRIC_FORCE_INT];
};
struct ColOp { //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
long ncall;
double comm;
double synch;
double real_comm;
double time_var;
double overlap;
};
struct OpGrp {
double calls;
double lost_time;
double prod;
};
struct ProcTimes {
double prod_cpu;
double prod_sys;
double prod_io;
double exec_time;
double sys_time;
double real_comm;
double lost_time;
double insuf_user;
double insuf_sys;
double comm;
double idle;
double load_imb;
double synch;
double time_var;
double overlap;
double thr_user_time;
double thr_sys_time;
double gpu_time_prod;
double gpu_time_lost;
unsigned long num_threads;
struct ThreadTime * th_times;
unsigned long num_gpu;
struct GpuTime *gpu_times;
struct ColOp col_op[4];//4~RED
};
typedef struct OpGrp OpGrp;
typedef struct ProcTimes ProcTimes;