GSoC: PTX Back-End for LLVM

Hi All,

I am going to submit a GSoC proposal for LLVM this year, and I would like to first post it here to get constructive feedback before I submit it before the April 8 deadline. This is the first time I have submitted a GSoC proposal, so please be brutal with the feedback. :slight_smile:

Additionally, Che-Liang Chiou (the code owner of the PTX back-end) has agreed to be my mentor if this is accepted. What does he need to do to become an official mentor?

Hi All,

I am going to submit a GSoC proposal for LLVM this year, and I would like to first post it here to get constructive feedback before I submit it before the April 8 deadline. This is the first time I have submitted a GSoC proposal, so please be brutal with the feedback. :slight_smile:

Additionally, Che-Liang Chiou (the code owner of the PTX back-end) has agreed to be my mentor if this is accepted. What does he need to do to become an official mentor?

He needs to sign up to be a mentor:
http://www.google-melange.com/gsoc/org/google/gsoc2011/llvm

Scroll down to "Or register as a mentor"

-Tanya

Hi, Justin

I am going to submit a GSoC proposal for LLVM this year, and I would like to
first post it here to get constructive feedback before I submit it before
the April 8 deadline. This is the first time I have submitted a GSoC
proposal, so please be brutal with the feedback. :slight_smile:

  Can I join this project, if possible? I am also interested in PTX
backend.

Regards,
chenwj

Hi chenwj,

you can obviously contribute to the LLVM PTX backend and I am sure Justin will help to review your patches.

However, if you are asking in respect of the Google Summer of Code, then it is not possible for two students to apply together for one project. You can apply for the same project as Justin and LLVM is free to take both of you. However, most probably the better application will win. Another option is that you discuss with Justin and Che-Liang Chiou to see if it is possible for both of you to focus on different parts of the PTX code generation, such that both of you work in the same area, but on different sub-projects. Another project closely related PTX may e.g. include work on the clang CUDA or OpenCL frontend which Justin pointed out as still being unfinished. See in his "Future Work" section.

Cheers
Tobi

Hi Justin,

I think this is a great idea. I am highly interested in PTX code generation.

[...Proposal...]

The proposal is nice and shows that you already have a good idea of your project.

Here some ideas how you can further improve it:

1. Milestones / Time line

You already have a two-phase development plan. I believe it would be nice, if you can further split it into a set of smaller milestones. Each could include a short description of what you plan to deliver, how long its implementation will take and when you plan to implement it during the summer of code. Those milestones could be sorted into the time frame you have for the GSoC. In addition, you could define "Success Criteria" for the midterm/final evaluation.

This will make it easy to see during GSoC, if you are on track with your project and will allow you and your mentor to readjust your milestones if necessary.

When developing mile stones and success criteria, better be conservative and only add items you are confident you can implement during GSoC. You can add additionally a set of "if time permits" milestones, where you put the stuff that is not 100% needed, but that would be good to have.

2. It would be nice to include a description of the examples you have already tested

3. Define the exceptions

It would be good to know what parts you definitely do not plan to implement and best why not (Postponed, impossible, not relevant, ...).
Like this people can understand to what extend your backend will be usable after the GSoC.

4. Phase two is currently a little short

What kind of optimizations do you plan? Have you already an idea or will you investigate this when you get to this point? How much time do you plan to spend on Part II? If it is more than two weeks, it would be good to elaborate a little on what you plan to do there exactly.

So that's all for the moment. As the application was already nice, I just did some conceptually nitpicking. :wink:

Cheers
Tobi

FWIW, I may be able to provide informal assistance to any GSoC project
student working on the CUDA or OpenCL frontends, but I doubt I'd have
time to act as a mentor.

Thanks,

Hi All,

I am going to submit a GSoC proposal for LLVM this year, and I would
like to first post it here to get constructive feedback before I submit
it before the April 8 deadline. This is the first time I have submitted
a GSoC proposal, so please be brutal with the feedback. :slight_smile:

Hi Justin,

I think this is a great idea. I am highly interested in PTX code generation.

[…Proposal…]

The proposal is nice and shows that you already have a good idea of your project.

Here some ideas how you can further improve it:

  1. Milestones / Time line

You already have a two-phase development plan. I believe it would be nice, if you can further split it into a set of smaller milestones. Each could include a short description of what you plan to deliver, how long its implementation will take and when you plan to implement it during the summer of code. Those milestones could be sorted into the time frame you have for the GSoC. In addition, you could define “Success Criteria” for the midterm/final evaluation.

This will make it easy to see during GSoC, if you are on track with your project and will allow you and your mentor to readjust your milestones if necessary.

When developing mile stones and success criteria, better be conservative and only add items you are confident you can implement during GSoC. You can add additionally a set of “if time permits” milestones, where you put the stuff that is not 100% needed, but that would be good to have.

  1. It would be nice to include a description of the examples you have already tested

  2. Define the exceptions

It would be good to know what parts you definitely do not plan to implement and best why not (Postponed, impossible, not relevant, …).
Like this people can understand to what extend your backend will be usable after the GSoC.

  1. Phase two is currently a little short

What kind of optimizations do you plan? Have you already an idea or will you investigate this when you get to this point? How much time do you plan to spend on Part II? If it is more than two weeks, it would be good to elaborate a little on what you plan to do there exactly.

So that’s all for the moment. As the application was already nice, I just did some conceptually nitpicking. :wink:

Thanks for the comments!

I have updated the proposal; it can be found at: https://sites.google.com/site/justinholewinski/projects/gsoc/llvm-ptx-back-end-2011

Please let me know if you have any comments before I submit it to Melange in the next few days!

Hi,

you can obviously contribute to the LLVM PTX backend and I am sure
Justin will help to review your patches.

  I think I prefer this way rather than proposing another GSoC project.
Justin, can I join your project?

Regards,
chenwj

Hi chenwj,

I guess what Tobi meant is that although a GSoC project does not allow
two students, you may send patches to llvmdev anyway. You may cc to me
when you send your patches. I am glad to review your patches.

Regards,
Che-Liang

No, no more comments. Nice application. Good luck.

Tobias