debug schedule task

This commit is contained in:
2025-10-01 18:48:59 +02:00
parent 67ff78c8bc
commit 39f0e052c1
4 changed files with 10 additions and 7 deletions

View File

@@ -5,8 +5,8 @@ import os.Shellable
class CommandGroup(name: String) extends BaseGroup { class CommandGroup(name: String) extends BaseGroup {
override def getToolParameters: Seq[Shellable] = { override def getToolParameters: Seq[Shellable] = {
val sub = options.toSeq.flatMap(_.getToolParameters) val sub = options.toSeq.map(_.getToolParameters)
Seq(s"""$name="${sub.mkString(" ")}"""") Seq(s"""--$name="${sub.flatMap(_.value).mkString(" ")}"""")
} }
override def init(scallopConf: ScallopConf, group: ScallopOptionGroup): Unit = { override def init(scallopConf: ScallopConf, group: ScallopOptionGroup): Unit = {

View File

@@ -7,6 +7,8 @@ trait Task {
def execute(): Unit def execute(): Unit
def runExecutable(execPath: Path, args: Shellable*): os.CommandResult = { def runExecutable(execPath: Path, args: Shellable*): os.CommandResult = {
println(s"Executing $execPath with")
println(args.flatMap(_.value).mkString(" "))
os.proc(execPath, args).call() os.proc(execPath, args).call()
} }
} }

View File

@@ -30,8 +30,6 @@ class LongnailScheduleTask(isaxMLIR: Path, coreDatasheet: Path, params: Scheduli
)*/ )*/
runExecutable(EXECUTABLE, runExecutable(EXECUTABLE,
"--lower-coredsl-to-lil", "--lower-coredsl-to-lil",
"--schedule-lil",
"--datasheet", coreDatasheet,
params.getToolParameters, params.getToolParameters,
isaxMLIR isaxMLIR
) )

View File

@@ -7,16 +7,19 @@ import org.rogach.scallop.*
class SchedulingParameters extends OptionGroup { class SchedulingParameters extends OptionGroup {
override def name: String = "Longnail Scheduling Args" override def name: String = "Longnail Scheduling Args"
add(new CommandGroup("prepare-schedule-lil") {
choiceS(Seq("LEGACY", "MS", "PAMS", "PARAMS", "MI_MS", "MI_PAMS", "MI_PARAMS"), name = "schedulingAlgo", default = Some("LEGACY"))
value[Path](cliName = "cellLibrary", toolName = "library")
valueS[Path](name = "opTyLibrary")
})
add(new CommandGroup("schedule-lil") { add(new CommandGroup("schedule-lil") {
valueS[Int](name = "schedulingTimeout") valueS[Int](name = "schedulingTimeout")
value[Int](cliName = "schedulingRefineTimeout", toolName = "schedRefineTimeout") value[Int](cliName = "schedulingRefineTimeout", toolName = "schedRefineTimeout")
value[Path](cliName = "schedulingKconf", toolName = "solSelKconfPath") value[Path](cliName = "schedulingKconf", toolName = "solSelKconfPath")
choiceS(Seq("LEGACY", "MS", "PAMS", "PARAMS", "MI_MS", "MI_PAMS", "MI_PARAMS"), name = "schedulingAlgo", default = Some("LEGACY"))
choice(Seq("CBC", "GLPK", "SCIP", "HIGHS", "GUROBI", "CPLEX", "XPRESS", "COPT"), cliName = "ilpSolver", toolName = "solver", default = Some("CBC")) choice(Seq("CBC", "GLPK", "SCIP", "HIGHS", "GUROBI", "CPLEX", "XPRESS", "COPT"), cliName = "ilpSolver", toolName = "solver", default = Some("CBC"))
toggle(cliName = "verboseSched", toolName = "verbose") toggle(cliName = "verboseSched", toolName = "verbose")
valueS[Path](name = "opTyLibrary")
value[Int](cliName = "clockPeriod", toolName = "clockTime") value[Int](cliName = "clockPeriod", toolName = "clockTime")
value[Path](cliName = "cellLibrary", toolName = "library")
}) })
value[Int](cliName = "maxLoopUnrollFactor", toolName = "max-unroll-factor") value[Int](cliName = "maxLoopUnrollFactor", toolName = "max-unroll-factor")