Open calebmkim opened 1 year ago
Awesome, thanks for compiling this list! I think we have a pretty solid story to tell with this set of benchmarks already! Of course, in the future, it would be nice to extend the scf
conversion so it can support the other benchmarks as well. I bet the ones that use scf.yield
probably also cannot be fully static.
Just an update: there were a couple benchmarks that I miscategorized, I've updated the original comment. But this doensn't change anything about the story though.
I've added support for arith.select
so we should see if the remaining benchmarks work: https://github.com/llvm/circt/pull/5857
Summary
30 Benchmarks:
arith.select
, and we don't supportscf.if
.arith.select
should be pretty easy, I imagine.scf.if
is a bit more difficult, becausescf.if
statement support yield statements)arith.mlir
doesn't have an sqrt operator, or because they multiply by things like 0.33, which will just round to multiply by 0 in integers.Among the 19 benchmarks that work:
(Edit): Summary of the three categories.
1) Don't Work: correlation, cholesky, gramschmidt, deriche, floyd-warshall, nussinov, adi, heat-3d, jacobi-1d, jacobi-2d, fdtd-2d, 2) Work Island: covariance, symm, syr2k, syrk, trmm, durbing, lu, ludcmp, seidel-2d, trisolv, 3) Work Fully Static: gemm, gemver, gesummv, 2mm, 3mm, atax, bicg, doitgen, mvt,
Table