[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Call for GSoC/Outreachy internship project ideas
From: |
Palmer Dabbelt |
Subject: |
Re: Call for GSoC/Outreachy internship project ideas |
Date: |
Tue, 30 Jan 2024 11:40:52 -0800 (PST) |
On Mon, 15 Jan 2024 08:32:59 PST (-0800), stefanha@gmail.com wrote:
Dear QEMU and KVM communities,
QEMU will apply for the Google Summer of Code and Outreachy internship
programs again this year. Regular contributors can submit project
ideas that they'd like to mentor by replying to this email before
January 30th.
It's the 30th, sorry if this is late but I just saw it today. +Alistair
and Daniel, as I didn't sync up with anyone about this so not sure if
someone else is looking already (we're not internally).
Internship programs
---------------------------
GSoC (https://summerofcode.withgoogle.com/) and Outreachy
(https://www.outreachy.org/) offer paid open source remote work
internships to eligible people wishing to participate in open source
development. QEMU has been part of these internship programs for many
years. Our mentors have enjoyed helping talented interns make their
first open source contributions and some former interns continue to
participate today.
Who can mentor
----------------------
Regular contributors to QEMU and KVM can participate as mentors.
Mentorship involves about 5 hours of time commitment per week to
communicate with the intern, review their patches, etc. Time is also
required during the intern selection phase to communicate with
applicants. Being a mentor is an opportunity to help someone get
started in open source development, will give you experience with
managing a project in a low-stakes environment, and a chance to
explore interesting technical ideas that you may not have time to
develop yourself.
How to propose your idea
----------------------------------
Reply to this email with the following project idea template filled in:
=== TITLE ===
'''Summary:''' Short description of the project
Detailed description of the project that explains the general idea,
including a list of high-level tasks that will be completed by the
project, and provides enough background for someone unfamiliar with
the codebase to do research. Typically 2 or 3 paragraphs.
'''Links:'''
* Wiki links to relevant material
* External links to mailing lists or web sites
'''Details:'''
* Skill level: beginner or intermediate or advanced
* Language: C/Python/Rust/etc
I'm not 100% sure this is a sane GSoC idea, as it's a bit open ended and
might have some tricky parts. That said it's tripping some people up
and as far as I know nobody's started looking at it, so I figrued I'd
write something up.
I can try and dig up some more links if folks thing it's interesting,
IIRC there's been a handful of bug reports related to very small loops
that run ~10x slower when vectorized. Large benchmarks like SPEC have
also shown slowdowns.
---
=== RISC-V Vector TCG Frontend Optimization ===
'''Summary:''' The RISC-V vector extension has been implemented in QEMU,
but we have some performance pathologies mapping it to existing TCG
backends. This project would aim to improve the performance of the
RISC-V vector ISA's mappings to TCG.
The RISC-V TCG frontend (ie, decoding RISC-V instructions
and emitting TCG calls to emulate them) has some inefficient mappings to
TCG, which results in binaries that have vector instructions frequently
performing worse than those without, sometimes even up to 10x slower.
This causes various headaches for users, including running toolchain
regressions and doing distro work. This project's aim would be to bring
the performance of vectorized RISC-V code to a similar level as the
corresponding scalar code.
This will definitely require changing the RISC-V TCG frontend. It's
likely there is some remaining optimization work that can be done
without adding TCG primitives, but it may be necessary to do some core
TCG work in order to improve performance sufficiently.
'''Links:'''
* https://lists.gnu.org/archive/html/qemu-devel/2023-07/msg04495.html
'''Details'''
* Skill level: intermediate
* Language: C, RISC-V assembly
More information
----------------------
You can find out about the process we follow here:
Video: https://www.youtube.com/watch?v=xNVCX7YMUL8
Slides (PDF): https://vmsplice.net/~stefan/stefanha-kvm-forum-2016.pdf
The QEMU wiki page for GSoC 2024 is now available:
https://wiki.qemu.org/Google_Summer_of_Code_2024
Thanks,
Stefan
Re: Call for GSoC/Outreachy internship project ideas, Alexander Graf, 2024/01/30
Re: Call for GSoC/Outreachy internship project ideas,
Palmer Dabbelt <=
Re: Call for GSoC/Outreachy internship project ideas, Stefan Hajnoczi, 2024/01/31