You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mxnet.apache.org by GitBox <gi...@apache.org> on 2018/11/29 05:41:34 UTC

[GitHub] XiaotaoChen commented on issue #12926: parallelize NDArray::Copy when data size is large

XiaotaoChen commented on issue #12926: parallelize NDArray::Copy<cpu, cpu> when data size is large
URL: https://github.com/apache/incubator-mxnet/pull/12926#issuecomment-442713424
 
 
   @anirudh2290 thanks for your feedback. Because my limit of p2.8xlarge is 0, So i tested this on r4.8xlarge instance(16 physical cores same with p2.8xlarge instance) right now.  the speedup is consistent with my previous results. According to your log, the `default copy` and `parallelize copy` seem like both running in single thread. Have you set OMP_THREADS or other environmental variable ?  my test log as below.
   
   ```
   *******************the default copy perf test*******************
   size: 20000, shape:(20000, 1)
   mx.nd.copy avg time: 89.907646 (us)
   mx.nd.copyto avg time: 73.647499 (us)
   mx.nd.asnumpy avg time: 27.632713 (us)
   mx.nd.array avg time: 140.659014 (us)
   mx.nd.ones avg time: 80.291430 (us)
   mx.nd.zeros avg time: 64.857801 (us)
   size: 200000, shape:(20000, 10)
   mx.nd.copy avg time: 243.878365 (us)
   mx.nd.copyto avg time: 185.608864 (us)
   mx.nd.asnumpy avg time: 86.077054 (us)
   mx.nd.array avg time: 1034.633319 (us)
   mx.nd.ones avg time: 160.853068 (us)
   mx.nd.zeros avg time: 163.189570 (us)
   size: 2000000, shape:(20000, 100)
   mx.nd.copy avg time: 1628.462474 (us)
   mx.nd.copyto avg time: 1602.705320 (us)
   mx.nd.asnumpy avg time: 1416.873932 (us)
   mx.nd.array avg time: 4925.394058 (us)
   mx.nd.ones avg time: 199.715296 (us)
   mx.nd.zeros avg time: 169.722239 (us)
   size: 20000000, shape:(20000, 1000)
   mx.nd.copy avg time: 34876.290957 (us)
   mx.nd.copyto avg time: 14724.659920 (us)
   mx.nd.asnumpy avg time: 27063.266436 (us)
   mx.nd.array avg time: 68980.081876 (us)
   mx.nd.ones avg time: 3477.557500 (us)
   mx.nd.zeros avg time: 3251.512845 (us)
   size: 200000000, shape:(20000, 10000)
   mx.nd.copy avg time: 318985.883395 (us)
   mx.nd.copyto avg time: 123453.982671 (us)
   mx.nd.asnumpy avg time: 301323.723793 (us)
   mx.nd.array avg time: 671578.780810 (us)
   mx.nd.ones avg time: 30080.588659 (us)
   mx.nd.zeros avg time: 30204.280217 (us)
   *******************parallelize copy perf test*******************
   size: 20000, shape:(20000, 1)
   mx.nd.copy avg time: 87.475777 (us)
   mx.nd.copyto avg time: 74.092547 (us)
   mx.nd.asnumpy avg time: 27.672450 (us)
   mx.nd.array avg time: 139.975548 (us)
   mx.nd.ones avg time: 69.546700 (us)
   mx.nd.zeros avg time: 65.541267 (us)
   size: 200000, shape:(20000, 10)
   mx.nd.copy avg time: 1151.879628 (us)
   mx.nd.copyto avg time: 151.093801 (us)
   mx.nd.asnumpy avg time: 41.262309 (us)
   mx.nd.array avg time: 742.316246 (us)
   mx.nd.ones avg time: 110.252698 (us)
   mx.nd.zeros avg time: 108.536084 (us)
   size: 2000000, shape:(20000, 100)
   mx.nd.copy avg time: 914.112727 (us)
   mx.nd.copyto avg time: 1570.677757 (us)
   mx.nd.asnumpy avg time: 210.316976 (us)
   mx.nd.array avg time: 4106.410344 (us)
   mx.nd.ones avg time: 218.836466 (us)
   mx.nd.zeros avg time: 188.517570 (us)
   size: 20000000, shape:(20000, 1000)
   mx.nd.copy avg time: 6437.516212 (us)
   mx.nd.copyto avg time: 5406.737328 (us)
   mx.nd.asnumpy avg time: 6036.376953 (us)
   mx.nd.array avg time: 44171.086947 (us)
   mx.nd.ones avg time: 3299.037615 (us)
   mx.nd.zeros avg time: 3055.596352 (us)
   size: 200000000, shape:(20000, 10000)
   mx.nd.copy avg time: 58142.248789 (us)
   mx.nd.copyto avg time: 45039.542516 (us)
   mx.nd.asnumpy avg time: 44913.562139 (us)
   mx.nd.array avg time: 416787.425677 (us)
   mx.nd.ones avg time: 21619.351705 (us)
   mx.nd.zeros avg time: 19476.739566 (us)
   ```

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services