Usage.scala 4.85 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
      --maxThreads [NUM]        Limit internal parallelism of activities (e.g., Vivado)
                                to the given number of threads.
22

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

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

40
41
      --features [feature[, feature]*]      Configure optional features.

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

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

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

69
      --features [feature[, feature]*]      Configure optional features.
70
71
72
73

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

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

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