| 63 | # ---------------------------------------------------------------------------- # |
| 64 | |
| 65 | def ParseCommandLineArgs(): |
| 66 | parser = argparse.ArgumentParser() |
| 67 | |
| 68 | parser.add_argument("--version", dest = "display_version", action = "store_true", |
| 69 | default = False, required = False) |
| 70 | |
| 71 | # x86 |
| 72 | |
| 73 | parser.add_argument("--use-x86", dest = "use_x86", action = "store_true", |
| 74 | default = False, required = False) |
| 75 | parser.add_argument("--disable-avx512", dest = "disable_avx512", action = "store_true", |
| 76 | default = False, required = False) |
| 77 | parser.add_argument("--disable-avx-fma3", dest = "disable_avx_fma3", action = "store_true", |
| 78 | default = False, required = False) |
| 79 | parser.add_argument("--disable-graph-fusion", dest = "disable_graph_fusion", action = "store_true", |
| 80 | default = False, required = False) |
| 81 | parser.add_argument("--enable-tensor-debug", dest = "enable_tensor_debug", action = "store_true", |
| 82 | default = False, required = False) |
| 83 | parser.add_argument("--debug-data-dir", type = str, default = ".", required = False, |
| 84 | help = "directory to save dumped tensors' data") |
| 85 | |
| 86 | # cuda or llm-cuda |
| 87 | |
| 88 | parser.add_argument("--use-llm-cuda", dest = "use_llm_cuda", action = "store_true", |
| 89 | default = False, required = False) |
| 90 | parser.add_argument("--device-id", type = int, dest = "device_id", |
| 91 | default = 0, required = False, help = "specify which device is used.") |
| 92 | |
| 93 | # cuda |
| 94 | |
| 95 | parser.add_argument("--use-cuda", dest = "use_cuda", action = "store_true", |
| 96 | default = False, required = False) |
| 97 | parser.add_argument("--quick-select", dest = "quick_select", action = "store_true", |
| 98 | default = False, required = False) |
| 99 | parser.add_argument("--import-algo-file", type = str, default = "", required = False, |
| 100 | help = "a json file containing op implementations info") |
| 101 | parser.add_argument("--export-algo-file", type = str, default = "", required = False, |
| 102 | help = "a json file used to store op implementations info") |
| 103 | parser.add_argument("--kernel-type", type = str, default = "", required = False, |
| 104 | help = "set kernel type for cuda inferencing. valid values: int8/16/32/64,float16/32") |
| 105 | parser.add_argument("--quant-file", type = str, default = "", required = False, |
| 106 | help = "a json file containing quantization information") |
| 107 | |
| 108 | # arm |
| 109 | |
| 110 | parser.add_argument("--use-arm", dest = "use_arm", action = "store_true", |
| 111 | default = False, required = False) |
| 112 | parser.add_argument("--wg-level", type = int, default = 3, required = False, |
| 113 | help = "select winograd level[0-3]. 0: wingorad off." |
| 114 | " 1: turn on winograd and automatically select block size." |
| 115 | " 2: use winograd block 2 if possible. 3: use winograd block 4 if possible") |
| 116 | parser.add_argument("--tuning-level", type = int, default = 1, required = False, |
| 117 | help = "select conv algo dynamic tuning level[0-1]. 0: off. 1: on") |
| 118 | parser.add_argument("--numa-node-id", type = int, default = -1, required = False, |
| 119 | help = "bind arm engine to specified numa node, range [0, numa_max_node), -1 means not bind") |
| 120 | |
| 121 | # riscv |
| 122 | |