├── .gitignore ├── README.md ├── benchmark ├── bench_cpu_gpu.py └── slidingchunk_2d.py ├── config ├── .keep ├── bert_base_bigbird.json ├── bert_base_longformer.json ├── bert_salo_sparse.json ├── models │ ├── .keep │ ├── bert_base.json │ ├── bert_large.json │ └── bert_tiny.json └── sparse_attn │ ├── .keep │ ├── bigbird.json │ ├── block_structured.json │ ├── dense.json │ ├── fixed.json │ ├── hugebird.json │ └── longformer.json ├── data └── .keep ├── docs └── SOTA_Calculation.md ├── hardware ├── .keep └── src │ ├── accelerator │ ├── .keep │ ├── Arithmetic.scala │ ├── PE.scala │ ├── PEArray.scala │ └── WeightedSumModule.scala │ └── matching │ ├── .keep │ ├── Arithmetic.scala │ ├── BitonicSort.scala │ ├── LocalModule.scala │ ├── PE.scala │ ├── PEArray.scala │ ├── Stack.scala │ └── shiftReg.scala ├── modeling_bert.py ├── modeling_static_spattn.py ├── outputs └── .keep ├── performance_model └── performance_model.py ├── piecewise_linear ├── fit.png └── piecewise_linear.py ├── quant_utils.py ├── run_cloth.py ├── run_glue.py ├── run_squad.py ├── salo_sparse.py └── scripts ├── .keep ├── eval_dense_on_cloth.sh ├── eval_dense_on_glue.sh ├── eval_dense_on_squad.sh ├── eval_sparse_on_cloth.sh ├── eval_sparse_on_glue.sh ├── eval_sparse_on_squad.sh ├── train_dense_on_cloth.sh ├── train_dense_on_glue.sh ├── train_dense_on_squad.sh ├── train_sparse_on_cloth.sh ├── train_sparse_on_glue.sh └── train_sparse_on_squad.sh /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/README.md -------------------------------------------------------------------------------- /benchmark/bench_cpu_gpu.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/benchmark/bench_cpu_gpu.py -------------------------------------------------------------------------------- /benchmark/slidingchunk_2d.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/benchmark/slidingchunk_2d.py -------------------------------------------------------------------------------- /config/.keep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /config/bert_base_bigbird.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/config/bert_base_bigbird.json -------------------------------------------------------------------------------- /config/bert_base_longformer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/config/bert_base_longformer.json -------------------------------------------------------------------------------- /config/bert_salo_sparse.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/config/bert_salo_sparse.json -------------------------------------------------------------------------------- /config/models/.keep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /config/models/bert_base.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/config/models/bert_base.json -------------------------------------------------------------------------------- /config/models/bert_large.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/config/models/bert_large.json -------------------------------------------------------------------------------- /config/models/bert_tiny.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/config/models/bert_tiny.json -------------------------------------------------------------------------------- /config/sparse_attn/.keep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /config/sparse_attn/bigbird.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/config/sparse_attn/bigbird.json -------------------------------------------------------------------------------- /config/sparse_attn/block_structured.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/config/sparse_attn/block_structured.json -------------------------------------------------------------------------------- /config/sparse_attn/dense.json: -------------------------------------------------------------------------------- 1 | { 2 | "class": "DenseSparsityConfig" 3 | } -------------------------------------------------------------------------------- /config/sparse_attn/fixed.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/config/sparse_attn/fixed.json -------------------------------------------------------------------------------- /config/sparse_attn/hugebird.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/config/sparse_attn/hugebird.json -------------------------------------------------------------------------------- /config/sparse_attn/longformer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/config/sparse_attn/longformer.json -------------------------------------------------------------------------------- /data/.keep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /docs/SOTA_Calculation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/docs/SOTA_Calculation.md -------------------------------------------------------------------------------- /hardware/.keep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /hardware/src/accelerator/.keep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /hardware/src/accelerator/Arithmetic.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/hardware/src/accelerator/Arithmetic.scala -------------------------------------------------------------------------------- /hardware/src/accelerator/PE.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/hardware/src/accelerator/PE.scala -------------------------------------------------------------------------------- /hardware/src/accelerator/PEArray.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/hardware/src/accelerator/PEArray.scala -------------------------------------------------------------------------------- /hardware/src/accelerator/WeightedSumModule.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/hardware/src/accelerator/WeightedSumModule.scala -------------------------------------------------------------------------------- /hardware/src/matching/.keep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /hardware/src/matching/Arithmetic.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/hardware/src/matching/Arithmetic.scala -------------------------------------------------------------------------------- /hardware/src/matching/BitonicSort.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/hardware/src/matching/BitonicSort.scala -------------------------------------------------------------------------------- /hardware/src/matching/LocalModule.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/hardware/src/matching/LocalModule.scala -------------------------------------------------------------------------------- /hardware/src/matching/PE.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/hardware/src/matching/PE.scala -------------------------------------------------------------------------------- /hardware/src/matching/PEArray.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/hardware/src/matching/PEArray.scala -------------------------------------------------------------------------------- /hardware/src/matching/Stack.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/hardware/src/matching/Stack.scala -------------------------------------------------------------------------------- /hardware/src/matching/shiftReg.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/hardware/src/matching/shiftReg.scala -------------------------------------------------------------------------------- /modeling_bert.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/modeling_bert.py -------------------------------------------------------------------------------- /modeling_static_spattn.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/modeling_static_spattn.py -------------------------------------------------------------------------------- /outputs/.keep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /performance_model/performance_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/performance_model/performance_model.py -------------------------------------------------------------------------------- /piecewise_linear/fit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/piecewise_linear/fit.png -------------------------------------------------------------------------------- /piecewise_linear/piecewise_linear.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/piecewise_linear/piecewise_linear.py -------------------------------------------------------------------------------- /quant_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/quant_utils.py -------------------------------------------------------------------------------- /run_cloth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/run_cloth.py -------------------------------------------------------------------------------- /run_glue.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/run_glue.py -------------------------------------------------------------------------------- /run_squad.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/run_squad.py -------------------------------------------------------------------------------- /salo_sparse.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/salo_sparse.py -------------------------------------------------------------------------------- /scripts/.keep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /scripts/eval_dense_on_cloth.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/scripts/eval_dense_on_cloth.sh -------------------------------------------------------------------------------- /scripts/eval_dense_on_glue.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/scripts/eval_dense_on_glue.sh -------------------------------------------------------------------------------- /scripts/eval_dense_on_squad.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/scripts/eval_dense_on_squad.sh -------------------------------------------------------------------------------- /scripts/eval_sparse_on_cloth.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/scripts/eval_sparse_on_cloth.sh -------------------------------------------------------------------------------- /scripts/eval_sparse_on_glue.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/scripts/eval_sparse_on_glue.sh -------------------------------------------------------------------------------- /scripts/eval_sparse_on_squad.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/scripts/eval_sparse_on_squad.sh -------------------------------------------------------------------------------- /scripts/train_dense_on_cloth.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/scripts/train_dense_on_cloth.sh -------------------------------------------------------------------------------- /scripts/train_dense_on_glue.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/scripts/train_dense_on_glue.sh -------------------------------------------------------------------------------- /scripts/train_dense_on_squad.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/scripts/train_dense_on_squad.sh -------------------------------------------------------------------------------- /scripts/train_sparse_on_cloth.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/scripts/train_sparse_on_cloth.sh -------------------------------------------------------------------------------- /scripts/train_sparse_on_glue.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/scripts/train_sparse_on_glue.sh -------------------------------------------------------------------------------- /scripts/train_sparse_on_squad.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjtu-zhao-lab/SALO/HEAD/scripts/train_sparse_on_squad.sh --------------------------------------------------------------------------------