Files
pp2026-hw1/part1/logger.h
T
2026-10-05 04:41:24 +08:00

38 lines
671 B
C++

#ifndef LOGGER_H_
#define LOGGER_H_
#include <stdio.h>
#include <vector>
#include <string.h>
using namespace std;
#define MAX_INST_LEN 32
struct __pp_mask;
struct Log {
char instruction[MAX_INST_LEN];
unsigned long long mask; // support vector width up to 64
};
struct Statistics {
unsigned long long utilized_lane;
unsigned long long total_lane;
unsigned long long total_instructions;
};
class Logger {
private:
vector<Log> log;
Statistics stats;
public:
void addLog(const char * instruction, __pp_mask mask, int N = 0);
void printStats();
void printLog();
void refresh();
unsigned long long getTotalInstrs();
};
#endif