## Problem statement

_Motivation_: Eigen has improved Convolution Op performance in Tensorflow: 
https://www.linaro.org/blog/optimizing-tensorflow-convolution-performance-on-aarch64/

_GOAL_: Evaluate if MXNet performance with eigen BLAS on Graviton instances 
compared to OpenBLAS and ArmPL. Make recommendation regarding 

_Tasks:_

1. Install Eigen(either from source or apt install to ensure native 
installation, https://gitlab.com/libeigen/eigen/-/blob/master/INSTALL).
2. Build MXNet on graviton natively. i.e. All dependencies of MXNet should be 
either installed via apt-get install or build using architecture = Aarch64 from 
source on graviton instance. Also,
    1. Set Eigen as blas engine for MXNet. 
https://eigen.tuxfamily.org/dox/TopicUsingBlasLapack.html
        if there are no signature changes required for eigen blas integration 
with MXNet then only changes required are for  linking MXNet to Eigen BLAS.
3. Check correctness of build but running unittests in file test_operator.py 
after build succeeds
4. Run Benchmarks for following models (latency and throughput, p50,p90,avg) on 
ARM instance
    1. Mobilenet (MobileNets are small, low-latency, low-power models 
parameterized to meet the resource constraints of a variety of use cases)
    2. MaskRCNN
    3. resernet50_v2
    4. bert
5. Update build scripts to incorporate Eigen as BLAS engine and compare perf 
no.‘s with ArmPL and OpenBLAS.
6. Compare performance of certain MXNet operators that utilize BLAS ops. 


_Testing_ 
Test for correctness: Run operator tests for correctness, verify model 
inference outputs with CPU outputs 


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-mxnet/issues/20185

Reply via email to