Files
vortex/sim/simX/archdef.h
2021-11-13 01:41:12 -05:00

71 lines
1.0 KiB
C++

#pragma once
#include <string>
#include <sstream>
#include <cstdlib>
#include <stdio.h>
#include "types.h"
namespace vortex {
class ArchDef {
private:
int num_cores_;
int num_warps_;
int num_threads_;
int wsize_;
int vsize_;
int num_regs_;
int num_csrs_;
int num_barriers_;
public:
ArchDef(const std::string& /*arch*/,
int num_cores,
int num_warps,
int num_threads)
: num_cores_(num_cores)
, num_warps_(num_warps)
, num_threads_(num_threads)
, wsize_(4)
, vsize_(16)
, num_regs_(32)
, num_csrs_(4096)
, num_barriers_(NUM_BARRIERS)
{}
int wsize() const {
return wsize_;
}
int vsize() const {
return vsize_;
}
int num_regs() const {
return num_regs_;
}
int num_csrs() const {
return num_csrs_;
}
int num_barriers() const {
return num_barriers_;
}
int num_threads() const {
return num_threads_;
}
int num_warps() const {
return num_warps_;
}
int num_cores() const {
return num_cores_;
}
};
}