Nuno Lopes via llvm-dev
2021-Feb-17 10:29 UTC
[llvm-dev] Fwd: Superoptimization for RISC-V: What is the state of the art now?
STOKE & Souper are the most well supported & maintained superoptimization tools out there. They are very different: STOKE does genetic search, while Souper uses only SMT solvers for (symbolic) search. There’s also Rosette, which does a hybrid of concrete & symbolic search (mixing concrete search with other techniques seems to be the way to go). I would also look at the SyGuS competition (syntax-guided synthesis). These tools, such as CVC4, can be used for superoptimization as well. In terms of tools, I think that’s it. In terms of papers, there are plenty of research groups working on synthesis in general. Nuno From: Wei Wu Sent: 17 February 2021 09:54 To: llvm-dev <llvm-dev at lists.llvm.org> Subject: [llvm-dev] Fwd: Superoptimization for RISC-V: What is the state of the art now? Hi all, I appreciate it if you can drop some information/papers/open source project urls that are related to superoptimization. Although I am targeting RISC-V ISA, there might be some other research works / open source projects available in the LLVM community. (Sorry for the duplicate email.) ---------- Forwarded message --------- From: Wei Wu (吴伟) <lazyparser at gmail.com <mailto:lazyparser at gmail.com> > Date: Wed, Feb 17, 2021 at 12:26 PM Subject: Superoptimization for RISC-V: What is the state of the art now? To: RISC-V SW Dev <sw-dev at groups.riscv.org <mailto:sw-dev at groups.riscv.org> > Hi all, In the last code optimization meeting (formly code-size-reduction and code-speed-opt), the idea of using superoptimization[4] for RISC-V had been discussed. I'm interested in this area. After a quick search I found very few results, though. GNU/Embecosm had a superopt [1] but I am not sure it still works either for GCC 10 or RISC-V backend. Google open sourced a LLVM-IR level tool named souper[2] would help. STOKE[3] is yet another optimizer which targets x86 only. I appreciate it if you can drop some information/papers/open source project urls that are related to superoptimization. I am going to stand on the basis of gnu-superopt[1], and not sure it is the right/effective way to go. Thanks. [1] https://github.com/embecosm/gnu-superopt [2] https://github.com/google/souper [3] https://github.com/StanfordPL/stoke [4] https://en.wikipedia.org/wiki/Superoptimization -- Best wishes, Wei Wu (吴伟) -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210217/5e125df0/attachment.html>
Wei Wu (吴伟) via llvm-dev
2021-Feb-17 10:58 UTC
[llvm-dev] Fwd: Superoptimization for RISC-V: What is the state of the art now?
Thanks! The SyGuS is fresh to me. I'll check them out. I searched Rosette and got lots of food results, and I hope this rosette[1] is the right one: [1] https://github.com/emina/rosette Please correct me if I looked at the wrong repo. On Wed, Feb 17, 2021 at 6:29 PM Nuno Lopes <nunoplopes at sapo.pt> wrote:> STOKE & Souper are the most well supported & maintained superoptimization > tools out there. They are very different: STOKE does genetic search, while > Souper uses only SMT solvers for (symbolic) search. > > There’s also Rosette, which does a hybrid of concrete & symbolic search > (mixing concrete search with other techniques seems to be the way to go). > > > > I would also look at the SyGuS competition (syntax-guided synthesis). > These tools, such as CVC4, can be used for superoptimization as well. > > > > In terms of tools, I think that’s it. In terms of papers, there are > plenty of research groups working on synthesis in general. > > > > Nuno > > > > > > *From:* Wei Wu > > *Sent:* 17 February 2021 09:54 > *To:* llvm-dev <llvm-dev at lists.llvm.org> > *Subject:* [llvm-dev] Fwd: Superoptimization for RISC-V: What is the > state of the art now? > > > > Hi all, > > > > I appreciate it if you can drop some information/papers/open source > project urls that are related to superoptimization. Although I am targeting > RISC-V ISA, there might be some other research works / open source projects > available in the LLVM community. > > > > (Sorry for the duplicate email.) > > > > ---------- Forwarded message --------- > From: *Wei Wu (**吴**伟)* <lazyparser at gmail.com> > Date: Wed, Feb 17, 2021 at 12:26 PM > Subject: Superoptimization for RISC-V: What is the state of the art now? > To: RISC-V SW Dev <sw-dev at groups.riscv.org> > > > > Hi all, > > > > In the last code optimization meeting (formly code-size-reduction and > code-speed-opt), the idea of using superoptimization[4] for RISC-V had been > discussed. I'm interested in this area. After a quick search I found very > few results, though. GNU/Embecosm had a superopt [1] but I am not sure it > still works either for GCC 10 or RISC-V backend. Google open sourced a > LLVM-IR level tool named souper[2] would help. STOKE[3] is yet another > optimizer which targets x86 only. > > > > I appreciate it if you can drop some information/papers/open source > project urls that are related to superoptimization. I am going to stand on > the basis of gnu-superopt[1], and not sure it is the right/effective way to > go. > > > > Thanks. > > > > [1] https://github.com/embecosm/gnu-superopt > > [2] https://github.com/google/souper > > [3] https://github.com/StanfordPL/stoke > > [4] https://en.wikipedia.org/wiki/Superoptimization > > > > -- > > Best wishes, > Wei Wu (吴伟) >-- Best wishes, Wei Wu (吴伟) -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210217/bcf2b7c9/attachment.html>