Commit Graph

143 Commits

Author SHA1 Message Date
Hanchen Ye 6b5d682df1 [ConvertToHLSCpp] support defining top function; [EmitHLSCpp] support to emit interface pragmas according to whether the current function is top function or not 2020-12-09 18:59:00 -06:00
Hanchen Ye a17a1abeda [EmitHLSCpp] support CallOp emission; fixed a bug when emitting scalar s_axilite interface 2020-12-09 17:24:49 -06:00
Hanchen Ye b01d469bf3 [SplitFunction] start of split-function pass 2020-12-09 13:04:51 -06:00
Hanchen Ye cbadc8f831 [Samples] add array-partition into ablation study; [ArrayPartition] support AffineStoreOp; bug fixes in EmitHLSCpp and ConvertToHLSCpp 2020-12-08 12:35:44 -06:00
Hanchen Ye 6a504e576a [EmitHLSCpp] update ArrayOp emission logic 2020-12-07 23:32:51 -06:00
Hanchen Ye f9bf38240e [ArrayPartition] impl of this pass; note that due to the insufficient AffineExpr simplification mechanism in MLIR, this pass can't handle too complicated cases 2020-12-07 23:24:15 -06:00
Hanchen Ye 03b2695fe7 [Samples] fix bugs in ablation study script 2020-12-07 13:06:43 -06:00
Hanchen Ye 89eadd6102 [Samples] support output test result summary 2020-12-07 12:09:34 -06:00
Hanchen Ye cf364bb5e0 [Readme] update ablation study part 2020-12-07 00:12:27 -06:00
Hanchen Ye a06d34e837 [ArrayPartition] start of array partition pass 2020-12-07 00:03:51 -06:00
Hanchen Ye 7cb98f3a87 [Samples] add ablation test script; update Readme; bug fix in InsertPipelinePragma 2020-12-06 23:48:20 -06:00
Hanchen Ye 939f01cd05 [InsertPipelinePragma] imple of this pass; support to specify the insertion level 2020-12-05 23:53:18 -06:00
Hanchen Ye 1ba479f1e6 [RemoveValLoopBound] impl this pass; only support single-dim variable upper bound 2020-12-05 23:26:58 -06:00
Hanchen Ye a57f014e6b [PartialAffineLoopTile] add the impl of this pass 2020-12-05 21:18:49 -06:00
Hanchen Ye 1996c05840 [AffineLoopPerfection] support variable lower/upper loop bound; start of test cases of Transform/AffineLoopPerfection and benchmark-gen 2020-12-05 00:31:14 -06:00
Hanchen Ye 8be4fd1211 [AffineLoopPerfection] add this new pass: now only support sequential nested loop and constant loop bound 2020-12-04 23:24:16 -06:00
Hanchen Ye 1fa7700ae8 [Conversion] update all conversion passes definition to TableGen 2020-12-04 18:34:24 -06:00
Hanchen Ye b499026303 [HLSKernelToAffine] update lowering of all ops 2020-12-04 17:47:47 -06:00
Hanchen Ye 2ddf317e95 [BenchmarkGen] fix a small bug 2020-12-03 14:11:03 -06:00
Hanchen Ye fc1443e90a [HLSKernelToAffine] update TrmmOp lowering; update all BLASOps test cases 2020-12-03 14:03:09 -06:00
Hanchen Ye 7ec04a909a [Samples] add a script for reporting HLS result for the test cases under test/Conversion/HLSKernelToAffine; remove unrelated files 2020-12-02 18:54:59 -06:00
Hanchen Ye e66887f5aa [BenchmarkGen] update cnn-config.ini comments 2020-12-01 23:45:56 -06:00
Hanchen Ye 41b5cb32a8 [BenchmarkGen] update CNN benchmarkGen, now all kernels and biases become function arguments 2020-12-01 23:37:28 -06:00
Hanchen Ye 7d9ee1b965 [BenchmarkGen] support more CNN generation config 2020-12-01 22:58:19 -06:00
Hanchen Ye a8a6d639e1 [HLSKernel] CNNOps verifiers (#16) 2020-12-01 22:44:00 -06:00
Hanchen Ye 192e3e3fd7 [BenchmarkGen] support generating the last dense layer, and impl corresponding affine lowering (#15) 2020-12-01 21:20:39 -06:00
Hanchen Ye e5cd6673e7 [BenchmarkGen] support generate CNN benchmarks without considering the last dense layer (#15) 2020-12-01 18:31:23 -06:00
Hanchen Ye ea7b6a1495 [HLSKernelToAffine] ConvOp lowering supports padding 2020-12-01 13:03:43 -06:00
Hanchen Ye ac91499235 [HLSKernelToAffine] rewrite SymmOp lowering with if statement 2020-12-01 11:22:35 -06:00
Hanchen Ye ac4f3725d1 [HLSKernelToAffine] impl of SyrkOp, Syr2kOp, and TrmmOp lowering 2020-12-01 00:49:50 -06:00
Hanchen Ye ac1c9966a8 [HLSKernelToAffine] impl of GemmOp and SymmOp lowering 2020-11-30 22:57:42 -06:00
Hanchen Ye 29aff5e6fb [HLSKernel] update BLASOps def; [HLSKernelToAffine] start of BLASOps lowering 2020-11-30 21:02:11 -06:00
Hanchen Ye 10050bc6a3 [HLSKernelToAffine] lowering impl of MergeOp 2020-11-30 12:45:34 -06:00
Hanchen Ye 8f1eadd913 [HLSKernel] rewrite def of CNNOps, all input and output are bufferized now; add mergeOp; [HLSKernelToAffine] update a compact lowering impl; [HLSKernelToLinalg] removed because this will not bring us significant simplification/convenience 2020-11-30 12:39:41 -06:00
Hanchen Ye c9d694c65c [HLSKernelToLinalg] add SymmOp lowering 2020-11-23 15:42:36 -06:00
Hanchen Ye 78eecf18da [EmitHLSCpp] fix emitAllocOp bug; remove addAlias call when emitting arrayOp 2020-11-19 20:32:50 -06:00
Hanchen Ye cc0b6cb065 [HLSKernelToLinalg] impl of gemm op lowering 2020-11-19 18:06:31 -06:00
Hanchen Ye ba0b949477 [HLSKernel] add BLASOps and ISPOps 2020-11-18 22:56:07 -06:00
Hanchen Ye c6ce8991d7 [HLSKernelToLinalg] add to linalg converter 2020-11-18 20:17:17 -06:00
Hanchen Ye 321dceafae [BenchmarkGen] start of cnn test case generation 2020-11-10 23:34:40 -06:00
Hanchen Ye 219bbf99a1 [BenchmarkGen] impl benchmark-gen tool command line entry (#12) 2020-11-09 22:39:34 -06:00
Hanchen Ye 9648b7dc0a [EmitHLSCpp] support scf if/for/yield emission (#14) 2020-11-05 21:05:44 -06:00
Hanchen Ye 2fb35bdc68 [EmitHLSCpp] start of supporting scf ops; [scalehls-gen] start of benchmark generation 2020-11-05 18:20:17 -06:00
Hanchen Ye 24cf815ee6 [Readme] add LLVM install instruction 2020-11-05 17:56:34 -06:00
Hanchen Ye 445fd5cb6a [Readme] update install instruction 2020-11-05 17:41:58 -06:00
Hanchen Ye cf4e36e626 [HLSKernelToAffine] impl lowering of maxpool, relu, gemm ops 2020-11-05 15:48:47 -06:00
Hanchen Ye 6adc65da7a [HLSKernel] add maxpool, relu, and gemm operations 2020-11-04 22:40:29 -06:00
Hanchen Ye e74dde111a [Readme] update install instruction 2020-11-03 10:06:04 -06:00
Hanchen Ye f8a9121469 Update to latest LLVM (035e12e6644) 2020-11-03 10:03:10 -06:00
Hanchen Ye c39676e400 small bug fixed 2020-11-02 18:31:31 -06:00