44MIN_SEQ_OPS=${1:- 16}
55MAX_SEQ_OPS=${2:- 64}
66GPU_ID=${3:- 0}
7- OP_RANGE=" ${MIN_SEQ_OPS} -${MAX_SEQ_OPS} "
8- RESUME=" true"
97
10- export CUDA_VISIBLE_DEVICES=$GPU_ID
8+ OP_RANGE=$MIN_SEQ_OPS -$MAX_SEQ_OPS
9+
10+ export CUDA_VISIBLE_DEVICES=" ${GPU_ID} "
1111
1212GRAPH_NET_ROOT=$( python3 -c " import graph_net; import os; print(os.path.dirname(os.path.dirname(graph_net.__file__)))" )
13- DECOMPOSE_WORKSPACE=/tmp/subgraph_dataset_workspace
14- LEVEL_WORKSPACE=$DECOMPOSE_WORKSPACE /decomposed_${OP_RANGE} ops
15- model_list=" $GRAPH_NET_ROOT /graph_net/config/small100_torch_samples_list.txt"
13+ RESUME=" true"
1614
17- mkdir -p " $LEVEL_WORKSPACE "
15+ DECOMPOSE_WORKSPACE=/tmp/subgraph_dataset_workspace/test100
16+ LEVEL_DECOMPOSE_WORKSPACE=$DECOMPOSE_WORKSPACE /decomposed_${OP_RANGE} ops
17+ OP_NAMES_OUTPUT_DIR=${DECOMPOSE_WORKSPACE} /sample_op_names
18+ RANGE_DECOMPOSE_OUTPUT_DIR=$LEVEL_DECOMPOSE_WORKSPACE /range_decompose
19+ GRAPH_VAR_RENAME_OUTPUT_DIR=$LEVEL_DECOMPOSE_WORKSPACE /graph_var_renamed
20+ DEDUPLICATED_OUTPUT_DIR=$LEVEL_DECOMPOSE_WORKSPACE /deduplicated
21+ DEVICE_REWRITED_OUTPUT_DIR=$LEVEL_DECOMPOSE_WORKSPACE /device_rewrited
22+ CUMSUM_NUM_KERNELS_DIR=$LEVEL_DECOMPOSE_WORKSPACE /cumsum_num_kernels
23+ FUSIBLE_SUBGRAPH_RANGES_DIR=$LEVEL_DECOMPOSE_WORKSPACE /fusible_subgraph_ranges
24+ FUSIBLE_SUBGRAPH_SAMPLES_DIR=$LEVEL_DECOMPOSE_WORKSPACE /fusible_subgraph_samples
25+ RENAMED_FUSIBLE_SUBGRAPH_DIR=$LEVEL_DECOMPOSE_WORKSPACE /renamed_fusible_subgraphs
26+ DEDUPLICATED_FUSIBLE_SUBGRAPH_DIR=$LEVEL_DECOMPOSE_WORKSPACE /deduplicated_fusible_subgraphs
27+ UNITTESTS_OUTPUT_DIR=$LEVEL_DECOMPOSE_WORKSPACE /unittests
1828
19- declare -A DIRS=(
20- [" OP_NAMES" ]=" $DECOMPOSE_WORKSPACE /sample_op_names"
21- [" RANGE_DECOMPOSE_SAMPLES" ]=" $LEVEL_WORKSPACE /decomposed_subgraphs"
22- [" RENAMED_SAMPLES" ]=" $LEVEL_WORKSPACE /decomposed_subgraphs_renamed"
23- [" DEDUPED_SAMPLES" ]=" $LEVEL_WORKSPACE /decomposed_subgraphs_deduped"
24- [" CUMSUM_NUM_KERNELS" ]=" $LEVEL_WORKSPACE /cumsum_num_kernels"
25- [" FUSIBLE_RANGES" ]=" $LEVEL_WORKSPACE /fusible_subgraph_ranges"
26- [" FUSIBLE_SAMPLES" ]=" $LEVEL_WORKSPACE /fusible_subgraphs"
27- [" RENAMED_FUSIBLE_SAMPLES" ]=" $LEVEL_WORKSPACE /fusible_subgraphs_renamed"
28- [" DEDUPED_FUSIBLE_SAMPLES" ]=" $LEVEL_WORKSPACE /fusible_subgraphs_deduped"
29- [" DEVICE_REWRITTEN_SAMPLES" ]=" $LEVEL_WORKSPACE /fusible_subgraphs_device_rewritten"
30- [" UNITTESTS" ]=" $LEVEL_WORKSPACE /fusible_subgraphs_unittests"
31- )
29+ mkdir -p " $LEVEL_DECOMPOSE_WORKSPACE "
3230
33- function RUN_PIPELINE_STEP() {
34- local step=" $1 "
35- local command=" $2 "
36- shift 2
37-
38- echo " >>> [$step ] Performing: $command "
39- echo " >>>"
40- eval " $command \"\$ @\" " 2>&1 | tee " ${LEVEL_WORKSPACE} /log_${command} _${OP_RANGE} ops_$( date +%Y%m%d_%H%M) .txt"
41- }
31+ model_list=" $GRAPH_NET_ROOT /graph_net/config/small100_torch_samples_list.txt"
32+ range_decomposed_subgraph_list=${LEVEL_DECOMPOSE_WORKSPACE} /range_decomposed_subgraph_sample_list.txt
33+ deduplicated_subgraph_list=${LEVEL_DECOMPOSE_WORKSPACE} /deduplicated_subgraph_sample_list.txt
34+ device_rewrited_subgraph_list=${LEVEL_DECOMPOSE_WORKSPACE} /device_rewrited_subgraph_sample_list.txt
35+ fusible_subgraph_list=${LEVEL_DECOMPOSE_WORKSPACE} /fusible_subgraph_sample_list.txt
36+ deduplicated_fusible_subgraphs_list=${LEVEL_DECOMPOSE_WORKSPACE} /deduplicated_fusible_subgraph_sample_list.txt
4237
4338function generate_subgraph_list() {
4439 local target_dir=" $1 "
@@ -54,49 +49,56 @@ function generate_subgraph_list() {
5449}
5550
5651function generate_op_names() {
52+ echo " >>> [1] Generate op_names.txt for samples in ${model_list} ."
53+ echo " >>>"
5754 python3 -m graph_net.model_path_handler \
58- --model-path-list " $1 " \
55+ --model-path-list $model_list \
5956 --handler-config=$( base64 -w 0 << EOF
6057{
6158 "handler_path": "$GRAPH_NET_ROOT /graph_net/torch/typical_sequence_split_points.py",
6259 "handler_class_name": "OpNamesExtractor",
6360 "handler_config": {
64- "resume": ${RESUME} ,
61+ "resume": true ,
6562 "model_path_prefix": "$GRAPH_NET_ROOT ",
66- "output_dir": "$2 "
63+ "output_dir": "${OP_NAMES_OUTPUT_DIR} "
6764 }
6865}
6966EOF
7067)
7168}
7269
7370function generate_split_point() {
71+ echo " >>> [2] Generate split points for samples in ${model_list} ."
72+ echo " >>> MIN_SEQ_OPS: ${MIN_SEQ_OPS} , MAX_SEQ_OPS: ${MAX_SEQ_OPS} "
73+ echo " >>>"
7474 python3 -m graph_net.torch.typical_sequence_split_points \
75- --model-list " $1 " \
76- --op-names-path-prefix " $2 " \
75+ --model-list " $model_list " \
76+ --op-names-path-prefix " ${OP_NAMES_OUTPUT_DIR} " \
7777 --device " cuda" \
7878 --window-size 64 \
7979 --fold-policy default \
8080 --fold-times 16 \
8181 --min-seq-ops ${MIN_SEQ_OPS} \
8282 --max-seq-ops ${MAX_SEQ_OPS} \
83- --subgraph-ranges-json " $3 /subgraph_ranges_${OP_RANGE} ops.json" \
84- --output-json " $3 /split_results_${OP_RANGE} ops.json"
83+ --subgraph-ranges-json " $LEVEL_DECOMPOSE_WORKSPACE /subgraph_ranges_${OP_RANGE} ops.json" \
84+ --output-json " $LEVEL_DECOMPOSE_WORKSPACE /split_results_${OP_RANGE} ops.json"
8585}
8686
8787function range_decompose() {
88+ echo " >>> [3] Decompose according to split_results.json for samples in ${model_list} ."
89+ echo " >>>"
8890 python3 -m graph_net.model_path_handler \
89- --model-path-list " $1 " \
91+ --model-path-list " $model_list " \
9092 --handler-config=$( base64 -w 0 << EOF
9193{
9294 "handler_path": "$GRAPH_NET_ROOT /graph_net/torch/graph_decomposer.py",
9395 "handler_class_name": "RangeDecomposerExtractor",
9496 "handler_config": {
95- "resume": ${RESUME} ,
97+ "resume": true ,
9698 "model_path_prefix": "$GRAPH_NET_ROOT ",
97- "output_dir": "$3 ",
98- "split_results_path": "$2 /split_results_${OP_RANGE} ops.json",
99- "subgraph_ranges_path": "$2 /subgraph_ranges_${OP_RANGE} ops.json",
99+ "output_dir": "${RANGE_DECOMPOSE_OUTPUT_DIR} ",
100+ "split_results_path": "$LEVEL_DECOMPOSE_WORKSPACE /split_results_${OP_RANGE} ops.json",
101+ "subgraph_ranges_path": "$LEVEL_DECOMPOSE_WORKSPACE /subgraph_ranges_${OP_RANGE} ops.json",
100102 "group_head_and_tail": true,
101103 "chain_style": false
102104 }
@@ -105,101 +107,106 @@ EOF
105107)
106108}
107109
108- function rename_subgraph() {
110+ function rename_decomposed_subgraph() {
111+ echo " >>> [4] Rename subgraph samples under ${RANGE_DECOMPOSE_OUTPUT_DIR} ."
112+ echo " >>>"
109113 python3 -m graph_net.model_path_handler \
110- --model-path-list $1 \
114+ --model-path-list ${range_decomposed_subgraph_list} \
111115 --handler-config=$( base64 -w 0 << EOF
112116{
113117 "handler_path": "$GRAPH_NET_ROOT /graph_net/torch/graph_variable_renamer.py",
114118 "handler_class_name": "GraphVariableRenamer",
115119 "handler_config": {
116120 "device": "cuda",
117- "resume": ${RESUME} ,
118- "model_path_prefix": "$2 ",
121+ "resume": true ,
122+ "model_path_prefix": "${RANGE_DECOMPOSE_OUTPUT_DIR} ",
119123 "data_input_predicator_filepath": "$GRAPH_NET_ROOT /graph_net/torch/constraint_util.py",
120- "data_input_predicator_class_name": "RenamedDataInputPredicator ",
124+ "data_input_predicator_class_name": "NaiveDataInputPredicator ",
121125 "model_runnable_predicator_filepath": "$GRAPH_NET_ROOT /graph_net/torch/constraint_util.py",
122126 "model_runnable_predicator_class_name": "ModelRunnablePredicator",
123- "output_dir": "$3 "
127+ "output_dir": "$GRAPH_VAR_RENAME_OUTPUT_DIR "
124128 }
125129}
126130EOF
127131)
128132}
129133
130- function remove_duplicates() {
134+ function remove_duplicate_renamed_graphs() {
135+ echo " >>> [5] Remove duplicated subgraph samples under ${GRAPH_VAR_RENAME_OUTPUT_DIR} ."
136+ echo " >>>"
131137 python3 -m graph_net.tools.deduplicated \
132- --samples-dir " $1 " \
133- --target-dir " $2 "
138+ --samples-dir ${GRAPH_VAR_RENAME_OUTPUT_DIR} \
139+ --target-dir ${DEDUPLICATED_OUTPUT_DIR}
134140}
135141
136142function rewrite_device() {
143+ echo " >>> [6] Rewrite devices for subgraph samples under ${DEDUPLICATED_OUTPUT_DIR} ."
144+ echo " >>>"
137145 python3 -m graph_net.model_path_handler \
138- --model-path-list " $1 " \
146+ --model-path-list ${deduplicated_subgraph_list} \
139147 --handler-config=$( base64 -w 0 << EOF
140148{
141149 "handler_path": "$GRAPH_NET_ROOT /graph_net/torch/sample_passes/device_rewrite_sample_pass.py",
142150 "handler_class_name": "DeviceRewriteSamplePass",
143151 "handler_config": {
144152 "device": "cuda",
145- "resume": ${RESUME} ,
146- "model_path_prefix": "$2 ",
147- "output_dir": "$3 "
153+ "resume": true ,
154+ "model_path_prefix": "${DEDUPLICATED_OUTPUT_DIR} ",
155+ "output_dir": "${DEVICE_REWRITED_OUTPUT_DIR} "
148156 }
149157}
150158EOF
151159)
152160}
153161
154- function cumsum_num_kernels() {
162+ function gen_fusible_subgraphs() {
163+ echo " >>> [7] Generate fusible subgraphs for subgraph samples under ${DEVICE_REWRITED_OUTPUT_DIR} ."
164+ echo " >>>"
155165 python3 -m graph_net.model_path_handler \
156166 --use-subprocess \
157- --model-path-list " $1 " \
167+ --model-path-list " $device_rewrited_subgraph_list " \
158168 --handler-config $( base64 -w 0 << EOF
159169{
160170 "handler_path": "$GRAPH_NET_ROOT /graph_net/torch/sample_passes/cumsum_num_kernels_generator.py",
161171 "handler_class_name": "CumSumNumKernelsGenerator",
162172 "handler_config": {
163173 "output_json_file_name": "cumsum_num_kernels.json",
164- "model_path_prefix": "$2 ",
165- "output_dir": "$3 ",
174+ "model_path_prefix": "${DEVICE_REWRITED_OUTPUT_DIR} ",
175+ "output_dir": "$CUMSUM_NUM_KERNELS_DIR ",
166176 "device": "cuda",
167177 "resume": ${RESUME}
168178 }
169179}
170180EOF
171181)
172- }
173- function gen_fusible_subgraphs_ranges(){
182+
174183 python3 -m graph_net.model_path_handler \
175- --model-path-list " $1 " \
184+ --model-path-list " $device_rewrited_subgraph_list " \
176185 --handler-config $( base64 -w 0 << EOF
177186{
178187 "handler_path": "$GRAPH_NET_ROOT /graph_net/sample_pass/fusible_subgraph_ranges_generator.py",
179188 "handler_class_name": "FusibleSubgraphRangesGenerator",
180189 "handler_config": {
181- "model_path_prefix": "$2 ",
190+ "model_path_prefix": "$CUMSUM_NUM_KERNELS_DIR ",
182191 "input_json_file_name": "cumsum_num_kernels.json",
183192 "output_json_file_name": "fusible_subgraph_ranges.json",
184- "output_dir": "$3 ",
193+ "output_dir": "$FUSIBLE_SUBGRAPH_RANGES_DIR ",
185194 "resume": ${RESUME}
186195 }
187196}
188197EOF
189198)
190- }
191-
192- function gen_fusible_subgraphs() {
199+
193200 python3 -m graph_net.model_path_handler \
194- --model-path-list " $1 " \
201+ --model-path-list " $device_rewrited_subgraph_list " \
195202 --handler-config $( base64 -w 0 << EOF
196203{
197204 "handler_path": "$GRAPH_NET_ROOT /graph_net/torch/sample_passes/subgraph_generator.py",
198205 "handler_class_name": "SubgraphGenerator",
199206 "handler_config": {
200- "model_path_prefix": "$2 ",
201- "output_dir": "$4 ",
202- "subgraph_ranges_json_root": "$3 ",
207+ "model_path_prefix": "${DEVICE_REWRITED_OUTPUT_DIR} ",
208+ "output_dir": "$FUSIBLE_SUBGRAPH_SAMPLES_DIR ",
209+ "subgraph_ranges_json_root": "$FUSIBLE_SUBGRAPH_RANGES_DIR ",
203210 "device": "cuda",
204211 "resume": ${RESUME}
205212 }
@@ -208,21 +215,55 @@ EOF
208215)
209216}
210217
218+ function rename_fusible_subgraph() {
219+ echo " >>> [8] Rename subgraph samples under ${FUSIBLE_SUBGRAPH_SAMPLES_DIR} ."
220+ echo " >>>"
221+ python3 -m graph_net.model_path_handler \
222+ --model-path-list ${range_decomposed_subgraph_list} \
223+ --handler-config=$( base64 -w 0 << EOF
224+ {
225+ "handler_path": "$GRAPH_NET_ROOT /graph_net/torch/graph_variable_renamer.py",
226+ "handler_class_name": "GraphVariableRenamer",
227+ "handler_config": {
228+ "device": "cuda",
229+ "resume": true,
230+ "model_path_prefix": "${FUSIBLE_SUBGRAPH_SAMPLES_DIR} ",
231+ "data_input_predicator_filepath": "$GRAPH_NET_ROOT /graph_net/torch/constraint_util.py",
232+ "data_input_predicator_class_name": "RenamedDataInputPredicator",
233+ "model_runnable_predicator_filepath": "$GRAPH_NET_ROOT /graph_net/torch/constraint_util.py",
234+ "model_runnable_predicator_class_name": "ModelRunnablePredicator",
235+ "output_dir": "$RENAMED_FUSIBLE_SUBGRAPH_DIR "
236+ }
237+ }
238+ EOF
239+ )
240+ }
241+
242+ function remove_duplicate_fusible_graphs() {
243+ echo " >>> [9] Remove duplicated subgraph samples under ${RENAMED_FUSIBLE_SUBGRAPH_DIR} ."
244+ echo " >>>"
245+ python3 -m graph_net.tools.deduplicated \
246+ --samples-dir ${RENAMED_FUSIBLE_SUBGRAPH_DIR} \
247+ --target-dir ${DEDUPLICATED_FUSIBLE_SUBGRAPH_DIR}
248+ }
249+
211250function generate_unittests() {
251+ echo " >>> [10] Generate unittests for subgraph samples under ${DEDUPLICATED_FUSIBLE_SUBGRAPH_DIR} ."
252+ echo " >>>"
212253 python3 -m graph_net.model_path_handler \
213- --model-path-list $1 \
254+ --model-path-list ${deduplicated_fusible_subgraphs_list} \
214255 --handler-config=$( base64 -w 0 << EOF
215256{
216257 "handler_path": "$GRAPH_NET_ROOT /graph_net/sample_pass/agent_unittest_generator.py",
217258 "handler_class_name": "AgentUnittestGeneratorPass",
218259 "handler_config": {
219260 "framework": "torch",
220- "model_path_prefix": "$2 ",
221- "output_dir": "$3 ",
261+ "model_path_prefix": "${DEVICE_REWRITED_OUTPUT_DIR} ",
262+ "output_dir": "$UNITTESTS_OUTPUT_DIR ",
222263 "device": "cuda",
223264 "generate_main": false,
224265 "try_run": true,
225- "resume": ${RESUME} ,
266+ "resume": true ,
226267 "data_input_predicator_filepath": "$GRAPH_NET_ROOT /graph_net/torch/constraint_util.py",
227268 "data_input_predicator_class_name": "RenamedDataInputPredicator"
228269 }
@@ -232,33 +273,29 @@ EOF
232273}
233274
234275main () {
235- RUN_PIPELINE_STEP " 1" generate_op_names " $model_list " ${DIRS["OP_NAMES"]}
236- RUN_PIPELINE_STEP " 2" generate_split_point " $model_list " ${DIRS["OP_NAMES"]} ${LEVEL_WORKSPACE}
237- RUN_PIPELINE_STEP " 3" range_decompose " $model_list " ${LEVEL_WORKSPACE} ${DIRS["RANGE_DECOMPOSE_SAMPLES"]}
276+ timestamp=` date +%Y%m%d_%H%M`
277+ suffix=" ${OP_RANGE} ops_${timestamp} "
278+
279+ generate_op_names 2>&1 | tee ${LEVEL_DECOMPOSE_WORKSPACE} /log_op_names_${suffix} .txt
280+ generate_split_point 2>&1 | tee ${LEVEL_DECOMPOSE_WORKSPACE} /log_split_point_${suffix} .txt
281+ range_decompose 2>&1 | tee ${LEVEL_DECOMPOSE_WORKSPACE} /log_range_decompose_${suffix} .txt
238282
239- range_decomposed_subgraphs_list=" $LEVEL_WORKSPACE /range_decomposed_subgraph_sample_list.txt"
240- generate_subgraph_list ${DIRS["RANGE_DECOMPOSE_SAMPLES"]} $range_decomposed_subgraphs_list
241- RUN_PIPELINE_STEP " 4" rename_subgraph " $range_decomposed_subgraphs_list " ${DIRS["RANGE_DECOMPOSE_SAMPLES"]} ${DIRS["RENAMED_SAMPLES"]}
242- RUN_PIPELINE_STEP " 5" remove_duplicates ${DIRS["RENAMED_SAMPLES"]} ${DIRS["DEDUPED_SAMPLES"]}
283+ generate_subgraph_list ${RANGE_DECOMPOSE_OUTPUT_DIR} ${range_decomposed_subgraph_list}
284+ rename_decomposed_subgraph 2>&1 | tee ${LEVEL_DECOMPOSE_WORKSPACE} /log_rename_decomposed_subgraph_${suffix} .txt
285+ remove_duplicate_renamed_graphs 2>&1 | tee ${LEVEL_DECOMPOSE_WORKSPACE} /log_remove_duplicate_renamed_graphs_${suffix} .txt
243286
244- deduped_subgraphs_list=" $LEVEL_WORKSPACE /deduplicated_subgraph_sample_list.txt"
245- generate_subgraph_list ${DIRS["DEDUPED_SAMPLES"]} $deduped_subgraphs_list
246- RUN_PIPELINE_STEP " 6" cumsum_num_kernels " $deduped_subgraphs_list " ${DIRS["DEDUPED_SAMPLES"]} ${DIRS["CUMSUM_NUM_KERNELS"]}
247- RUN_PIPELINE_STEP " 7" gen_fusible_subgraphs_ranges " $deduped_subgraphs_list " ${DIRS["CUMSUM_NUM_KERNELS"]} ${DIRS["FUSIBLE_RANGES"]}
248- RUN_PIPELINE_STEP " 8" gen_fusible_subgraphs " $deduped_subgraphs_list " ${DIRS["DEDUPED_SAMPLES"]} ${DIRS["FUSIBLE_RANGES"]} ${DIRS["FUSIBLE_SAMPLES"]}
287+ generate_subgraph_list ${DEDUPLICATED_OUTPUT_DIR} ${deduplicated_subgraph_list}
288+ rewrite_device 2>&1 | tee ${LEVEL_DECOMPOSE_WORKSPACE} /log_rewrite_device_${suffix} .txt
249289
250- fusible_subgraphs_list=" $LEVEL_WORKSPACE /fusible_subgraphs_list.txt"
251- generate_subgraph_list ${DIRS["FUSIBLE_SAMPLES"]} $fusible_subgraphs_list
252- RUN_PIPELINE_STEP " 9" rename_subgraph " $fusible_subgraphs_list " ${DIRS["FUSIBLE_SAMPLES"]} ${DIRS["RENAMED_FUSIBLE_SAMPLES"]}
253- RUN_PIPELINE_STEP " 10" remove_duplicates ${DIRS["RENAMED_FUSIBLE_SAMPLES"]} ${DIRS["DEDUPED_FUSIBLE_SAMPLES"]}
290+ generate_subgraph_list ${DEVICE_REWRITED_OUTPUT_DIR} ${device_rewrited_subgraph_list}
291+ gen_fusible_subgraphs 2>&1 | tee ${LEVEL_DECOMPOSE_WORKSPACE} /log_fusible_subgraphs_${suffix} .txt
254292
255- deduped_fusible_subgraphs_list= " $LEVEL_WORKSPACE /deduplicated_fusible_subgraph_sample_list.txt "
256- generate_subgraph_list ${DIRS["DEDUPED_FUSIBLE_SAMPLES"]} $deduped_fusible_subgraphs_list
257- RUN_PIPELINE_STEP " 11 " rewrite_device " $deduped_fusible_subgraphs_list " ${DIRS["DEDUPED_FUSIBLE_SAMPLES"]} ${DIRS["DEVICE_REWRITTEN_SAMPLES"]}
293+ generate_subgraph_list ${FUSIBLE_SUBGRAPH_SAMPLES_DIR} ${fusible_subgraph_list}
294+ rename_fusible_subgraph 2>&1 | tee ${LEVEL_DECOMPOSE_WORKSPACE} /log_rename_fusible_subgraph_ ${suffix} .txt
295+ remove_duplicate_fusible_graphs 2>&1 | tee ${LEVEL_DECOMPOSE_WORKSPACE} /log_remove_duplicate_fusible_graphs_ ${suffix} .txt
258296
259- device_rewrited_subgraphs_list=" $LEVEL_WORKSPACE /device_rewrited_fusible_subgraph_sample_list.txt"
260- generate_subgraph_list ${DIRS["DEVICE_REWRITTEN_SAMPLES"]} $device_rewrited_subgraphs_list
261- RUN_PIPELINE_STEP " 12" generate_unittests " $device_rewrited_subgraphs_list " ${DIRS["DEVICE_REWRITTEN_SAMPLES"]} ${DIRS["UNITTESTS"]}
297+ generate_subgraph_list ${DEDUPLICATED_FUSIBLE_SUBGRAPH_DIR} ${deduplicated_fusible_subgraphs_list}
298+ generate_unittests 2>&1 | tee ${LEVEL_DECOMPOSE_WORKSPACE} /log_unittests_${suffix} .txt
262299}
263300
264301main
0 commit comments