<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>Hi everyone,</p>
    <p>I'm happy to report that I have two open postdoctoral research
      positions at Argonne National Laboratory focusing on LLVM-based
      compiler technology for high-performance computing. US citizenship
      is *not* required. If you've received your
      <meta http-equiv="content-type" content="text/html; charset=utf-8">
      Ph.D. within the past several years, or are in the process of
      completing your degree requirements, and would like to join a team
      working to prepare LLVM for the exascale era, I hope you'll apply
      to one or both of these positions:</p>
    <p> 401877: <a class="moz-txt-link-freetext" href="http://bit.ly/2i7mVLl">http://bit.ly/2i7mVLl</a> - 401878: <a class="moz-txt-link-freetext" href="http://bit.ly/2hShmQz">http://bit.ly/2hShmQz</a><br>
    </p>
    We'll be working with teams from several other laboratories and
    universities, as well as the wider LLVM community, on topics ranging
    from GPU register allocation to high-level optimizations of loops
    and parallelism constructs. If you have any questions, please send
    me an e-mail (<a class="moz-txt-link-abbreviated" href="mailto:hfinkel@anl.gov">hfinkel@anl.gov</a>).<br>
    <br>
    ** Requisition 401877 - Optimization and Autotuning for
    Supercomputing Compilers **<br>
    <br>
    <a class="moz-txt-link-freetext" href="http://bit.ly/2i7mVLl">http://bit.ly/2i7mVLl</a><br>
    <br>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <table style="color: rgb(0, 0, 0); font-family: Geneva, Arial,
      Helvetica, sans-serif; font-size: 12px; font-style: normal;
      font-variant-ligatures: normal; font-variant-caps: normal;
      font-weight: normal; letter-spacing: normal; orphans: 2;
      text-align: left; text-indent: 0px; text-transform: none;
      white-space: normal; widows: 2; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
      255);" cellpadding="0" cellspacing="0" border="0" width="100%">
      <tbody>
        <tr>
          <td colspan="2" align="left" width="100%">
            <p><span id="com.peopleclick.cp.fieldlabel.JPM_DESCRIPTION"
                class="pc-rtg-h2" title="" style="font-weight: bold;
                color: rgb(117, 121, 124); font-size: 16px;
                padding-bottom: 0px;"><label
                  id="com.peopleclick.cp.formdata.JPM_DESCRIPTION_label"
                  for="com.peopleclick.cp.formdata.JPM_DESCRIPTION"
                  style="cursor: pointer;">Position Description</label></span><span
                class="Apple-converted-space"> </span><br>
              <br>
              <span class="pc-rtg-body" style="text-align: justify;">This
                is an exciting opportunity to work on the future of
                compiler technology for high-performance computing (HPC)
                with a particular focus on supporting the world's
                largest supercomputers as we head toward exascale. The<span
                  class="Apple-converted-space"> </span><span><span>extreme</span></span><span
                  class="Apple-converted-space"> </span>levels of
                parallelism available on these machines combined with
                their complex memory hierarchies<span
                  class="Apple-converted-space"> </span><span><span>create</span></span><span
                  class="Apple-converted-space"> </span><span><span>unique</span></span><span
                  class="Apple-converted-space"> </span>optimization
                challenges. This research will explore<span
                  class="Apple-converted-space"> </span><span><span>enhancements</span></span><span
                  class="Apple-converted-space"> </span>to LLVM enabling
                better modeling and exploration of the complex space of
                potential optimizations in addition to<span
                  class="Apple-converted-space"> </span><span><span>enhancing</span></span><span
                  class="Apple-converted-space"> </span>LLVM's
                optimization capabilities. One focus of this work will
                be to enable more-effective autotuning by strengthening
                the two-way communication between the autotuner and the
                optimizer.<span class="Apple-converted-space"> </span><br>
                <br>
                <span><span>A passion for</span></span><span
                  class="Apple-converted-space"> </span><span><span>improving</span></span><span
                  class="Apple-converted-space"> </span>compiler
                technology, a keen interest in high-performance
                computing hardware, and<span
                  class="Apple-converted-space"> </span><span><span>a
                    desire</span></span><span
                  class="Apple-converted-space"> </span>to advance
                scientific computing, will be rewarded in this position.</span></p>
            <p><span
                id="com.peopleclick.cp.fieldlabel.JPM_ESSENTIALFUNCTIONS"
                class="pc-rtg-h2" title="" style="font-weight: bold;
                color: rgb(117, 121, 124); font-size: 16px;
                padding-bottom: 0px;"><label
                  id="com.peopleclick.cp.formdata.JPM_ESSENTIALFUNCTIONS_label"
for="com.peopleclick.cp.formdata.JPM_ESSENTIALFUNCTIONS" style="cursor:
                  pointer;">Position Requirements</label></span><span
                class="Apple-converted-space"> </span><br>
              <br>
              <span class="pc-rtg-body" style="text-align: justify;"><br>
                We expect you to have:<br>
              </span></p>
            <ul style="margin-top: 0px; margin-bottom: 0px;">
              <li>Minimum education and experience or equivalent
                combination:</li>
              <li>Doctorate + 0 years.</li>
              <li>Experience with compiler and toolchain development,
                including intermediate representations,
                machine-independent and machine-dependent optimizations,
                and code generation; experience with LLVM and Clang is
                preferred.</li>
              <li>Significant experience with C++, including<span
                  class="Apple-converted-space"> </span><span><span>the
                    use of</span></span><span
                  class="Apple-converted-space"> </span>templates.</li>
              <li>Demonstrated knowledge of instruction sets and
                computer architectures, including pipeline structure and
                hazards, and cache and memory hierarchies.</li>
              <li>Experience with assembly languages, preferably at
                least one of x86_64, PowerPC, and PTX.</li>
              <li>Demonstrated<span class="Apple-converted-space"> </span><span><span>advanced
                    knowledge of</span></span><span
                  class="Apple-converted-space"> </span>high-level
                compiler optimizations; experience with polyhedral loop
                optimizations is preferred.</li>
              <li><span><span>Advanced knowledge of</span></span><span
                  class="Apple-converted-space"> </span>the language
                semantics of one of the following: C, C++, Fortran.</li>
              <li><span><span>Advanced knowledge of</span></span><span
                  class="Apple-converted-space"> </span>mathematical-optimization
                techniques, especially derivative-free optimization.</li>
              <li>Experience with machine learning, especially
                supervised learning.</li>
              <li>Experience with high-performance computing and
                scientific code development.</li>
              <li>Experience with code optimization and<span
                  class="Apple-converted-space"> </span><span><span>the
                    use of</span></span><span
                  class="Apple-converted-space"> </span>profiling and
                performance-monitoring tools and techniques.</li>
              <li>Experience with Linux environments and Python.Good
                software debugging skills.</li>
            </ul>
            In addition,<span class="Apple-converted-space"> </span><span><span>candidates</span></span><span
              class="Apple-converted-space"> </span>should show:<br>
            <ul style="margin-top: 0px; margin-bottom: 0px;">
              <li>Effective analytical and<span
                  class="Apple-converted-space"> </span><span><span>problem-solving</span></span><span
                  class="Apple-converted-space"> </span>skills to<span
                  class="Apple-converted-space"> </span><span><span>contribute</span></span><span
                  class="Apple-converted-space"> </span>to<span
                  class="Apple-converted-space"> </span><span><span>creative</span></span><span
                  class="Apple-converted-space"> </span>solutions to
                complex problems.</li>
              <li>Good communications skills, both verbal and written.</li>
              <li>Good<span class="Apple-converted-space"> </span><span><span>collaborative</span></span><span
                  class="Apple-converted-space"> </span>skills,
                including the ability to work well<span
                  class="Apple-converted-space"> </span><span><span>with
                    other</span></span><span
                  class="Apple-converted-space"> </span>labs,
                universities, computing centers, and industry.</li>
            </ul>
          </td>
        </tr>
      </tbody>
    </table>
    <br>
    <br>
    ** Requisition 401878 - Parallelism, Memory, and Programming Models
    for Supercomputing Compilers **<br>
    <br>
    <a class="moz-txt-link-freetext" href="http://bit.ly/2hShmQz">http://bit.ly/2hShmQz</a><br>
    <br>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <table style="color: rgb(0, 0, 0); font-family: Geneva, Arial,
      Helvetica, sans-serif; font-size: 12px; font-style: normal;
      font-variant-ligatures: normal; font-variant-caps: normal;
      font-weight: normal; letter-spacing: normal; orphans: 2;
      text-align: left; text-indent: 0px; text-transform: none;
      white-space: normal; widows: 2; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
      255);" cellpadding="0" cellspacing="0" border="0" width="100%">
      <tbody>
        <tr>
          <td colspan="2" align="left" width="100%">
            <p><span id="com.peopleclick.cp.fieldlabel.JPM_DESCRIPTION"
                class="pc-rtg-h2" title="" style="font-weight: bold;
                color: rgb(117, 121, 124); font-size: 16px;
                padding-bottom: 0px;"><label
                  id="com.peopleclick.cp.formdata.JPM_DESCRIPTION_label"
                  for="com.peopleclick.cp.formdata.JPM_DESCRIPTION"
                  style="cursor: pointer;">Position Description</label></span><span
                class="Apple-converted-space"> </span><br>
              <br>
              <span class="pc-rtg-body" style="text-align: justify;">This
                is an exciting opportunity to work on the future of
                compiler technology for high-performance computing (HPC)
                with a particular focus on supporting the world's
                largest supercomputers as we head toward exascale. The<span
                  class="Apple-converted-space"> </span><span><span>extreme</span></span><span
                  class="Apple-converted-space"> </span>levels of
                parallelism available on these machines combined with
                their complex memory hierarchies<span
                  class="Apple-converted-space"> </span><span><span>create</span></span><span
                  class="Apple-converted-space"> </span><span><span>unique</span></span><span
                  class="Apple-converted-space"> </span>programming-model
                and optimization challenges. This research will explore<span
                  class="Apple-converted-space"> </span><span><span>enhancements</span></span><span
                  class="Apple-converted-space"> </span>to LLVM enabling
                the explicit representation and optimization of
                parallelism and hierarchical-memory constructs.<span
                  class="Apple-converted-space"> </span><span><span>Enhancements</span></span><span
                  class="Apple-converted-space"> </span>to programming
                models, including OpenMP, will be prototyped as we learn
                how to best provide performance portability across a
                range of future computing architectures.<br>
                <br>
                 <span><span>A passion for</span></span><span
                  class="Apple-converted-space"> </span><span><span>improving</span></span><span
                  class="Apple-converted-space"> </span>compiler
                technology, a keen interest in high-performance
                computing hardware, and<span
                  class="Apple-converted-space"> </span><span><span>a
                    desire</span></span><span
                  class="Apple-converted-space"> </span>to advance
                scientific computing, will be rewarded in this position.<br>
                <br>
              </span></p>
            <p><span
                id="com.peopleclick.cp.fieldlabel.JPM_ESSENTIALFUNCTIONS"
                class="pc-rtg-h2" title="" style="font-weight: bold;
                color: rgb(117, 121, 124); font-size: 16px;
                padding-bottom: 0px;"><label
                  id="com.peopleclick.cp.formdata.JPM_ESSENTIALFUNCTIONS_label"
for="com.peopleclick.cp.formdata.JPM_ESSENTIALFUNCTIONS" style="cursor:
                  pointer;">Position Requirements</label></span><span
                class="Apple-converted-space"> </span><br>
              <br>
              <span class="pc-rtg-body" style="text-align: justify;">We
                expect you to have:<br>
              </span></p>
            <ul style="margin-top: 0px; margin-bottom: 0px;">
              <li>Experience with compiler and toolchain development,
                including intermediate representations,
                machine-independent and machine-dependent optimizations,
                and code generation; experience with LLVM and Clang is
                preferred.</li>
              <li>Significant experience with C++, including<span
                  class="Apple-converted-space"> </span><span><span>the
                    use of</span></span><span
                  class="Apple-converted-space"> </span>templates.</li>
              <li>Demonstrated knowledge of instruction sets and
                computer architectures, including pipeline structure and
                hazards, and cache and memory hierarchies.</li>
              <li>Experience with assembly languages, preferably at
                least one of x86_64, PowerPC, and PTX.</li>
              <li>Demonstrated<span class="Apple-converted-space"> </span><span><span>advanced
                    knowledge of</span></span><span
                  class="Apple-converted-space"> </span>high-level
                compiler optimizations; experience with polyhedral loop
                optimizations is preferred.</li>
              <li><span><span>Advanced knowledge of</span></span><span
                  class="Apple-converted-space"> </span>the language
                semantics of one of the following: C, C++, Fortran.</li>
              <li>Experience with the OpenMP programming model.</li>
              <li>Experience with high-performance computing and
                scientific code development.</li>
              <li>Experience with code optimization and<span
                  class="Apple-converted-space"> </span><span><span>the
                    use of</span></span><span
                  class="Apple-converted-space"> </span>profiling and
                performance-monitoring tools and techniques.</li>
              <li>Experience with Linux environments and Python.</li>
              <li>Good software debugging skills.</li>
            </ul>
            <br>
            In addition,<span class="Apple-converted-space"> </span><span><span>candidates</span></span><span
              class="Apple-converted-space"> </span>should show:<br>
            <ul style="margin-top: 0px; margin-bottom: 0px;">
              <li>Effective analytical and<span
                  class="Apple-converted-space"> </span><span><span>problem-solving</span></span><span
                  class="Apple-converted-space"> </span>skills to<span
                  class="Apple-converted-space"> </span><span><span>contribute</span></span><span
                  class="Apple-converted-space"> </span>to<span
                  class="Apple-converted-space"> </span><span><span>creative</span></span><span
                  class="Apple-converted-space"> </span>solutions to
                complex problems.</li>
              <li>Good communications skills, both verbal and written.</li>
              <li>Good<span class="Apple-converted-space"> </span><span><span>collaborative</span></span><span
                  class="Apple-converted-space"> </span>skills,
                including the ability to work well<span
                  class="Apple-converted-space"> </span><span><span>with
                    other</span></span><span
                  class="Apple-converted-space"> </span>labs,
                universities, computing centers, and industry.</li>
            </ul>
          </td>
        </tr>
      </tbody>
    </table>
    <br>
     -Hal<br>
    <pre class="moz-signature" cols="72">-- 
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory</pre>
  </body>
</html>