comaniac opened a new pull request #6713:
URL: https://github.com/apache/incubator-tvm/pull/6713


   The previous implementation of initial population sampling treat a state to 
be valid as long as we didn't encounter any problem when applying the initial 
population rules. However, it's possible that all states outputted by this 
phase cannot be successfully either lowered, extracted (features), or passed 
the GPU code verification (due to invalid thread number or memory usage). In 
this case, the evo search is trapped in a set of invalid states and it's 
inefficient for it to find a valid point.
   
   In this PR, we improved the initial population sampling to perform the same 
process as we did in the evo search. Specifically, all states have to be 
lowered and estimated to make sure they are valid. Note that this will also 
increase the time of sampling initial population. Here is an example log of 
tuning a forward conv2d (last layer in ResNet) on Nvidia T4:
   
   ```
   ------------------------------------------------------------
   -------------------------  [ Search ]
   ------------------------------------------------------------
   Generate Sketches               #s: 1
   Encountered 331 errors during feature extraction, which are safely ignored.
   Sample Iter: 1  #Pop: 66        #Target: 2048   fail_ct: 1982   Time 
elapsed: 1.25
   Encountered 345 errors during feature extraction, which are safely ignored.
   Sample Iter: 2  #Pop: 133       #Target: 2048   fail_ct: 3963   Time 
elapsed: 2.53
   Encountered 338 errors during feature extraction, which are safely ignored.
   Sample Iter: 3  #Pop: 181       #Target: 2048   fail_ct: 5963   Time 
elapsed: 3.81
   Encountered 376 errors during feature extraction, which are safely ignored.
   Sample Iter: 4  #Pop: 242       #Target: 2048   fail_ct: 7950   Time 
elapsed: 5.19
   Encountered 351 errors during feature extraction, which are safely ignored.
   Sample Iter: 5  #Pop: 303       #Target: 2048   fail_ct: 9937   Time 
elapsed: 6.48
   Encountered 350 errors during feature extraction, which are safely ignored.
   Sample Iter: 6  #Pop: 361       #Target: 2048   fail_ct: 11927  Time 
elapsed: 7.78
   Encountered 338 errors during feature extraction, which are safely ignored.
   Sample Iter: 7  #Pop: 415       #Target: 2048   fail_ct: 13921  Time 
elapsed: 9.06
   Encountered 344 errors during feature extraction, which are safely ignored.
   Sample Iter: 8  #Pop: 485       #Target: 2048   fail_ct: 15899  Time 
elapsed: 10.38
   Encountered 343 errors during feature extraction, which are safely ignored.
   Sample Iter: 9  #Pop: 539       #Target: 2048   fail_ct: 17893  Time 
elapsed: 11.68
   Encountered 361 errors during feature extraction, which are safely ignored.
   Sample Iter: 10 #Pop: 613       #Target: 2048   fail_ct: 19867  Time 
elapsed: 13.03
   Encountered 357 errors during feature extraction, which are safely ignored.
   Sample Iter: 11 #Pop: 670       #Target: 2048   fail_ct: 21858  Time 
elapsed: 14.38
   Encountered 349 errors during feature extraction, which are safely ignored.
   Sample Iter: 12 #Pop: 739       #Target: 2048   fail_ct: 23837  Time 
elapsed: 15.68
   Encountered 347 errors during feature extraction, which are safely ignored.
   Sample Iter: 13 #Pop: 799       #Target: 2048   fail_ct: 25825  Time 
elapsed: 17.02
   Encountered 358 errors during feature extraction, which are safely ignored.
   Sample Iter: 14 #Pop: 842       #Target: 2048   fail_ct: 27830  Time 
elapsed: 18.36
   Encountered 339 errors during feature extraction, which are safely ignored.
   Sample Iter: 15 #Pop: 893       #Target: 2048   fail_ct: 29827  Time 
elapsed: 19.64
   Encountered 364 errors during feature extraction, which are safely ignored.
   Sample Iter: 16 #Pop: 947       #Target: 2048   fail_ct: 31821  Time 
elapsed: 20.99
   Encountered 337 errors during feature extraction, which are safely ignored.
   Sample Iter: 17 #Pop: 997       #Target: 2048   fail_ct: 33819  Time 
elapsed: 22.27
   Encountered 344 errors during feature extraction, which are safely ignored.
   Sample Iter: 18 #Pop: 1052      #Target: 2048   fail_ct: 35812  Time 
elapsed: 23.63
   Encountered 347 errors during feature extraction, which are safely ignored.
   Sample Iter: 19 #Pop: 1112      #Target: 2048   fail_ct: 37800  Time 
elapsed: 24.96
   Encountered 330 errors during feature extraction, which are safely ignored.
   Sample Iter: 20 #Pop: 1174      #Target: 2048   fail_ct: 39786  Time 
elapsed: 26.23
   Encountered 348 errors during feature extraction, which are safely ignored.
   Sample Iter: 21 #Pop: 1232      #Target: 2048   fail_ct: 41776  Time 
elapsed: 27.53
   Encountered 346 errors during feature extraction, which are safely ignored.
   Sample Iter: 22 #Pop: 1275      #Target: 2048   fail_ct: 43781  Time 
elapsed: 28.82
   Encountered 357 errors during feature extraction, which are safely ignored.
   Sample Iter: 23 #Pop: 1319      #Target: 2048   fail_ct: 45785  Time 
elapsed: 30.16
   Encountered 349 errors during feature extraction, which are safely ignored.
   Sample Iter: 24 #Pop: 1380      #Target: 2048   fail_ct: 47772  Time 
elapsed: 31.48
   Encountered 317 errors during feature extraction, which are safely ignored.
   Sample Iter: 25 #Pop: 1424      #Target: 2048   fail_ct: 49776  Time 
elapsed: 32.70
   Encountered 323 errors during feature extraction, which are safely ignored.
   Sample Iter: 26 #Pop: 1473      #Target: 2048   fail_ct: 51775  Time 
elapsed: 33.96
   Encountered 326 errors during feature extraction, which are safely ignored.
   Sample Iter: 27 #Pop: 1541      #Target: 2048   fail_ct: 53755  Time 
elapsed: 35.21
   Encountered 311 errors during feature extraction, which are safely ignored.
   Sample Iter: 28 #Pop: 1603      #Target: 2048   fail_ct: 55741  Time 
elapsed: 36.42
   Encountered 348 errors during feature extraction, which are safely ignored.
   Sample Iter: 29 #Pop: 1662      #Target: 2048   fail_ct: 57730  Time 
elapsed: 37.73
   Encountered 322 errors during feature extraction, which are safely ignored.
   Sample Iter: 30 #Pop: 1719      #Target: 2048   fail_ct: 59721  Time 
elapsed: 39.00
   Encountered 369 errors during feature extraction, which are safely ignored.
   Sample Iter: 31 #Pop: 1782      #Target: 2048   fail_ct: 61706  Time 
elapsed: 40.36
   Encountered 351 errors during feature extraction, which are safely ignored.
   Sample Iter: 32 #Pop: 1853      #Target: 2048   fail_ct: 63683  Time 
elapsed: 41.68
   Encountered 329 errors during feature extraction, which are safely ignored.
   Sample Iter: 33 #Pop: 1922      #Target: 2048   fail_ct: 65662  Time 
elapsed: 42.94
   Encountered 328 errors during feature extraction, which are safely ignored.
   Sample Iter: 34 #Pop: 1970      #Target: 2048   fail_ct: 67662  Time 
elapsed: 44.17
   Encountered 353 errors during feature extraction, which are safely ignored.
   Sample Iter: 35 #Pop: 2020      #Target: 2048   fail_ct: 69660  Time 
elapsed: 45.47
   Encountered 331 errors during feature extraction, which are safely ignored.
   Sample Iter: 36 #Pop: 2078      #Target: 2048   fail_ct: 71650  Time 
elapsed: 46.76
   Sample Initial Population       #s: 2078        fail_ct: 71650  Time 
elapsed: 46.78
   /home/ubuntu/.local/lib/python3.6/site-packages/numpy/core/_methods.py:34: 
RuntimeWarning: invalid value encountered in reduce
     return umr_minimum(a, axis, None, out, keepdims, initial, where)
   /home/ubuntu/.local/lib/python3.6/site-packages/numpy/core/_methods.py:30: 
RuntimeWarning: invalid value encountered in reduce
     return umr_maximum(a, axis, None, out, keepdims, initial, where)
   GA Iter: 0      Max score: 0.9988       Min score: 0.9417       #Pop: 2078   
   #M+: 0  #M-: 0
   Encountered 333 errors during feature extraction, which are safely ignored.
   Encountered 310 errors during feature extraction, which are safely ignored.
   Encountered 283 errors during feature extraction, which are safely ignored.
   Encountered 290 errors during feature extraction, which are safely ignored.
   Encountered 270 errors during feature extraction, which are safely ignored.
   GA Iter: 5      Max score: 0.9999       Min score: 0.9880       #Pop: 2048   
   #M+: 1454       #M-: 0
   Encountered 251 errors during feature extraction, which are safely ignored.
   Encountered 266 errors during feature extraction, which are safely ignored.
   Encountered 244 errors during feature extraction, which are safely ignored.
   Encountered 250 errors during feature extraction, which are safely ignored.
   Encountered 265 errors during feature extraction, which are safely ignored.
   GA Iter: 10     Max score: 0.9999       Min score: 0.9930       #Pop: 2048   
   #M+: 1583       #M-: 0
   EvolutionarySearch              #s: 128 Time elapsed: 33.14
   ------------------------------------------------------------
   -------------------------  [ Measure ]
   ------------------------------------------------------------
   Get 64 programs for measure. (This may take a while)
   ................................******************E**********E****
   # skip logs. Max throughput 2383.68 GFlop/s
   ................................*************************E*T******
   # skip logs. Max throughput 2383.68 GFlop/s
   Median execution time: 2.911 ms
   ```
   
   cc @merrymercy @jcf94 


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to