To the list:<br /> <br /> Tons of LLVM research is being done that is damn near worthless to anyone but the person who did it because the team doesn't publish supporting code or even describe at a high level description of the algorithms they're using. And the excuse is always, ALWAYS the same: "we need to clean up the code before we release it."<br /> <br /> No! Just put a repository up (or make a tarball)! This is open source. Code is never perfect, so just put it out there with the same BSD-style license as LLVM. Every programmer can read code, even bad code, especially when there's a research paper or thesis to go along with it. Every delay in releasing code just slows down the progress of the the world. That's the only "benefit": slowing the progress of other researchers. If the code is needed to replicate your research, for the love of Turing *publish it alongside the research*.<br /> <br /> Look, the LLVM project has already set a great example with its permissive BSD license and all LLVM development is done out in the open; I see (and read) every commit. The rest of us need to get with the program and follow suit. If you publish research built on top of LLVM, please,*please*, PLEASE at least make a tarball of the source code available alongside the research so the rest of us can view it, build on it, and improve it.<br /> <br /> Thanks!<br /> <br /> Best, Erich Ocean<br /> <br /> P.s. I too would like access to a PTX backend for LLVM. :-)<br /> <br /> On Sat, Mar 27, 2010 at 6:28 PM, Ralf Karrenberg (Chareos@gmx.de) wrote:<br />> <br /> > Hey,<br /> > <br /> > Chris Lattner schrieb: <br /> > > On Mar 26, 2010, at 11:28 PM, Puyan Lotfi wrote: <br /> > > <br /> > >> Hi <br /> > >> <br /> > >> I am interested to know: are there are any LLVM targets in the works <br /> > >> for Nvidia's PTX ISA? <br /> > >> <br /> > >> Also if anyone knows about Ocelot (a project done by some students at <br /> > >> my school): it does the opposite of what I am trying to do (translates <br /> > >> PTX to LLVM IR to run Cuda kernels on the CPU). <br /> > > <br /> > > I don't know of any, but that would be a great project if the nvidia toolchain is sufficiently available for it to be useful to open source folks.<br /> > <br /> > Helge Rhodin, a student at Saarland University, has already written a <br /> > PTX backend for LLVM as part of his bachelor's thesis. We currently use <br /> > it for a deferred shading system of a rasterizer. <br /> > The plan is to reintegrate it into the LLVM trunk, but we have not yet <br /> > made any steps into this direction.<br /> > <br /> > Best regards, <br /> > Ralf <br /> > _______________________________________________ <br /> > LLVM Developers mailing list <br /> > <a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a> <a target="_blank" href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a> <br /> > <a target="_blank" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a> <br /> >
Hi, (Disabling lurk mode) I must admit, I believe this would be an extremely valuable addition to llvm, to the point where I was also seriously considering writing this backend. The main thing holding me back is the thought that other people are almost certainly working on the same thing (probably including nvidia)! I assume it's not yet ready to publish, but it's worth remembering that feedback from use of research in practice is a major plus point for any thesis J. +1 for even a tarball please! Ta, Sam From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of llvmdev at erichocean.oib.com Sent: 28 March 2010 15:40 To: llvmdev at cs.uiuc.edu Subject: Re: [LLVMdev] PTX target for LLVM? To the list: Tons of LLVM research is being done that is damn near worthless to anyone but the person who did it because the team doesn't publish supporting code or even describe at a high level description of the algorithms they're using. And the excuse is always, ALWAYS the same: "we need to clean up the code before we release it." No! Just put a repository up (or make a tarball)! This is open source. Code is never perfect, so just put it out there with the same BSD-style license as LLVM. Every programmer can read code, even bad code, especially when there's a research paper or thesis to go along with it. Every delay in releasing code just slows down the progress of the the world. That's the only "benefit": slowing the progress of other researchers. If the code is needed to replicate your research, for the love of Turing *publish it alongside the research*. Look, the LLVM project has already set a great example with its permissive BSD license and all LLVM development is done out in the open; I see (and read) every commit. The rest of us need to get with the program and follow suit. If you publish research built on top of LLVM, please,*please*, PLEASE at least make a tarball of the source code available alongside the research so the rest of us can view it, build on it, and improve it. Thanks! Best, Erich Ocean P.s. I too would like access to a PTX backend for LLVM. :-) On Sat, Mar 27, 2010 at 6:28 PM, Ralf Karrenberg (Chareos at gmx.de) wrote:> > Hey, > > Chris Lattner schrieb: > > On Mar 26, 2010, at 11:28 PM, Puyan Lotfi wrote: > > > >> Hi > >> > >> I am interested to know: are there are any LLVM targets in theworks> >> for Nvidia's PTX ISA? > >> > >> Also if anyone knows about Ocelot (a project done by some studentsat> >> my school): it does the opposite of what I am trying to do(translates> >> PTX to LLVM IR to run Cuda kernels on the CPU). > > > > I don't know of any, but that would be a great project if the nvidiatoolchain is sufficiently available for it to be useful to open source folks.> > Helge Rhodin, a student at Saarland University, has already written a > PTX backend for LLVM as part of his bachelor's thesis. We currentlyuse> it for a deferred shading system of a rasterizer. > The plan is to reintegrate it into the LLVM trunk, but we have not yet> made any steps into this direction. > > Best regards, > Ralf > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100329/e506958f/attachment.html>
+1 for the PTX Backend, could lead to all sort of new things Fabrizio -------------------------- Luck favors the prepared mind. (Pasteur)
On Sunday 28 March 2010 16:39:44 llvmdev at erichocean.oib.com wrote:> To the list: > > Tons of LLVM research is being done that is damn near worthless to anyone > but the person who did it because the team doesn't publish supporting code > or even describe at a high level description of the algorithms they're > using. And the excuse is always, ALWAYS the same: "we need to clean up the > code before we release it."I certainly agree that publishing code is A Good Thing and will help scientific progress, but we don't live in an ideal world. There are perfectly valid reasons to publish code late or even never.> No! Just put a repository up (or make a tarball)! This is open source. > Code is never perfect, so just put it out there with the same BSD-style > license as LLVM. Every programmer can read code, even bad code, especially > when there's a research paper or thesis to go along with it. Every delay > in releasing code just slows down the progress of the the world. That's > the only "benefit": slowing the progress of other researchers. If the code > is needed to replicate your research, for the love of Turing *publish it > alongside the research*.It's not that easy, unfortunately. To get funding for research, publications still count more than whether your code is used by others or not. Code (re)use is also often not properly cited, nor tracked and valued as "contributions" as much as it should be. Some communities are better than others in this, but in general you cannot expect groups from academia to risk their future funding. These decisions always depend on the community you are in, how the other researchers in your community behave, etc. Also, there are other practical reasons for publishing later (or for publishing code that is polished and idiot-proof). For example, some people don't understand the difference between a code drop and a release that is supposed to work in every case. Some treat any piece of code that they can get as final release, never update even if you publish new versions, and report results based on this (ie, there might be a risk it will be (accidentally) misused). You might get more (support) questions due to instable code than you can handle, and you don't want people to loose interest because you seem to be unresponsive.> Look, the LLVM project has already set a great example with its permissive > BSD license and all LLVM development is done out in the open; I see (and > read) every commit. The rest of us need to get with the program and follow > suit. If you publish research built on top of LLVM, please,*please*, > PLEASE at least make a tarball of the source code available alongside the > research so the rest of us can view it, build on it, and improve it. > > Thanks! > > Best, Erich Ocean > > P.s. I too would like access to a PTX backend for LLVM. :-)Perhaps you should just have asked for access, if that was your intention. Torvald
On Thursday 01 April 2010 06:30:46 Torvald Riegel wrote:> > No! Just put a repository up (or make a tarball)! This is open source. > > Code is never perfect, so just put it out there with the same BSD-style > > license as LLVM. Every programmer can read code, even bad code, > > especially when there's a research paper or thesis to go along with it. > > Every delay in releasing code just slows down the progress of the the > > world. That's the only "benefit": slowing the progress of other > > researchers. If the code is needed to replicate your research, for the > > love of Turing *publish it alongside the research*. > > It's not that easy, unfortunately. To get funding for research, > publications still count more than whether your code is used by others or > not.[NOTE: This is MY opinion and not reflective of what people at Cray may or may not think nor does it in any way imply a company-wide position.] The is actually part of a larger problem within the computing research community. Unlike the hard sciences, we don't require reproducibility of results. This leads to endless hours of researchers fruitlessly trying to improve upon results that they can't even verify in the first place. The result is haphazard guesses and lower quality publications which are of little use in the real world. I've talked to high-up engineers at IBM who refuse to believe any research publication until they've verified it themselves with their own simulators, etc. Something like 99% of the time they find results to be meaningless or not reproducible. Now, the ideas are the most valuable part of a publication, but it is important to be able to validate the idea. I disagree with the current practice of not accepting papers that don't show a 10% improvement in whatever area is under consideration. I believe we should also publish papers that show negative results. This would save researchers an enormous amount of time. Moreover, ideas that were wrong 20 years ago may very well be right today. The combination of the current "10% or better" practice with no requirement for reproducibility means there's very little incentive to release tools and code used for the experiments. In fact there is disincentive, as we wouldn't want some precocious student to demonstrate the experiment was flawed. This is another problem, in that researchers view challenges as personal threats rather than a chance to advance the state of the art and students are encouraged to combatively challenge published research rather than work with the original publishers to improve it. We need an overhaul of the system. -Dave