From 20315a484a7bf33f4d7143f8ee13bdf37f664bbc Mon Sep 17 00:00:00 2001 From: laiyao1 Date: Mon, 14 Aug 2023 16:59:32 +0800 Subject: [PATCH] remove .pyc file and update readme --- README.md | 65 +++++++++++++++++- .../__pycache__/__init__.cpython-37.pyc | Bin 132 -> 0 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 138 -> 0 bytes .../__pycache__/laiyao_pb2.cpython-37.pyc | Bin 5455 -> 0 bytes .../__pycache__/laiyao_pb2.cpython-39.pyc | Bin 5596 -> 0 bytes .../__pycache__/read_info.cpython-37.pyc | Bin 1216 -> 0 bytes .../__pycache__/read_info.cpython-39.pyc | Bin 1232 -> 0 bytes 7 files changed, 64 insertions(+), 1 deletion(-) delete mode 100644 maskplace/ariane/__pycache__/__init__.cpython-37.pyc delete mode 100644 maskplace/ariane/__pycache__/__init__.cpython-39.pyc delete mode 100644 maskplace/ariane/__pycache__/laiyao_pb2.cpython-37.pyc delete mode 100644 maskplace/ariane/__pycache__/laiyao_pb2.cpython-39.pyc delete mode 100644 maskplace/ariane/__pycache__/read_info.cpython-37.pyc delete mode 100644 maskplace/ariane/__pycache__/read_info.cpython-39.pyc diff --git a/README.md b/README.md index 8e7feb2..8296924 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,70 @@ ## MaskPlace: Fast Chip Placement via Reinforced Visual Representation Learning -A new chip placement method based on visual representation learning. +A new chip placement method based on visual representation learning. +### Publication +Lai, Yao, Yao Mu, and Ping Luo. "Maskplace: Fast chip placement via reinforced visual representation learning." Advances in Neural Information Processing Systems 35 (2022): 24019-24030. (NeurIPS 2022, **spotlight**) + +[paper](https://arxiv.org/pdf/2211.13382.pdf) + + +### Usage + +You can start easily by using the following script. + +``` +cd maskplace +python PPO2.py +``` + +### Parameter + +- **gamma** Decay factor. +- **seed** Random seed. +- **disable_tqdm** Whether to disable the progress bar. +- **lr** Learning rate. +- **log-interval** Interval between training status logs. +- **pnm** Number of place modules for each placement trajectory. +- **benchmark** Circuit benchmark. +- **soft_coefficient** Whether to constriant the actions based on the wiremask. +- **batch_size** Batch size. +- **is_test** Testing mode based on the trained agent. +- **save_fig** Whether to save placement figures. + + +### Benchmark +The repo has provided the benchmark *adaptec1* and *ariane*. For other benchmarks, you can download them by the following the link: + +http://www.cerc.utexas.edu/~zixuan/ispd2005dp.tar.xz + + +### Dependency +- [Python](https://www.python.org/) >= 3.9 + +- [Pytorch](https://pytorch.org/) >= 1.10 + + - Other versions may also work, but not tested + +- [gym](https://www.gymlibrary.dev/index.html) >= 0.21.0 +- [matplotlib](https://matplotlib.org/) >= 3.7.1 +- [tqdm](https://tqdm.github.io/) +- [protobuf](https://pypi.org/project/protobuf/) (for benchmark *ariane*) + +### Citation +If you find our paper/code useful in your research, please cite + +``` +@article{lai2022maskplace, + title={Maskplace: Fast chip placement via reinforced visual representation learning}, + author={Lai, Yao and Mu, Yao and Luo, Ping}, + journal={Advances in Neural Information Processing Systems}, + volume={35}, + pages={24019--24030}, + year={2022} +} +``` + + ### The placement process animation Benchmark: Bigblue3 diff --git a/maskplace/ariane/__pycache__/__init__.cpython-37.pyc b/maskplace/ariane/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index b30f9efbc3e3dbba116a8357faf827dc32e565ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmZ?b<>g`k0uSepi6Hthh=2h`Aj1KOi&=m~3PUi1CZpdg`k0=M@!Qb6=$5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;!H%enx(7s(wyl zW@Tc&eo<;cezAUTVsUmsPGWMZeqvE(VqU6#e0*kJW=VX!UP0w84x8Nkl+v73JCH%2 HftUdR$X*|n diff --git a/maskplace/ariane/__pycache__/laiyao_pb2.cpython-37.pyc b/maskplace/ariane/__pycache__/laiyao_pb2.cpython-37.pyc deleted file mode 100644 index 27c09d005a29241ac1eaa409463b96f5d624471e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5455 zcmcgvOLN=E5eC3F_!MpNCD|)$?X|SF>0NCcJC5VEWKp))w(Q7SCyN{qkUgX!LnI5J zwk(z}sm&o5{Riois{DhTlYcSST*6yYTe+liNcZ4DP@?>(N`)v4x_f%MzwYU2fNR;T zD&guY0TAW8K?&tKwVrnU2h()2ho$wGa#L6a{;~xq9>ao>jL{^_AkMg z82OTjob*n^xB_2cE@#C>zC}ETXW=JDQ&x219f=h?@;FAKc(1Edh;OGk>M8n zOysX5@^>449?IVx_yy|LKFpt}qZ@D+_0PO3l8)l;A)@~pGw1K)Jy;bu$^yq4tc7sg zhxL!d(SVHr$FX`2Y6)?$ayUPjlLsD(ikFRtAryDu(MO`V0pA2DPTAM@WTPr@Jch?1 z9QWbLN8)%2n*s+_&MDatyVrncxOa>1Jb@9+TJ>1gp2IK2-qi%!E!Ya7eF577?YmAj zR^zc#{Vlu{7Ux)n6?f+0QdQE=u@Wol=TTA`OLjhi8&zp%;qZcx&Qzr%89QakmHRS% z(U%08l_{Dio1!^CMH6LHG#935qHKyL#&ZHE#ds3u$`nnMktQo+9x!^$Oof#(Gi6pm zNkd3VtQySLSQTfhtQO4H*c{R?Jk9*hr*QR-gjR@JL#igI$4JcyY743C;YF4gs8ffR z;3`Y(eAbrPWky^+;EM1o`1OHu6k#Q#zB`BkUnhO6Y^q19 zl$WN?^68aqebd-wWbujV z3~+i@P4_LM#a{I+V0I;iTB(Op?YC-*6kN9{*KK4eQ_Q+fBTJDrr63baZX-*I&ywTF zQc|#Up6e7!j=Nql8<$JFxd_ zH{CP|1~U_R&GtP5RnL#eTY5zmi$q+vm0R-SUw$X6iA~(}b=E%SI;+OaZhvnee5Z;F z9ukT#y;7`ui~biN7S-ef+vvX{3?&R7;UIc)ll0v*y((FbagiRL=o_uqSZ_S;>~{yo z8(wr69uCVKGSGW{Dn5s2L$ZF8kN0$VCa9`F}zvUJ)mj=2K%hR3^myG>^E=wQFkc(T>+>w=0|Mw3~5=9S^-z}m*1HPFTW^Xw#> z@y?OEEXB~COXgcWjMMCz-Ht2Bn2yfg3|QB}Sb07mb*I(qGy4nyjJ8dSaoL<6mpP)g zGsH^fa(lW;dqk~ZME!)z&FMPL5w(R8{@am8)Em$%p15IUS}JK~lqOATM58~@@OK=% zjM_D%d6H05R_)8k+80R{Z=1{lhpR!H4$pL%Gr;Yp4AYFCE5{8!>n8||rp4?cnJEOz zb=&B6a9O<9Wxck;3!z$Z28KQ0xsZf)fsZ@UFg=dV2{UGxX@{BSFgIR9S>WNu6HaWX z9}Q!BgZ8ys+-()Z{Mdr1o#mJ)Ly~ zK3S)^`BUZuj3G7>^A?tp*~5WPv@-#4I5V-lOXo$jwPO6`pQ;mU{)-gL*c`Yz zekCs}TwQOxxWD!2`S!CduIl=35B4mk>&p>)7NfJD(eNAx6f`CUU+{>tkCpvBv*}pt zX1Cqrir(b;POsOonETdj?zL??KUx}_iT@I|=~(fk?llmb+7&8{U&eNpBnAE03z;Xd z?@~k35;Ublljk<@0IrWM6JQJ~5b*p4oyM_1JFBm5Z*RR^ee!KXfAZ+XwxD>dZS{-+ zj{~Fc3Z8#PM=i8U9k0^L`sV7>23eu?VxqCRz4e`zotV&y`sTCs#(HBTq>}VyT1tPg zwfg)aPV=1GG4$rX=+O2e2I2OSoO|Sh89FdLZuI+f$_t@BEA;qmxFtLODy_7|I{1yi z?8#(l^AA{;*#RC_SPor&mB_uqCN5O0j?0e{1%lnqRIk!q45MEIp-w^c# z2i#rn)fW0V6Q76Ff$>Aot+cz;vzl(P$yiiYyektQ(~1(6<8o4_G3q^i zE+eEL!l?@WWO2JbkV{5RdPz?4;@VH5?~@4pxk+?6p-Dc`1No&3>8P9`ztNL^-4&D8 ze9Un#D`aUJ=F`@OdAW6_@`D=EX5f diff --git a/maskplace/ariane/__pycache__/laiyao_pb2.cpython-39.pyc b/maskplace/ariane/__pycache__/laiyao_pb2.cpython-39.pyc deleted file mode 100644 index 6448c8a3e4922324359e9e5378c53fcefcb4c469..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5596 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 diff --git a/maskplace/ariane/__pycache__/read_info.cpython-37.pyc b/maskplace/ariane/__pycache__/read_info.cpython-37.pyc deleted file mode 100644 index dc50547754c04495d3f2a05a0098a0922a7d19e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1216 zcmb7DJ8#=C5GEVG7$mj-DARzGc~A*_LHq${UPcV%!%;BR(JqSg<fSrFok|O2pvTx5UA7;61w>S(ZcJ;_~>n-X^ zVNbfe2a;RGkFCy%(SBiHioVPbM9E97K#wnRKzw@vHL786ppT@T=)!cJAJp#N2J9i; zvYp6`Trhhr@`-$^wbEU_KXf7T%Pg0 z_*{$ff^3^oeLJ zpjYS)=UA7- zp9Qc?-EGSM`s8C#mQYW8kP8F+iLo?TWmy6LNK->a)V(@lx(QFzD=09_wOEB+b$28! zB-iG^y-R9>KDOb?U^kJKFwpC;4)Ab2mNEw&MzNi-KMv0~{-8lIx1mQM2DD%B>mqQ@ z{jtc32XJc;kx;z>vI>&~^+^&nLD*Z`aak>G&xtG<@*H)N>B>AVO@Zngc WlU(k2U}})?H5Pgy5ATG2NPhzeek&OO diff --git a/maskplace/ariane/__pycache__/read_info.cpython-39.pyc b/maskplace/ariane/__pycache__/read_info.cpython-39.pyc deleted file mode 100644 index bbf5af7daf3b250f4679e2574f6a57642fcea9fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1232 zcmb7D&2AGh5VpOWWSjnSfFts;dr2y8M5v+y3YBP8wGxQEten_Mm+r1twj(uBdMXc+ z9(fMLJD|P7g%fv9%8ZvQfxp=)3ESTRgM_qPb?U;! zLv1qQjs_I1H^YZDfcXrjJp$p#44huEOFE--dQC2wV{;EyZ@T6Dd1J_B?(O2oAD0pEs*zqkD5Z_)v4Qtq2=o96}CbzxH4_f!`0v;pY z@;#AQwQ%i?NXP1hG1~O_!LSOECzj{hadnYcS6?rw34_wth006cz=O+nDw2uNanXMi z1uu;#&Yr8GL3X3Yp)w;CwU33dHFUID?e~q&>Q{$;>0>rZZMS)sV;s(r>pwkOyrV zz{lto-GFJs^WuGSYT0P%3`f0IsBt+4Hece51DDf6U_<=%ylhRVOQQC zDHrF;rBDG?Vq^5N4M!F`imU_;vkvP3mBq1?J?J!wt&N>>G~KvCgtG2Hw?G_-vEaLk zq6)yzM3O&-Q;Ud%nhlU;5XWeb