Usage.scala 4.7 KB
Newer Older
1
package de.tu_darmstadt.cs.esa.tapasco.parser
2
3
4
5
6

object Usage {
  def apply(): String = usage

  private final val usage = """
7
  Tapasco - Usage: tapasco [global options]* [jobs]*
8
9
10
11
12
13
14
15
16
17
18

    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)
Jens Korinth's avatar
Jens Korinth committed
19
      --parallel                Execute all jobs in parallel (careful!)
20

21
    Bulk Import Job: bulkimport [options*]
22
23
24
25
26
      --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)"

27
    Compose Job: compose [composition] [frequency] [implementation?] [options*] [features*]
28
29
30
31
32
33
34
35
36
37
      --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

38
39
      --features [feature[, feature]*]      Configure optional features.

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

43
    Core Statistics Job: corestats [options*]
44
45
46
47
      --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

48
    Design Space Exploration: dse [composition] [dimensions] [batch size] [options*] [features*]
49
50
51
52
53
54
55
56
57
58
      --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.
59
                                            (default: $TAPASCO_HOME/DSE_[TIMESTAMP])
60
61
62
63
64
65
66
      --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

67
      --features [feature[, feature]*]      Configure optional features.
68
69
70
71

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

72
    High-Level Synthesis Job: hls [options*]
73
74
75
76
77
      --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

78
    Import Job: import [options*]
79
80
81
82
83
84
85
86
      --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
  """
}