LLVMのGSoC 2020に採択された

表題の通りGSoC 2020にProposalが採択されました。
summerofcode.withgoogle.com
Applyするに当たってたくさんの過去の参加者のブログを参考にさせていただいたので、僕も応募までに何をしたかを軽く記録しておきます。

Proposal

最終的に提出したProposalがこちらです(大した個人情報は載ってないのでそのままです)
docs.google.com

2月末

今年のOrganizationが発表される前に去年のをある程度眺めておきました。深く知っていたりよく使うOSSがあまりないのでどうしようかなぁと思って迷っていました。
2月にしたのはそれくらいで、2月末のCPU実験の最終発表をとりあえず頑張ろうと思ってコンパイラを頑張って書いていました

3月頭

CPU実験の影響もあって実際の大きなコンパイラの最適化に興味が出てきたのでGNULLVMのOpen projectのページを眺めました。GNUの方はRequirementにbe familiar with (よくわからん何か)とほとんどのものに書いてあったので諦めました。そしてLLVMのプロジェクトの一つにあった"Improve inter-procedural analyses and optimizations"が、自分の興味にもマッチしていたし、desirable skillsも大丈夫そうだったのでそれを選ぶことにして、メンター候補の方にメールを送りました。Preparation resourceの動画を見るも英語があまり聞き取れずに頭を抱えていましたが何回も見返したり去年のGSoCで動画の内容に関連する部分を実装されていた18erのuenokuさんの記事に大きく助けられたりしながらプロジェクトの内容把握につとめていました。uenoku.hatenablog.com

3月中頃

貧弱なマシンしか持っていないので学科PCで環境構築したり、パッチを当てたりしていました。今年は応募者が多いという話を聞いたりして多分無理なんやろなぁと思いながら作業してた気がします。

3月終盤

Proposalを書いていました。選んだプロジェクトはかなりふわっとしているので詳細を自分で詰める必要があり大変でした(それが普通かも)。既存のテストを眺めまくって現状を把握したりメンターとメールで相談したりしながら1週間くらいで書き上げました。Grammarly Premiumは最高です。

意気込み的何か

正直今まで経験したことないくらい不安です(メンターとの英会話とかも含めて)
演習3,ICPC,院試...といくらでも破滅要素があるのでなんとか完走できるように頑張りたいです。