<!--#include virtual="../../header.incl" -->

<div class="www_sectiontitle">2020 Virtual LLVM Developers' Meeting</div>

<div style="float:left; width:68%;">
<br>
<div style="width:100%;">
<table><tr>
<td valign="top">
<ol>
        <li><a href="#about">About</a></li>
        <li><a href="#dates">Important Dates</a></li>
        <li><a href="#grant">Travel Grants for Students</a></li>
        <li><a href="#logistics">Logistics</a></li>
        <li><a href="#coc">Code of Conduct</a></li>
        <li><a href="#contact">Contact</a></li>
</ol>
</td>

<td valign="top">
<ul>
  <li><b>Conference dates</b>: October 6-8, 2020</li>
  <li><b>Location</b>: Virtual!</s></li>
</ul>
</td>
</tr></table>
</div>

<div class="www_sectiontitle" id="about">About</div>

<p>The LLVM Developers' Meeting is a bi-annual 2 day gathering of the entire
LLVM Project community. The conference is organized by the LLVM Foundation and
many volunteers within the LLVM community. Developers and users of LLVM, Clang,
and related subprojects will enjoy attending interesting talks, impromptu
discussions, and networking with the many members of our community. Whether you
are a new to the LLVM project or a long time member, there is something for
each attendee.
</p>

<p>What can you can expect at an LLVM Developers' Meeting?
<dl>
<dt><b>Technical Talks</b></dt>
<dd>These 30 minutes talks cover all topics from core infrastructure talks,
to project's using LLVM's infrastructure. Attendees will take away technical
information that could be pertinent to their project or general interest.
</dd>

<dt><b>Tutorials</b></dt>
<dd>Tutorials are 50-60 minute sessions that dive down deep into a technical
topic. Expect in depth examples and explanations.
</dd>

<dt><b>Lightning Talks</b></dt>
<dd>These are fast 5 minute talks that give you a taste of a project or topic.
Attendees will hear a wide range of topics and probably leave wanting to learn
more.
</dd>

<dt><b>Panels</b></dt>
<dd>Panel sessions are guided discussions about a specific topic. The panel
consists of &tilde;3 developers who discuss a topic through prepared questions from a
moderator. The audience is also given the opportunity to ask questions of the
panel.
</dd>

<dt><b>Student Research Competition</b> </dt>
<dd>Students present their research using LLVM or related subproject. These are
usually 20 minute technical presentations with Q&amp;A. The audience will vote at
the end for the winning presentation and paper.
</dd>

<dt><b>Poster Session</b></dt>
<dd>An hour long session where selected posters are on display, with the presenters
available for learning more on each poster.</dd>

<dt><b>Round Table Discussions</b> </dt>
<dd>Informal and impromptu discussions on a specific topic. During the
conference there are set time slots where groups can organize to discuss a
problem or topic.</dd>

<dt><b>Birds of a Feather</b></dt>
<dd>More formal discussions on a specific topic that is usually guided by a slide deck.</dd>

<dt><b>Evening Reception</b> </dt>
<dd>After a full day if technical talks and discussions, join your fellow
attendees for an evening reception to continue the conversation and meet even
more attendees.</dd>
</dl>
</p>

<p>What types of people attend?
<ul>
  <li>Active developers of projects in the LLVM Umbrella
  (LLVM core, Clang, LLDB, libc++, compiler_rt, klee, lld, etc).</li>
  <li>Anyone interested in using these as part of another project.</li>
  <li>Students and Researchers</li>
  <li>Compiler, programming language, and runtime enthusiasts.</li>
  <li>Those interested in using compiler and toolchain technology in novel
  and interesting ways.</li>
</ul>

<p>The LLVM Developers' Meetings strive to be the <i>best conference</i> to
meet other LLVM developers and users.</p>

<p>For future announcements or questions: Please sign up for the
<a href="https://lists.llvm.org/mailman/listinfo/llvm-devmeeting"> LLVM Developers' Meeting list</a>.
</p>

<div class="www_sectiontitle" id="dates">Important Dates</div>
<p>
<ul>
<li>July 20: Talk proposal submission deadined</li>
<li>August 3: Talk notification</li>
<li>August 6: Registration opens</li>
<li>September 14: Videos of talks due</li>
</ul>
</p>

<div class="www_sectiontitle" id="cfp">Call for Presentations</div>
<p>
All developers and users of LLVM and related sub-projects are invited to present at the first virtual 2020 LLVM Developers’ Meeting!
</p>

<p>
We are looking for the following proposals:
<ol>

<li>Technical Talks (25-30 minutes including Q&A):
<br>Talks on:
<ul>
<li>LLVM Infrastructure,Clang and all related sub-projects</li>
<li>On uses of LLVM in academia or industry</li>
<li>On new projects using Clang or LLVM</li>
</ul>
</li>

<li>Tutorials (60 minutes)
<br>In depth talks on LLVM infrastructure or other core libraries, tools, etc. Demos encouraged.
</li>

<li>Student Research Competition Technical Talks & Poster (20-25 minutes including Q&A)
<br>Talks from students using LLVM, Clang, and all sub-projects in research.
The audience usually votes on a winner.
</li>

<li>Lightning Talks (5 minutes, no questions, no discussions)
<br>Quick talks about a use or improvement of LLVM and other sub-projects.
</li>

<li>Birds of a Feather (30 minutes)
<br>Historically these are informal and ad-hoc, but at our meeting they are prepared in advance and are guided discussions (usually with a slide deck) about a specific topic. For informal and ad-hoc, please consider a Round Table (details to come). 
</li>

<li>Panels (30-60 minutes)
<br>Panels may discuss any topic as long as it’s relevant to LLVM or related sub-projects. Panels can take many forms, but a common format is to begin with short introductions from each panel member, and follow with an interactive dialogue among the panelists and audience members. Panels should consist of at least 3 people and have a moderator.
</li>

<li>Posters (1 hour session)
<br>Posters presenting work using LLVM and related subprojects. Poster presenters will answer questions from attendees and give mini presentations. 
</li>
</ol>

<p>As this conference is virtual and our very first, we are still working out the numerous details. The length of the talk types below are subject to change, but the above gives you an idea of what we expect. The majority of the talks will be pre-recorded except for panels, birds of a feather, posters, and possibly lightning talks.  In addition, we will be requiring most speakers to participate in some form of live Q&A. Time zones are a huge challenge with a virtual conference and we will do our best to be reasonable in our expectations. 
</p>

<p>The timeframe for submission is also much tighter due to allowing time for speakers to record and us to process videos. We apologize for the inconvenience. 
</p>

<p><b>Submission Requirements:
The submission deadline is July 20, 2020 at 11:59PM PDT.
</b>
</p>

<p>Please submit your proposal here:
<br><a href="https://hotcrp.llvm.org/usllvm2020/">LLVM2020 Submissions</a>
</p>

<p>For each proposal, please submit a title, short abstract, submission type, abstract for the website, include who the speakers or panel member/moderators are, and provide a more detailed description of the talk through an extended PDF abstract. We highly recommend you consult and follow the guide at the end of this CFP when submitting your proposal.
</p>

<p><b>FAQ</b></p>

<p>When will I be notified of acceptance?
<br>
Our goal is to notify all submissions by July 31, 2020.
</p>

<p>When is the conference?
<br>
In order to not conflict with another large virtual conference, we have moved the 2020 LLVM Developers’ Meeting to October 6-8. The exact times of the conference are still under discussion.
</p>

<p>Should I register if I have submitted a proposal?
<br>
Given this is a virtual conference and we have less space restrictions and a different fee structure, you can register at any time before the registration deadline. We will be providing details on registration in July. 
</p>

<p>When will the recordings be due?
<br>
Recordings should be completed by September 14.
</p>

<p>Will I be required to have a video camera?
<br>
We do not want the lack of recording equipment to prevent submissions and will be sorting out options to help those without recording equipment available. Please stay tuned for details. 
</p>

<p>When will my live Q&A be?
<br>
As the conference is virtual, our attendees and speakers will be in many different time zones. We won’t know the program until closer to the event and then we can start to form a schedule. Our schedule will attempt to meet the needs of many time zones, but will not be a perfect solution. You may be asked to give a live Q&A early in the morning, late at night, or multiple times. 
</p>

<p>Who is on the program committee?
<br>
The program committee is composed of active developers of the LLVM, Clang, and related sub-communities. The website will be updated with the list of the program committee members.
</p>

<p>I have a question, who do I contact?
<br>
Please email the LLVM Dev Mtg Organizers (devmtg-organizers@lists.llvm.org), or the LLVM Developers’ Meeting mailing list. http://lists.llvm.org/mailman/listinfo/llvm-devmeeting
</p>


<div class="www_sectiontitle" id="register">Registration</div>
Coming in August
</p>

<div class="www_sectiontitle" id="grant">Travel Grants for Students</div>
<p>Due to the event being virtual and the global pandemic, there will be no travel grants.</p>

<div class="www_sectiontitle" id="logistics">Logistics</div>
<p>Coming Soon</p>

<div class="www_sectiontitle" id="coc">Code of Conduct</div>
<p>The LLVM Foundation is dedicated to providing an inclusive and safe
experience for everyone. We do not tolerate harassment of participants in any
form. By registering for this event, we expect you to have read and agree to
the <a href="https://llvm.org/docs/CodeOfConduct.html">LLVM Code of Conduct</a>.
</p>

<div class="www_sectiontitle" id="contact">Contact</div>
<p>To contact the organizer,
<a href="mailto:tanyalattner@llvm.org"> email Tanya Lattner</a>
</p>
</div>

<!-- *********************************************************************** -->

<!--#include virtual="sponsors.incl" -->

<hr>

<!--#include virtual="../../footer.incl" -->
