Hi all, I have some ideas for GSOC projects using LLVM, where should I post them? Idea #1: llvm-env A simple tool, with little or no dependency on LLVM itself, that will investigate a target architecture by probing hardware, software, libraries and compiling and executing code to identify all properties that would be relevant to command-line options, triple settings etc. The first stage is to build a CFLAGS for Clang that would produce code on the current Host to the identified Target. The second stage would be to produce a configuration file (that can be used independently of the Host) so that Clang can read it and not need a gazillion of command-line options. Such file should be simple JSON / INI or anything that Vim could change. Idea #2: LNT perf Monitor The LNT perf database has some nice features like detect moving average, standard deviations, variations, etc. But the report page give too much emphasis on the individual variation (where noise can be higher than signal). The first part of the project would be to create an analysis tool that would track moving averages and report: * If the current result is higher/lower than the previous moving average by more than (configurable) S standard deviations * If the current moving average is more than S standard deviations of the Base run * If the last A moving averages are in constant increase/decrease of more than P percent The second part would be to create a web page which would show all related benchmarks (possibly configurable, like a dashboard) and show the basic statistics with red/yellow/green colour codes to show status and links to more detailed analysis of each benchmark A possible third part would be to be able to automatically cross reference different builds, so that if you group them by architecture/compiler/number of CPUs, this automated tool would understand that the changes are more common to one particular group. cheers, --renato -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130227/f27b8590/attachment.html>
Here's another project idea: We really have needed a `clang-config` for a long time; it's absence makes building programs depending on Clang a pain. -- Sean Silva
On 27 February 2013 18:23, Sean Silva <silvas at purdue.edu> wrote:> Here's another project idea: > We really have needed a `clang-config` for a long time; it's absence > makes building programs depending on Clang a pain. >Hi Sean, Indeed, this is part of the idea. Or rather, the long term idea. I remember one of the critics of using tablegen for triple defaults and etc was that it wasn't easily configurable and was just made that way to keep compatibility with the ancient GCC triples, that were not triples to begin with. It was then that the idea of having configuration files was born (not from me), and I think that we should do something in that direction. But I have spoken to many people, on and off the list, and while all of them acknowledge that this is an important feature and one that affects us all, nobody so far (among people and companies) is willing to spend time on it. What I'm trying to do is to create self-contained projects with clear goals, so that this can at least progress. If this is more or less what you had in mind, maybe we could co-mentor folks for that combined project. :) cheers, --renato -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130227/24b3d8ef/attachment.html>
On Feb 27, 2013, at 9:24 AM, Renato Golin <renato.golin at linaro.org> wrote:> Hi all, > > I have some ideas for GSOC projects using LLVM, where should I post them?Please add them to llvm-www/OpenProjects.html. -Chris> > Idea #1: llvm-env > > A simple tool, with little or no dependency on LLVM itself, that will investigate a target architecture by probing hardware, software, libraries and compiling and executing code to identify all properties that would be relevant to command-line options, triple settings etc. > > The first stage is to build a CFLAGS for Clang that would produce code on the current Host to the identified Target. > > The second stage would be to produce a configuration file (that can be used independently of the Host) so that Clang can read it and not need a gazillion of command-line options. Such file should be simple JSON / INI or anything that Vim could change. > > > Idea #2: LNT perf Monitor > > The LNT perf database has some nice features like detect moving average, standard deviations, variations, etc. But the report page give too much emphasis on the individual variation (where noise can be higher than signal). > > The first part of the project would be to create an analysis tool that would track moving averages and report: > * If the current result is higher/lower than the previous moving average by more than (configurable) S standard deviations > * If the current moving average is more than S standard deviations of the Base run > * If the last A moving averages are in constant increase/decrease of more than P percent > > The second part would be to create a web page which would show all related benchmarks (possibly configurable, like a dashboard) and show the basic statistics with red/yellow/green colour codes to show status and links to more detailed analysis of each benchmark > > A possible third part would be to be able to automatically cross reference different builds, so that if you group them by architecture/compiler/number of CPUs, this automated tool would understand that the changes are more common to one particular group. > > cheers, > --renato > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Renato, Actually I wanted to send GSOC email about the open projects tonight. So, yes - please add them to the corresponding ideas pages. On Wed, Feb 27, 2013 at 10:57 PM, Chris Lattner <clattner at apple.com> wrote:> > On Feb 27, 2013, at 9:24 AM, Renato Golin <renato.golin at linaro.org> wrote: > >> Hi all, >> >> I have some ideas for GSOC projects using LLVM, where should I post them? > > Please add them to llvm-www/OpenProjects.html. > > -Chris > >> >> Idea #1: llvm-env >> >> A simple tool, with little or no dependency on LLVM itself, that will investigate a target architecture by probing hardware, software, libraries and compiling and executing code to identify all properties that would be relevant to command-line options, triple settings etc. >> >> The first stage is to build a CFLAGS for Clang that would produce code on the current Host to the identified Target. >> >> The second stage would be to produce a configuration file (that can be used independently of the Host) so that Clang can read it and not need a gazillion of command-line options. Such file should be simple JSON / INI or anything that Vim could change. >> >> >> Idea #2: LNT perf Monitor >> >> The LNT perf database has some nice features like detect moving average, standard deviations, variations, etc. But the report page give too much emphasis on the individual variation (where noise can be higher than signal). >> >> The first part of the project would be to create an analysis tool that would track moving averages and report: >> * If the current result is higher/lower than the previous moving average by more than (configurable) S standard deviations >> * If the current moving average is more than S standard deviations of the Base run >> * If the last A moving averages are in constant increase/decrease of more than P percent >> >> The second part would be to create a web page which would show all related benchmarks (possibly configurable, like a dashboard) and show the basic statistics with red/yellow/green colour codes to show status and links to more detailed analysis of each benchmark >> >> A possible third part would be to be able to automatically cross reference different builds, so that if you group them by architecture/compiler/number of CPUs, this automated tool would understand that the changes are more common to one particular group. >> >> cheers, >> --renato >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > _______________________________________________ > cfe-dev mailing list > cfe-dev at cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev-- With best regards, Anton Korobeynikov Faculty of Mathematics and Mechanics, Saint Petersburg State University