o3-smt: enforce numThreads parameter for SMT SE mode
This commit is contained in:
parent
e7a3bda497
commit
44f80e7ca5
2 changed files with 8 additions and 4 deletions
|
@ -124,6 +124,7 @@ if options.detailed:
|
|||
(CPUClass, test_mem_mode, FutureClass) = Simulation.setCPUClass(options)
|
||||
|
||||
CPUClass.clock = '2GHz'
|
||||
CPUClass.numThreads = len(workloads)
|
||||
|
||||
np = options.num_cpus
|
||||
|
||||
|
|
|
@ -51,14 +51,17 @@ DerivO3CPUParams::create()
|
|||
// Full-system only supports a single thread for the moment.
|
||||
ThreadID actual_num_threads = 1;
|
||||
#else
|
||||
if (workload.size() > numThreads) {
|
||||
fatal("Workload Size (%i) > Max Supported Threads (%i) on This CPU",
|
||||
workload.size(), numThreads);
|
||||
} else if (workload.size() == 0) {
|
||||
fatal("Must specify at least one workload!");
|
||||
}
|
||||
|
||||
// In non-full-system mode, we infer the number of threads from
|
||||
// the workload if it's not explicitly specified.
|
||||
ThreadID actual_num_threads =
|
||||
(numThreads >= workload.size()) ? numThreads : workload.size();
|
||||
|
||||
if (workload.size() == 0) {
|
||||
fatal("Must specify at least one workload!");
|
||||
}
|
||||
#endif
|
||||
|
||||
numThreads = actual_num_threads;
|
||||
|
|
Loading…
Reference in a new issue