Usage.scala 4.46 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
package de.tu_darmstadt.cs.esa.threadpoolcomposer.parser

object Usage {
  def apply(): String = usage

  private final val usage = """
  ThreadPoolComposer - Usage: tpc [global options]* [jobs]*

    Global Options:
      --archDir [PATH]          Base directory for architecture descriptions
      --compositionDir [PATH]   Output base directory for Compose jobs
      --coreDir [PATH}          Output base directory for HLS jobs, synthesized cores
      --kernelDir [PATH]        Base directory for kernel descriptions (HLS)
      --platformDir [PATH]      Base directory for platform descriptions
      --logFile [FILE]          Path to output log file
      --configFile [FILE]       Path to Json file with Configuration
      --jobsFile [FILE]         Path to Json file with Jobs array
      --slurm                   Activate SLURM cluster execution (requires sbatch)

    Bulk Import Job: bulkimport [options]
      --csv [FILE]              [FILE] should be in comma-separated values (CSV) format
                                and must contain the following header line and columns:

      "Zip, ID, Description, Architecture, Platform, Avg Runtime (clock cycles)"

    Compose Statistics Job: corestats [composition] [frequency] [options]
      --composition {[FILE] | [DEF]}        Threadpool composition, either in a separate
                                            file, or inline as arguments (see below)
      --designFrequency [NUM]               Target design frequency (PE clock) in MHz
      --implementation [NAME]               Composer implementation (default: Vivado)

      Options:
      --architectures|-a [NAME[, NAME]*]    Filter for Architecture names
      --platforms|-p [NAME[, NAME]*]        Filter for Platform names
      --debugMode [NAME]                    Activate a debug mode

      Composition Syntax: '[' [NAME] x [NUM] [',' [NAME] x [NUM]]* ']'
      Example:            "[counter x 12, arraysum x 4]"

    Core Statistics Job: corestats [options]
      --prefix "[PREFIX]"                   File name prefix for CSV output files
      --architectures|-a [NAME[, NAME]*]    Filter for Architecture names
      --platforms|-p [NAME[, NAME]*]        Filter for Platform names

    Design Space Exploration: dse [composition] [dimensions] [batch size] [options*]
      --composition {[FILE] | [DEF]}        Threadpool composition, either in a separate
                                            file, or inline as arguments (see below)
      --dimensions [area | frequency | alternatives] ["," [area | frequency | alternatives]]*
        area:                               Enable variation of area (number PEs)
        frequency:                          Enable variation of frequency
        alternatives:                       Enable variation of core variants (core w/same ID)
      --batchSize [NUM]                     Number of Compose runs per batch (in parallel)

      Options:
      --basePath [PATH]                     Output base directory for all Compositions etc.
                                            (default: $TPC_HOME/DSE_[TIMESTAMP])
      --heuristic [heuristic]               Select ordering heuristic (default: job throughput):
        throughput                          Optimize job throughput (requires avg. clock cycles)
      --frequency [NUM]                     Initial design frequency (MHz)
      --architectures|-a [NAME[, NAME]*]    Filter for Architecture names
      --platforms|-p [NAME[, NAME]*]        Filter for Platform names
      --debugMode [NAME]                    Activate a debug mode


      Composition Syntax: '[' [NAME] x [NUM] [',' [NAME] x [NUM]]* ']'
      Example:            "[counter x 12, arraysum x 4]"

    High-Level Synthesis Job: hls [options]
      --implementation|-i [NAME]            HLS implementation (default: VivadoHLS)
      --kernels|-k [NAME[, NAME]*]          Filter for Kernel names
      --architectures|-a [NAME[, NAME]*]    Filter for Architecture names
      --platforms|-p [NAME[, NAME]*]        Filter for Platform names

    Import Job: import [options]
      --zip [FILE]                          Path to .zip file containing IP-XACT core
      --id [NUM]                            Kernel ID (> 0) for use in TPC
      --averageClockCycles [NUM]            Avg. clock cycles per execution (optional)
      --description "[TEXT]"                Kernel description text (optional)
      --architectures|-a [NAME[, NAME]*]    Filter for Architecture names
      --platforms|-p [NAME[, NAME]*]        Filter for Platform names
  """
}