From a65ef0c7fdeeb4ef0b29d17d8aadae9bcc9ba6eb Mon Sep 17 00:00:00 2001 From: chen <501339635@qq.com> Date: Tue, 14 Jul 2020 14:37:39 +0800 Subject: [PATCH] update amexec fix issue --- amexec/build.sh | 7 ++++--- amexec/inc/sample_process.h | 2 +- amexec/out/amexec | Bin 97776 -> 124736 bytes amexec/src/acl.json | 1 + amexec/src/main.cpp | 37 +++++++++++++++++++++------------- amexec/src/model_process.cpp | 4 +++- amexec/src/sample_process.cpp | 22 +++++++++----------- amexec/src/utils.cpp | 7 +++++-- 8 files changed, 47 insertions(+), 33 deletions(-) create mode 100644 amexec/src/acl.json diff --git a/amexec/build.sh b/amexec/build.sh index 3399fa8..6c3e231 100755 --- a/amexec/build.sh +++ b/amexec/build.sh @@ -1,8 +1,9 @@ +g="$1" +locate="$2" rm -rf build mkdir -p build/intermediates/host cd build/intermediates/host -cmake ../../../src -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_SKIP_RPATH=TRUE +cmake ../../../src -DCMAKE_CXX_COMPILER=${g} -DCMAKE_SKIP_RPATH=TRUE make cd ../../../out -mv main amexec - +mv main ${locate}/amexec \ No newline at end of file diff --git a/amexec/inc/sample_process.h b/amexec/inc/sample_process.h index afc7f06..425b45f 100755 --- a/amexec/inc/sample_process.h +++ b/amexec/inc/sample_process.h @@ -39,7 +39,7 @@ public: * @brief sample process * @return result */ - Result Process(vector& params, vector& inputs); + Result Process(map& params, vector& inputs); private: void DestroyResource(); diff --git a/amexec/out/amexec b/amexec/out/amexec index 6673ffb6e55aaea283270b2cdfdeabe9293ec3a9..aa42e9e9916bab076b8f6157f247ee1ebf5d711b 100755 GIT binary patch literal 124736 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℞CXtU5e>pCIZV1+AL-4K;XRuZe!8*j->xbXWSnhce zXFp!2vAPL;r3t(upcSB{_ll@@HSNm{P808a8+}K%a{;wga(Fx0_)h3U@BSeR-X#s7 zx@8{v?ni!aK4i>iy)&fV&AE^Zm^gF4srS;zvtlXnZF)AabT<04*1JI%dOu2f7lCJy zgWmau-rz6w2Hkn<4cbohZt!TmD@gAmttVuWdZTWsH}sWyFM^DVl-|_VnedAU@3a`&-Q%F|B12#BmimJ3y!8d``RIEs>3fgX53)#oQMc3= zdj5#oxe_u~ayu*kK88LJ0cQF4?#Sz6x77Rf!0z9==zSsST?3vq4tiG_dV{~3_dbE% z;CViJpZ)-P*JwQHQ#hKIowL{f6G)FZBl9dFu_@^U?c0()&TJCuEU&qi(4; z^p)-WFl2l$k zBfVE^Jt2$K8+A*)p|8~YQONix>#gUlH0TYiL%;s9Q2qMHf!&M2+o`<=liq8=bFG8k zj~aS|ztkIa=dCwr&qwc%-iO|6wVseg>W#Xk-q2U-y$&+2W4&jndCL#IfziBZ^zZh_ zI>g{KZ>__gyo=sPQRm(#!ShK6z1JCfgTK@pbmy%%XwOIQ7Sj7kttVuWdZTWsH}sWy zKMfh5PSkrSVxb7I4tlTEdan(%_XTgK_TEH#ZvxLv4thUr=nei-Z_u5$-k?1ny;qRl zo3x&gMe2>ZrQXn2>isNad^S<<=DyGyn5Fl*$fM#MwRhyvz_~kJ+B-;kKL?)AIq3bY zp*Q$Ty+L>0dV}_S^v)u^pVN9m7O6MtmU=^9srU1c@p+}Uj8hN;N02xC8!?Jd{rc6w z?!SYlQ#+3!eO~~t7aa6`-q07krM{p$Z+$^~KKdq;zAtF~AdA!&bxVDrC(U1oUmIu* zbnAQ3b+kuH>!6EtN^2_0_tR;LPH9a=crTsO`!mYZnu=2T9s{L5oqBajK5`4mg!B%i z*8`{e?KM>&I+t#(slEhE(pqaO{H=wAHB~L%@z`ss%eicQ;+pDl*H{Ir*Xb?U=ZW-t6}uksPvtB_^l`zQ?}a#6xwMGusb`+!(eqHV(w>=WJl zZ>&A2uK0T^tQ!WXeZVBO$DRXusGVp%dySOU7rvTODo1DR2WQH6jDCGKsUCe{F4|1K zPlTR+&{EsVJZv?{%)@2_%{*+Eiu~sc`V{jy=zE!Y&?lRDtdV_Y9_wmh=HV}APes=a zW&V(_1qrNue$=BH)n@xFO)58h$zVIRB z>0R=NpliatdS8m~^d$Aw-w)95RruY3-a`*y4ZC*$=9WHc@9!~`mwSKMYp~xPNI%ka zv=>ncT6qp1d#Bs!9(%X6KX$Ri1MLq&4*6b${04RWiPo&Td<#9pJ=XN?+=tICbAHc( zy}8{)>%qGXE>Ghk_SHvjq`Jnyr^hItrag4_P1@6wA9T`7&@m%cO?P>Z>58kIW;eAmv-brmj9K88S(f-WSqWxQ&MEkSP zq7AODzrJZq{q@b`>aX84ss8%S*VSMD%=G%}zcr)&`e$d>U!S1YE&AQu)oA}|*ngtW z*{rw3$>ncFi~O&*B_(2!>%br5PGq`HXCQqL?@DIkyo9g5Ut}%LTl7JS*tYpW5#IE+ zCtTnQY{mGpwZNBw6laHlZypn9=X135zAADZ&Qgf!zl>C(-766bAwQ1Jvu^T)e@uRc zl<1FN3Y584bXJe&~tt> zGVRGcYQQ6km|yYezpba_(SMtH7KqOg()X#Ic+3TlzZpFK1wE-P5_xD_f`@r7Y!lj6 zo8hh96e&hRzo1s^H{?v25QOBkkdTh4FwYQUeBR^?fk0jLPe5P*GgI0YQv!uVk zUK!Ab&Z%KuSxmkpZ3tUpE_}DZ@;job2PSCT4_q4l7V4(H6#<`VG!EcBKE1ymJWaf} zm3%qLL*H$DliG=5k?*0M`2GcyC0fqEjb}u24mh{v4HnG`864)Ab1m82i2ZcDB;yZ?xg>qtU>S3H zbsRSmZ9(JOLlk#W9eNETX$$-bw1YuQaShsgccWET3;CKZ-yzm%^C!eQyZ@@{#F!eZ zvqPEsAqi!+qYTw8;~Oml{8pals-h8L_4(B0ze3hERM+)}u8ZE;vW;SOwJ6$VUDuDOF8JyZNfbazC3OkU!@D;*E+V#Bj{cBI_Rbd= zBQduETLSEQU}uSblP^r;Q4`Y06JFiN`%Cr?Gj!E+(u};Cm-Z#+!kq5{A72 zkH%&L>jRAC&Skkb#pV7Lm4V#fkZIR&(-rDG&P|vzW&7=#Df^yS9#|`U;*H1>j76}+ z5UeNLq5CDMYe@9Iw{H8>eQ!+^7j2t>l%M|-&j;f9(U0zXD;4;7k-F`JckX)&eB`@U z%s^V>7OgKfA)dSo9bh2}Aw-pzlU9Bqon0xid1HIIJ8V-n8%As(XnY44*ncj8sB#c{;!S9-V8(vp*rlJMeZYU!mhEypQg%M^N80J}%OC=$b%7WnM%1 z)hE?lENCvTze@Wrt>gP|tHLv;{T^uL9KESqcm;5hiJtunILWQ#>=ynd?2Fj8Jp#H$ zgYFdQXpV+|$L3WTM_6OFl*6AEZU%3vkIw1c3_fIUoa;{IdhwIGjWm8mF3rI2g@}>V zmbY1L8KC$7_Ix5n$hOSX?XVi{fU^nhO}B#=>YPsRs!1l&57<5}_fJR{mQ9(H2k9yWn}ypXxRGO4B@jp0O8rqwT0q77$O!y_LQzP5x7)@Gk;ydKB{D zY|0SK>-dd|ZS*}6I;TMIoRF@jzTgoHHa4vV9nLKH>AOP6^LMSi^j+(L3oiHLd(e2N z*-rI~x*=x;Ymz9I;_5Ki<$jEtSTsAPI7Z=8W!O1kKN zh_RIHzQdTuTZMn5v^&o+*O1+Bft}!od$BJmee0Hvz8m1Sz_Wba77M8^-6SU2+hm=pZ59*e4crlG}_lt8<=g7z~&heeQ z4sx2bv79(!`NmFk#pTGHjF+!67#A0esQUp>D6R67@%lpD@cpl3`ws6ApuHmm~ z8CPo=zXlm;%y|y=+y;#I0se7kCg$-On8&j)k7wgM+1NkD-mdyhBvYhj|Zp6aWJ|C~A{C%WtD|B6RsEn?|ihWx}{pf_)_pg76t}8j8 zI{ag#K3vB*qYfQ!;`a*_%>pgQNYJP?hxPrx^V@rD6>VL@zaU#$i zcDz4ny~r@8js-Q=ok&n)@l0-=9ai5M^nM=kLzb_fqNk zM5LsPT6ZRXcMoHh{LWU)F8Yid+Xboo4JInz8D@SbmHN+4tcw%v=WHLcK@()enyHcO zL-}0Xn>P8g-sf50!6u1qBI5_t9sABd-NQx!noIG!fpT61M*K;}w?2W4($v4Mk zcw;|L{+oyJe}S^1rP-v7F`gKizm+TSG}i!$+dLe9EOi1F?G`q^S>}#(rj7$7Pj_0f17eO&zc+n5>ZH2Kzglr0Z|9D6 z6Fqh;?}pmj;Ji|O)xTYEG3(_Xin!+0<84+4DE zdoR&8E*!a9K5zBZBes2;-pSzi)zZ{&m>tEs>EH>hBd)-2y5QMyJd^Kuu7;1&xH&zr zdluR97OXpNk?;1#n!oK=k2B*E-|Si3l8m$5NVh}3!Dq2Q+)t%z&{ruQ#{PV66#hQA z!LwM<+4A+C#RYvt?!O4z<5?WRnupSZM85<1i;(X0EN(;oJ)&s=M&*tJyF}!k1Sa)9 zq`rfTd#oS2g}0Nua{Yq%USs65UqWmGIlh}9KgEC)+kl50i?Ihi5Onf4Zi+m5o!fug zlf)BwIUb|kenzo6@_&TwXy1Asp1%Qk1l3nCKKw9n^y|5QRw`Ir-*GVIHByx~wsu2siZbR8RY9lh}Us}8(=;J_=x;#H%0t=7ESkuG67M<#}^ zL0;NMObU;b_w{qv5D%+OH#yXGrBzp+uB%Gd^?RiA9pr9s;ML#am92T*rFp%Mbhg2Z z#)dD!#_*?+kQF{7u+|s5Nf%GSB=TFi?tTj8WPG7%P;NJsp|$sIs8c^{FxS`-s*}ot zC(%=Xqdt{@!LQa}Er-D4uowqRh1GTU1SHGe<48Q8G^&LVu`op70 zF^;AlfsWJmsKew_qG>KMXg;uL@-z72KB`?e|JdAKL~4^fui|NW4B3Vhx( zumWHdf9SYoE{$J)%me`+{`d7|wrp;J zJ{f-x0N&~yAgB+&`XZ9mh`S5s>8 zQ1f1cXr0;KsA;B}JlZsmNZ0Tl{roZ->L3#5G)!opa*C4iji?vMgbx?dg zM)lF}dnM|h_*}+TpmScMtKa1#J_E=GNZVZ2=$+|L?J3vQ(3gCEjo2+07O zVJtrH{Q#oB6y?k|<8>3QFWazJMr}rGC=d7&U2H97oJ(NLmI>!J9Cq>8a_Y5CvZWM$iOEPpBeaM;ggNe4fwRJ^$CAdH!%dCq4->Z&oF$3 zd&}Ir{Pc&({R>OWg8tz(e)^-~!D75Rh(BLYS|Oj7*7$?vRiUM$BymMydC(7Nc#R}B z=*tVs@W;*lD0TyQW!5fS7_81J3>BKZP5zp`ICyVqQP96Y(ren${+iPJR5i6+O-yd} zr_p1SiRI(vM)^xCs%k_2lFFJ8bB{j-*D)jvuF)zH!|xbgKD;=8_^jbK4W9>Wc>1-) z*Tnwu)7{kAKck1IPb^dRS`@4ZR^v~=`zseNEGw-D`pYYegJq~4`UfkZ8ve>V2_lUd ztSc<9Dhp1fddI+&b-^P4HP@&TV@fK^gJWhbnN^xmdTULvdQ92fcaJHmEUT<8y{|A- zT3Io=vK+)pt&b(nmvp1i94Mnja4eK@Q+8hVj4>dg4k5Z`nEvf}%Wn@`@MKD-g;}2E(OA7A|`m2J~<)t+>urNVI)j?{_;?nA1 zQ3$pV){HRu!7R*A>b9`5y1X#tPa{)RR{Jw&-#p4+99&pfTNa|s2&uQUV0Za%sI)wo zR$dFIM9Yk&3dg3WQw=0eT$3^3jqsCZQ{!(L>Bgr^Cx?EktGiw~zZJg*E=d zGMJ`#slTkUusB%kFH~ce8ftldSX>)KM^rspO%J0uN0UZu4q$p7|MftQzJQTh57VRk z)xpKJ=uz>3{XQPq-ODctmM$v6z$xb@R~B5JbYTIjF;c4Dsmp3LOu_G*ee(^s+$Bw* zi(wwDsl_lb}E1{`59?93EQcTX;YQzyCe=SX1#g)MtIsRJ{7rc<^3yaFCLpRBRZx+Qq@$M74 zb9nJx9sISEIE?yStdPOKytr&;Fr;SHtkQB09}~zed4lCdRZAUZsja|tiMUDIGqkiS zh$WB^`N~La4lz1ZCx>vqwht>pAr3)?eAS^Fs)Ion?R9(TCXj8I&<@OpVzXKV0uCeK zZ1fC-z-k23{1h1%GC1COd&behq(I_3U2> zxgF4- zFbgvSuT+K?Ck$uI$0CVyGx_Mz3N022)>#rIjx$WsDIYX@ zu#o3yRxFW^CW*5#`Dh@|#m2n^5`&FEz?@*GPUdeZ8r#8j;^Ypb8_su2lL^zFb9HBFX05X1<8eitd^d^O>5E&;fJoPABiovW-4h|jT8@V3R(mTx8 zvttWJif!ZZba{&jO?KIkc!HQzCULqAW9Lvp5*fUvj=kl5g47hxCkYW&RbuLW&RUD`5PoSbf zS}oEIIWX5?bi?)n^;}mzCY5wQX$z-+{d)AE$IDq_p?qLN_IJ^rPYwOA6!P7s^p$)52TQ-$maY-sz! ziI46-TrC9*wH5bZFfW~Y0)cnz*{ia*^K>$NrGBRjqDVh{bzKaWNw84jWU%2`?IS2H@+ zFXkz|vrLXNFE1LzbYE_;R~>b@rQ}hk#1NMjm}4U_G{7TDx_<^9*stj<~$mW9zZ&% zAsRi6^f1zaI8a!H7dO+89zk*-2og*1Y+1?hgI$B`aEI`HXe zRNw&CD5L|ChLBD}x&dhc(j7?akmf}oH_|$!2as+-dJ<_XQXlMl0_h;6lbfQ^ETnZv z%aAr8?S;b#Cy@?AI;=Swor84p=4iAE>A+{A(MF`XNOvKv`WECun*1!}!jIZyZACex z+kb#feWZDNArI2CNH-vz^+U*m7l&Jro>yajdukXjv=qRMq4n(7QNarK1LRy7% z71B1OJCOQ*0{(sBZ%9WW%|V)r^bGzGMjg_VZ^8aZ_x~aq9e)w*@k{VS8bEpicnMPa z%hIcm4nw*H=`5tlzk(ki%|jYNT90%W(nh4MNVgz8f%E{9GCF@8gd}bLV5z}W~9ARp$F1*q$$6F+(;)QtwUOXbOX}$NL!E|KzbbMS)|Dq z!asi-jrx&}LOK~~F4Fl(mm{r5x&`TGq-T&GK$><0?S*t2QXllsK{^QOPNd6`9yo^n ziL~uF{2K=ySH1&#Tr5Nc=^@}PNY5fo!H=V)4S+q6&OsVMT7?wnT%wIg@%}iv2Wbdt z8`8r_ec(6f&uAZ{IA0UZK^j6DLb?Iz8l*drZbpjpi_rr}k0WhEiYAtq=f1hZS9iJR z(q4n*!81G(c{C=`(~RCJS@1P^kF4juoH>%Z+mmlx?Gcw!nKa;jd_oVR{qgF_Hwnhf z=zYqU@zl*5Z_2pfvW&HJyy4&d{w+;A2egrg&}JUcUM^|tJx`@<>?28gd&__SJ0g{Q z>p(mCVYEBZcIil)t7-9szBnYxR>Aj?qJIAZ$c=Lx;sid&f$vv%&Qm=$c9&Hpb4{wQ z<9J^G2>KjS-^*~MjNYbPmAWda>omyY$2h-7@oe!vmA3IJFfIH2??`k>Lo)9I&3bwr z2RlCH-RJ>{cauT05;UVQKg?Hr(x2+Ou?uLRmSiK_V+&}CK~tt^{C7Yv(zk{917EK3 zyEJ|n_zui9X8RF6z7r>Lx+i&NfZmT={B2^f9rWo6_dn&^m;@PSn=*_7%`VWGWy!W# zz;^=QpvtoR8EbuwNkuT&A*kWUvog@7VcwgZNOvRGK{O4ZnFbm+TZ{tDD$s;LlY`WE z1qO+X-c?Wa-gp7z%~;#3v8T5|R|;B^?>Oih!|4CG2W{Y~ zN4`w9nWcSa81Po$0=5HQ@KmpjJ!SbG%VXvJcr*ueTONb|;~sQuhk2|Y$x;QHBcRDj zq=Bt&O5n8~bZ0=PZN=>ovlX?$9?Y3f0f0~)`g;kvS!hVO#U;VSqU1qwjy~3Auihm8r>(jJ!5@>XabGG z_!!d*apLK?E-5p$J%<4oh(E_8fsX7qpEt|S0!<2N?0O4;_X0jkm1X->s&tPl2WwG}?!FK8pDe$&s3jd17a5PT}^> zSlji^1UaUGF6+gZJyUMb{W2H$a_BK%$&qp^aN-*P-U6KZtMB<q1 zS&un9u`Wz)s_ziZEYOH2P?wUK=Lqi_O+@2l05k)iM0}1o(T9USkh>*0A5ft%wk>D>yv4R{sqjryg% zxdo}r8PKKeiqBg-)~EEsS{MFQpvrT*#>Nn;V?1bfg2rtOp`ujBe9)bMETag(cu4a$ zm7fLttk%i*Bpfe3Z^rz`54sJYI}N%ms!y>`c%RkAoCTUj(A0eoYhxM{=Sf}-SaW1< z%z)!&uMIR#|HkJYzkc1c_18Ty^_x?koV;OD(qBCn44(PB-~aZ=uYdEa!@v0DTZbT) zp!#TC@5lO@VrR(2zU8ga^^s2Lpvl2no7$0dq8QPS+gZR1fYZI3K4qYp-w6%zECx*; zXbN!e+m}qdSZ}l;uXNN}r2({SKuhzA?^}|VWk!E!OrqI^`VGl_0<=3oYsyVH?Mbu% zm-o}BNPKG7y~xw}ZYTR}G-bf!Lj6gdGr9k}*Iwo^j9+6((5lR*;zy&(qz zbJchKfYU*f3z`Dl8#J;0;Rl=xng-BJQ#4#x!n{)lnk}G7PoznREjNH>Cunq=abJwZ zMO0S{Xm))J4ek5v0S(Q&hRg|bF6{}mevCY{UvvaC;}swF%Y-;E2Q()^Gf>gU7>L@U z!~ypMuh)2II&KEdDe%-ZY|jKc901K}&~(E3LUIp4V&{p9dahVLPPTJ0L?JaNV&!)$e+;WK5X;M0bMc57&0Zy>uI1_(+LgL zHwQEaL6fEU7&b^;+lN4R0(71A$Mv8&3mU)T)xqxMZ+k#<1~j@~#MU8)fG59^=%2*r zByb;ax;MswSX&a$6#B<1OHdmAA$jN?W#v3U^`-)7!(Q-a%$dFc*kFjaDdsD0kOyZ! zXv;vG_cM2228oD9J$-0zA+R%PhflQla7)m5f_#xAvEH)*o(t%bDnRufA2x$dcyN2h zZ&RBN3_k zA|u3s9=?VVh(>+&BgDxbzEf#pWlvvQnrQ6lYfTetF4#X{#|Uw1m=6V34)-;T6dQ*7 z@IC15!+oblh?e2LHWVK2YaJm@5BIf<5WBAI6&Wc`UReeD){&48GNnlU*L!^jyy7ta z78PN=l)+|+Je?l~+h_Uai20N!dsLxU>?iYi+DOj^Z!)$hH&gMrJ(SMZ&7tQW-+|uZ zfY*1pw`lYFw)7FFlUh9M`-qcWe3)Agbse;-k66{scc!;E(rr~&WDfM9svt@l(#gJn z$WeL1l1KT*Lmc^B{uA0lHJ|nR@a|_#lJ7)!u{~)%Wy`d0N6ZC!n5dWa3(eA|19?cIDEdWzO=4bW*# zcOQb|4c&b$J;l!MJCqmo%c=KZTkMeMfage(SgGBOM3f(GtN+}0E+reT^7!_6#X*m+ z)eC$3uq}DeE9WbAz|YdpEby5HKC{4Q7Wm8ppIP8D3w&mQ&n)nn1wOODXBPPX)&eb) zlxTTbDm_`H(vpW%df*!>tB4I!dCC1?+~L({!i60pc}0G!ReEQ;*gcIIRG#qfk@he%n-s3k@EbMmx9}Q`53}&K8c(zEof;oy;Xl`Sx`n@|@$nYk z9|k1(CtLUgjZd@iFKRqs;q@BNvhXI2&$94+8lPj~$2Fc~;oY!MCOLC0JWb9k{7sFovhaUue2s-)gbe_av%$hAXuQ$FZ`SyF3oqCB1`A)U@rZ@Lpz+NX{tJz7 zvGB7R-)`afI~Y>_9TuLU@tqc)ukl?Ley_&&Sa^fRTP%E=#`jzJYZ^ab;qPetpoQ~1 zzTcYH7+;gcBd|&t-|T|#a=}ly;AdU%_1Vt#wz}Y>Zb+oRLuUJlV+Rs(mVfyyXS~$~ zKjVhacIK1wd1t)Q1wZJ5x4Gb_UGS_Mo$D=g!PmRshg|T}F1UY=bG>;kc)bgL*ac6% z$(jEs7d+PmU+IEJT=1PPxbJ3XdD2|)`7U^s3%<(*Z*##xCJLdx5TGipF_gevrmhzwR$)S?e-|4-hGB92u$t3hygY zt##ky;O`XQD*8U6^=Vz9PB@NboNHk_Bri^+XMClFbKG0y68AFB+&J!S)ADe=9QU5E zaE^OVYTTz8aol^#!a43eZQ&gEp0RL_d(T=p$Gsw=D&%@O?)6zX$GyoG&T(%q3+K2u z#lku6O|@{2dk0!L$Gw9roa0`&3H%)&YDO|x*0dq-I~$Gzzm&T;Q}3+K3ZvW0Wp zJI%s5?hRNt$Guq=&T;Q73+K3Zj)imFn`7Y|_vTtS$Gv$L&T;R23+K4Ez`{B1Ew*ru zdrK^w&4y!@@c4-D%+*_wKTAj(hi5 zILEy$7S3_+ehcUE`H(dqF}``RNVphJtx13dIQ^4Eob{?-;*8^Ocqd#;ztaUDR+m67c-~)ArSJm%cuRK`5Ab{VK^j+b z_7^#h^L}5EvPTo@ope6^L2xT^L*WC z;XGfjw{V`XH&{5&*AWZn`FgX3^L)LlZs9y%@38O*-PHciP7CMxdY6TlYx+GF z&hvGPh4Xy9-@<>P`5drtp05vDIM3Iu7S8kaAq(gE`mlxbe0{{idA@G5aGtM^TR6|x zCoG)j>ysAF^UEx29$|dtLp%bjl=1B@_(2!^qzgXhE6)5kxZwL;@WU?nNf*4=!_M^< zxZpcn@Z?p_dkYWzc`kUB3%=e3 zZ*jp-y5Q4RJIh(-g4es?jTX-FRkHTy0$oj8cNJgp`NlyS=lCkmCBDjQ(S$nb+N1OM zDtUV%J;zs!b6mvn)d`pQigD(~@l}fE&wMz(8ff7hUk%c@9bfq^oa3uu7S8cinuT+G zHOj&{zDl=nj<3dBILB9$Eu7=4X%^1$RlveIzRI$2j<04}ILB9WES%%391G|8D%Zj} zzRI(3j<4ohILB877S8civ4wMdRbt^BUzJ%n$5&Mr&hb^q!a2UGvv7{DmRmT-SM?Uo z@zqKT=lE)sg>!th#=<$iYOrvQuNp0!Qb;`myzB+B;YWyD{_f(2A9ulh>skxV>9yeR5gl=Q>coeBTNs;rfFMe#!+;>M6ufv=_g}OxGOg zXV?hm{kK$&e-F4*y+70R9OsYH^zXUQcj@KKXE1Q8m)}>;(tI9}^f>RgS^=qDRr-#m z=eT{crcb@Vng4K!RHxg$P5%48-|Jx}J66^LOB~AKk3zwx~oby-4A_?qTNL zkJNl1#7Ce{fgMii^{lQ|bcJg=={r{97l`yPC`#^MGl7%*yst7%Gg{`t=j)oD_Ze8u z?*s4a?RY-Gesogfd`=8mdG)$j`NI}%2fxOz0PbXm zD&V9qpQ{Gw%oXN=@`E`0vsf_J;bx!x~G`~op;nPN`ALrK@mz@6mjjxS&m&gaK+ z6}ecZao(?Ee3Qm`Uucx3|2yy@Xcs=OlC1HbgEW7=uf_Ji3^@7QoZA$k{GD3dPS^At z-xg~=^n12M&*%E`bbo1(d^C}f{K*BMaG8>a&-t)ltp@JYjxTC@-{Xoo)4!cb^c~On zC*cd7Bxi~C|5PpKIEfnq>f6r)C;RWpQb4-KH)%X}PEQX&p25y?UILu>@IK*q&F4lJ z`U2oi{kqJBex=0GuOC#5m$FJn!_oVFq#TvKcmdzUHb9%_i>tDDbz4*Kt zhHH7v9-?sG|KxtURO5W^j_uhF+^K#03{~y5Do^pH-$JIVLgMP){C6*KlE;pVQm;@r zzaQVP3l+N9xd8M|@_g9^|Aq^`12{s04%e%|Nlt!$U8O0ypdrXV?eY0i;6%^sJMO1p zjq^S~+y5oWr$e>kXPTbR75FvDg~Jtp-#P_wKe`*ZlO5_@@HH;@1{eH8;G`GthqIpy zzEatt@pDR^gIdn(fD=8R2WEZyjZ^gY_qigPp3nDAW__=6)@y_dUg3g2;DUcm;ui>h zf5hYPW{saJSAuNU^8DC^&p=39P`3F#h^{|xy^-srwjfA;1ox#vgXZS04F=! zesb9e-ClE4g&>pHmw`LUx!wi;Z_S7I6Sy6_k5v5aIJOM96My{np(Fl==ELvT3bdU6 zbfJ#|cj~A6;4uC0s|5D<3j1B{T<_JuDgLq7L6d-!J#BgJ(m21rV>_(S_`!#i;C?NC z18^E2md{YYa*elWdOq*Xe(s0k5q<0Rig3TCzgy#N*D0Vt&tLxooaD6EUt_Ov*7qUc zM9=4|^ECgcq(@w>>uu0@>S$*^>A;B(zo%orqQ6z;)b6u2J)b9^rujb)+^HRZr0MzG z)EZ5H;TUC~`MC;UJ`*LbiHzhS7km?NlAq5<73(tZYyN`*3Rth>jXs$8q}^64oZEer z#`*j_nnPYIfIHbCtm*k2HQVi|#_e&n$5>}RLtOB2z)4Pi&&%z*5IDsrwx5Sw_&lxo z@VV}RTCY&gbaLG@o~XJL!8?(h(_m{q` zao$(=>v|7re3j;3pm8z5nSa0qpXY*?yWm@albpOyo~7%(dZKf^%YYL-pKoOPpJ<%F z2b8M$q)&48+iAdw51+%NziUC)cY!xK=bGCE79M;qU+8n&T>`(Cpq~%0Nd>;jq~?#2P!t=85ch7F8Fm* z6@UId5%-s!z-gW;n64P_(fr@k^nCt-$G0w+x18)e0659d-_v3G1sb>G=ff_1ZpK95 z#Q$y={C*ca0-WTr*Xai|erC2(G*9b$3Fb?udeeXtAO7ADw@Vl}#cv0!_^ru>&n_4I zN1DIA@APMlw`MB==W98qATB3)>~Zf_;M9&ADiq;nO}|*v^Y?Mse=d>nj3zRY*CZbU z(6>ii@PBIl{C%rInm!NyL~`=?<9K{H3Eaufmt))}d)8}v>R~{%yU_OzDE|DO@&EL8 zH8GB4cfBCXcOU^N2ni%6Vh`EFcwBb7yXOEJw_V*`+wG6I+_O7#;B9re++7*lWva?O z-76t+;KBt~Xb%B#SOkX%A#qu8frvyBcIa2C+1ADUM^FRA#_U&(rvPpImDAnS|qjyDd) zzCHw;=%eV-LOqSI;=BqU{!Z4b=U)FzbThtqRK72h*Z;in)v;*Ef9DEc$FlyzGg1Fl zInEX8X1=5KKI&;bDv$0=ER5)Ign6=P&ePY1(xb4v~c!0q@cQ#`$efI^ME;Jj+BJ69hw2Tw)+w{Q#kF)T#~KO9GTw$aFtY)~KC@f<*{zY) z?ut(Aux+27jRbtP7GhQcUv8^wEsD@;Y73An?+?$$z??DbwZ~xJ1P<+xMWeylc&$}K z1H5QOgLI$u+daEegvMaV#?OXUex8Q5Tr{xPSJKeV4lO=u8EC>!KewBPwi`5{dxwLw zzBn-L;BoJC0JsyxEq+%A)>+><8x9AfvDIbW_PEWr!*{9S#Nl8BAm%sO)WCFL_nBjz zTAeW`)-fAdN47JzMq)l4y-uuAA9$5p?T&VMxuM#pgfY(w!!=tOM#b*%n_XSmT#l&@2$2yW}Wuw=|Q`5 z!p3&b!r^mxYrB$*Ikfv32h(oz3C8WQ-C=EeIHcaDhENAMY)mi^$g1^g4{f;te&T#q z4N(+`y4F*>BLJY??ODCS=oxEwyCchS*cmPDs4ov#LwMXBoQ*mKl4zE2?zH7`yWf?p zR@=rQxHLEfW=b)XuUMPQ0lu}5EH-#*jo7K(vjrrzRoi`FA(kox35S%1w>lHj&Ke_b zxHAHcX^cxd*Y4u;A#{rTG*cGDTjoSw}6r4f-=|=^?k#U*JJzU~do(M~VmH%{Mjc)`b!J_GIX2h`yBXt3LgdI#`m6b1l`K~YR9QfP zaIXs_%7IYArlH0p71usJuUi)O!6|~~sRkul*JC@mx7+8nU}-v)cihhrc_-v)Hh0wA$Wll547U~_|DQp6BJ+>N@u zn8FxXc>Xw;`|T^7-FjZN%v;Ow*E3CKcja^umYHv+IWFgf79 z$&6VTlKn$OlQ!UoS_Kse4G8WX6Tq1S(`kaE&7HqSY7Rey`@oQMYFc|Zi>-N{-1tP2 zep90MCvM`(-M$Jkbg_^8ur!+sgcn=fHr%o!;AccoESo~3xAe@YLyD7kmXv0bIWT&c zH;m+HYz;k}BmU(!FQq_~NU+KSoGu}SlWFdlv1+h2_&d13ZZ7K z5-iv%_DQHil6x-zdN^U+U{-`=ig4&%=h8|ZKo{720KbYKm7>XgC^(OaL~ZX$gVc8T~qqvV+O=m&Zvcl|74ue}#=z2V zdgv^1$*I#n`H`UpF(U{apn`YpGA^|kloaps$rGqx?E{;cwI*Lu29#ITf?HfsE-*5p zWx-lXwKXufqV8ov_o{Q+vNbx=&j+t?RJ6-=O@cbNxU#tM? zH59))%5Y-ZS?5sLRbHRpJzLB|cLL~=ZjN0$$&SC6l!{&Gn2FgGYCHIB5nN*CFD{Zx=0{N&4Ntr^2?JguX43f+7i6O74r0 z0{JV}^j28Eu=RwYN0N7pjY%6&$zw8$EA4Sj(UknTV07$BPXn>3``SmOk_f92XR;m6 zgp=Z6+&bDnPUA78O1+6cs8d8@-Q@sGPQZL4&%m`%BDR#V zRB%D!sXJtL37*=0s}}jw8noQ&Yqs>GI3%=5ZrBxKRjHN02}Z0i&+E*Fa5xBj;v_>J zoBN(BSzk?XVlm*|iH-AD@KPo?cfqQXSXsfdv=f7(N_7w*U!B21gS17wt&)G@O>T7N z@ByQOD@q|0UcgznQ3h=X=t_3wPr0#k3e|&q7Z0OwPL9mCg5|6J_`ev5NDH1t`j<3zBWNMvoVgyktW#}K86~g=D+p1` zk~ZA7n9Tm%y=H=_0Z)({v;cQ9iLm5wT5W~k=j7rQ#{&eD2PZwH;LV`uN#>D-1mGN* zPruI8xi~<16Lho*qzm;pp@W8=^2BcW?bU_B>d4ahncs=I^z{b@qL44=# zESh9&MJsrZlxITTVO|x_tiimFUukv92Phn*+i`GmMTH?LhHP0xJs6pCIm#C-qdl3B zY6f;8{UV||)!Q6Mp@SQHG4ZbrFc2hfQr3-N)+5o z`<#xnS=UVhfEgn4u|I~8#P8K9tB4CE z_$0_TU{_)Y)&SUJ?nXX$FF-35as|;GC|Nx1g1i?rB}| zC|#`Zj87vU5WB0e%A-i=xpdw{kMZU~`LkKsQhB#^41x1_VJrBv21#>pjZWV@X z!I2=<%YrppWi;aGL{r&NX^|hEY0);5( zY#^W!t_nUl?#+f@=sGCg8236V?Sa^mGIq3C8r*1Cvw)sAAC(@CRdHT{n;T4l&MOZXfRh(jJswZSw`5|B-y zoOEMt6B;RCW%#+O8CEA9Hi+SQ+~iMa!of3lU-(RT+oy=>`PZHgdohjbRU*fAOM;Up zOafRg*`e$~4m1`kSoi{p!48rQCb&|8y_ECoUS{~ujnNu}M6dTLH%etcRcBUDa4O4-rCxCLAgD9GL+eGvERe^nX_c)O85obHk@H z{H|k>!g#V-V?-e2%PT*+A!C{rnZ^rWM$0oPzae)##Ov1&v#kV9Wq@8uIL_v%aVr<0Z4Ivw=aQ|MvrHL;)p|@xF*_{CHR z!01&bBgDv&1>s}H$Nb;1hg)>MSmz^*#wbswm`Nn^2rTEAQ+NfTw<}{Z`RxcQ-;SG& z3vR#%PDz;)Q_Yi$rwGWAQR0#yAFA+4=$t%%Bt&sY__+o`PdK_ z(F&z`^OR!>@G{tz(RwN=)~P3GtwSguqJX<-SkdO#6^rL8$i_s3SIH;cL#`B=?rTRt zdcazK&YJmxldgi2(m7171QEV?%s>z$kr<>b$z3khI;#jN*$H_lUqRt3WTTkmhB*(T zf~|jlRafe{1(GOXvD@V2aOEg=2%sxbb8GH6Xp6Z2=3F+D3~YKZ1p_u2sj35D1Gxio zB*|Gi7k!jdwVnqEI!8oyxllo#TeE1=1XM78f>Dq|NG=nCR^rcQ7wf!>$YYCPg^X>3{zN!9 zQ`hD}MIM;y#*!QI6e2ueaf_;EuEprFAd8U#CvZk2meNIz9F<*!!%?StAM|ed^Cdlz zg+lIDFB0n_9EV_GatS%}w|@Y)7RK5OF^d0%N+ z8LC|wQ|>g9XfGdUJ6pV@03ZeH`Ex9t4xWbN>0KE{ng#ffGdfevJgyI}6Vp~OBb{fn z#M!_*iDL=_&Khk9SqVov51M5PBE4>bGlOmNZ^cwM!?e=j?x|c6vN=>jt^;!wB#{@s z4o7+UT$)L=%pGV#xDKY2wROv*ShqfYN;FF*W~Cj#mZY@`Jy1UCNI_kZ^sQ5U0S7D1 z#tnb)G8ukMwF`dUBoo%1saxW3GC5Ep))qxch61Ggs?fBUXB(_JxK_`j6x5kaif1=? z@Q%|{8op_ArMrtvFs^aWX0$Y&$$iQ?t}gYr!ja4dgw@RTe4cceT6@BZ18zkLsB5%Z zP!1IBHLu&4rocU$;?NczN+@a4kl_Q-MjCYLEHki+lVKNgJY$|Yi$P8M`7}hz65D2u zn4TcU@r(#ZJ?^4B(If{qNx@sJhYh@Z*IiOHc(ePrTsecB(jI~sA(YF5=!Y`p9_wY$i?-g(s0EPXTiOC~T@KNd`MST*r^13~bw$WGeiR7+cQwweAWwYVplHanDgE zkti?KH~uu+(x@%M#INBIyodBupt!<=t+n%2Fq=FKCPs~}F5URjs7-Db7*CW*B<|qB z_84!v$Xzhpi~N~O9pty=EHP>n?lNlp1q3y&YSp5U@->Z`e<|N(bqP~Hy~3a#GTTLP z8_S0x&BqY0xia_|>N}=#=YfYVA?6UHBB9!-;XPY(_B9 zN0oG6|H#)2rd7XzZ$E`U)qgC%sPaMDQha%>aE;d^=lUnIzbaoZv@iC@>j;hi{rKZh z&9B}+txEOYxu1~Z{B&WwKCXWbf2#jC zzvQ*36|h#{sr+sHeXOnj^kmYKRem5Y4O&0JPOV>7 z8}G_`HQv8J5O-90Oq<3>&9C~a{r^7h(YOcH2%lehJzsvFfQt|H|7H9Y`~M;8Xp6Ky z`l$ENt5Uu1PuvxAsqa+&0si##96)jZ-zfBd@0+5(D!;EbCWkG~|1H%20{$eL8S3`}pL`@bd`b3G zg_>WL|A8AsVyge8{N2S%*& params, vector& inputs) + +void InitAndCheckParams(int argc, char* argv[], map& params, vector& inputs) +//void InitAndCheckParams(int argc, char* argv[], vector& params, vector& inputs) { - const char *optstring="m::i::o::f::hd::p::l::y::"; int c,deb,index; struct option opts[]={{"model",required_argument,NULL,'m'}, @@ -39,13 +38,13 @@ void InitAndCheckParams(int argc, char* argv[], vector& params, vector& params, vector& params, vector& params, vector& params, vector params; + mapparams; +// vector params; vector inputs; InitAndCheckParams(argc, argv, params, inputs); printf("******************************\n"); @@ -112,6 +120,7 @@ int main(int argc, char* argv[]) if (params.empty() || inputs.empty()) { printf("Invalid params.\n"); printf("Execute sample failed.\n"); + Utils::printHelpLetter(); return FAILED; } diff --git a/amexec/src/model_process.cpp b/amexec/src/model_process.cpp index 8711298..d48e355 100755 --- a/amexec/src/model_process.cpp +++ b/amexec/src/model_process.cpp @@ -120,7 +120,9 @@ Result ModelProcess::CreateInput(void *inputDataBuffer, size_t bufferSize) inputData = nullptr; return FAILED; } - + size_t aa = aclmdlGetDatasetNumBuffers(input_); + + return SUCCESS; } diff --git a/amexec/src/sample_process.cpp b/amexec/src/sample_process.cpp index 4186c29..a4f0143 100755 --- a/amexec/src/sample_process.cpp +++ b/amexec/src/sample_process.cpp @@ -31,7 +31,7 @@ Result SampleProcess::InitResource() { // ACL init const char *aclConfigPath = ""; - aclError ret = aclInit(aclConfigPath); + aclError ret = aclInit(nullptr); if (ret != ACL_ERROR_NONE) { ERROR_LOG("acl init failed"); return FAILED; @@ -74,20 +74,20 @@ Result SampleProcess::InitResource() return SUCCESS; } -Result SampleProcess::Process(vector& params, vector& input_files) +Result SampleProcess::Process(map& params, vector& input_files) { // model init ModelProcess processModel; - const char* omModelPath = params[0].c_str(); - std::string output_path = params[2].c_str(); - const char* outfmt = params[3].c_str(); + const char* omModelPath = params['m'].c_str(); + std::string output_path = params['o'].c_str(); + const char* outfmt = params['f'].c_str(); const char* fmt_TXT = "TXT"; f_isTXT = (strcmp(outfmt,fmt_TXT)==0); - const char* dumpConf = params[4].c_str(); - const char* profConf = params[5].c_str(); - const char* dymBatch = params[6].c_str(); + const char* dumpConf = params['d'].c_str(); + const char* profConf = params['p'].c_str(); + const char* dymBatch = params['y'].c_str(); - std::string modelPath = params[0].c_str(); + std::string modelPath = params['m'].c_str(); std::string modelName = Utils::modelName(modelPath); struct timeval begin; @@ -111,8 +111,7 @@ Result SampleProcess::Process(vector& params, vector& input_file return FAILED; } - vector picDevBuffer(input_files.size(),nullptr); - + vector picDevBuffer(input_files.size(), nullptr); for (size_t index = 0; index < input_files.size(); ++index) { INFO_LOG("start to process file:%s", input_files[index].c_str()); // model process @@ -138,7 +137,6 @@ Result SampleProcess::Process(vector& params, vector& input_file ret = processModel.Execute(); gettimeofday(&end,NULL); inference_time[t] = 1000*(end.tv_sec - begin.tv_sec) + (end.tv_usec - begin.tv_usec)/1000.000; - //std::cout << "usec: " << end.tv_usec - begin.tv_usec << endl; std::cout << "Inference time: "<