Hacker News new | past | comments | ask | show | jobs | submit login
LLVM for Grad Students (2015) (cornell.edu)
269 points by onderkalaci on Feb 4, 2018 | hide | past | favorite | 28 comments



I wish there were programs to help open source developers, who are already working on compilers, to get their work published and get credit for their effort.

Why should a person who pays a university to give them a project to do get a degree and recognition and someone who just likes compilers be left with some thumbs up on a mail list?


There are several conferences and journals that will accept submissions from open-source developers (or anyone else). Many have a blind reviewing process, so the lack of a famous name/affiliation shouldn't have an effect. Classic compiler conferences are PLDI (programming language design and implementation) and CGO (code generation and optimization). And of course, the LLVM conferences seem a natural venue.

But generally it's hard to publish code. Mostly you have to write a paper, and the paper usually has to have an element of novelty. Can't just be "I built this compiler!"

Lot of LLVM talks seem to be tutorials, which is another approach, and of course very useful.

Or you can do like Adrian Sampson and many others, and publish it via a blog. You won't get tenure that way, but most people don't care.


FWIW, papers that focus on implementation are (slowly) becoming acceptable in the compilers community. However, like you mentioned, novelty is essential.

The arxiv is another possible option for implementation papers (if you don’t mind piggybacking on another CoRR category like architecture or programming languages).


People doing PhDs generally don't pay the university, they get paid. Perhaps this needs to be more widely known so more people will do a PhD (society could certainly do with more people understanding how academic research is done, even if they don't all go into academia).


You pay the university by receiving grants that are split between your wages and the University fees.


No, that's not how PhD funding generally works in the US. A PhD student is typically funded either directly by the department of via grants that faculty within the department have obtained (or a bit of both). Graduate students can apply for external funding too, but it's generally pretty competitive, and the money goes primarily to the student.


I consider people receiving money in your name to be paid by that person. I know the departments grants aren't by name, they ate by head, but it's still the same thing.

The college isn't doing any charity here. They are getting paid your "tuition" and they need to take in grad students to keep getting those tuition grants.


I’m not following you. Are you somehow under the impression that departments receive grant money based on how many PhD students they have? It doesn’t work like that.


This more or less is how things work in the UK, where I am. Nevertheless, whether you're paid by the university or by a Research Council, you're still being paid.


>Why should a person who pays a university to give them a project to do get a degree and recognition

I have a few issues with this comment. I am a graduate student and while I personally work on the theory side, I have labmates involved in these sorts of projects.

We have to get chosen to work on a project (accepted to grad program, given funding, taken on as a student by a PL researcher) - these steps are all based on the merits of our undergraduate work, we are not simply paying to work on the project. We are directed by an expert in the field, given mentoring, and work on our projects 30-50 hours a week. It should not be surprising that most significant recognition-worthy work in programming language theory occurs in this environment.


And aren't research masters / phds almost never actually paying for university, after getting a research position? Paying for the degree is for undergrads and "professionals"


That’s exactly why saying our projects get recognition “just because we’re paying for a degree” is insulting. Getting into these research groups and receiving funding is usually pretty competitive, and we spend a lot of time on these projects while being supervised by experts. It should not be hard to believe that this leads to better work.


My impression, for computer science PhDs in the US, is that there's generally plenty of funding. On the other hand, they may have to search among professors and schools to find it.


And even then it depends, not all countries require paying for universities as undergrad.


> We are directed by an expert in the field, given mentoring, and work on our projects 30-50 hours a week. It should not be surprising that most significant recognition-worthy work in programming language theory occurs in this environment.

Yet there are still people who do not need this guidance and who are still making equally moving contributions but are not recognized or rewarded for their work.

Also by receiving grant money in your name you are paying to go to university.


>Yet there are still people who do not need this guidance and who are still making equally moving contributions but are not recognized or rewarded for their work.

And there’s substantially more people spinning their wheels and wasting their time, and they don’t even know enough to understand what they’re doing uninteresting.

>Also by receiving grant money in your name you are paying to go to university.

What does that even mean. You realize that working for free on an open source project is closer to “paying to work on a project”, right?


Are you saying that people should get help publishing papers, or that you think people doing work outside of university should be able to get the credits transferred?

The former I'd get behind, the latter not so much.


Great stuff! I've gotten pretty familiar with the way LLVM looks since Julia's `@code_llvm` in front of any function spits out the IR, which is something that can be useful to learn what's going on and debug performance. I agree that it's readily human readible. I hope to see a direct interface for adding passes to Julia in the near future.


This is really cool, I had no idea it was this straightforward to manipulate LLVM internals. Definitely a side project to explore.


This is one of the main reasons why LLVM took over. GCC is a nightmare to work with by comparison.



Probably worth adding (2015) to the title.


Why's that?


I for one appreciate when something that's several years old is clearly identified as such. That way I know that I should at least consider the possibility that what I'm reading, if I find it useful, is potentially out of date.


The LLVM api evolves rapidly. There is no way sample code from 2015 will compile cleanly with the latest version.


On HN, it's the convention to add the year when a story is more than a year and a bit old.


Thanks—added.


Thanks dang!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: