LLNL wants one of you (as an HPC compiler and tool developer)

Hi everyone,

Colleagues of mine at Lawrence Livermore National Laboratory (LLNL), having seen the advantages of working closely with LLVM, have decided to toss their hat into the ring and would like to hire an LLVM-focused compiler engineer. I collaborate with LLNL regularly, and I'm excited that they're taking this step. I expect that a qualified applicant will find this position both challenging and rewarding, and I'd be remiss if I did not mention that LLNL has some of the largest supercomputers in the world (with more to come: https://www.llnl.gov/news/next-generation-supercomputer-coming-lab). LLNL runs a variety of codes on their HPC systems from a variety of science domains, is transitioning as many of them as possible to very modern C++, and cares deeply about performance. LLNL is in Livermore, CA (which is on the edge of the San Francisco Bay area).

  The job posting: http://bit.ly/llnl-job-13027

LLNL's terminology may not make this obvious, but this posting permits hiring an experienced developer into an advanced job category, as well as for hiring someone newly graduated.

Please share this with anyone you feel might be interested.

Now for the official text...

Job Title: High Performance Computing (HPC) Compiler and Tool Developer
Job ID: 13027
Jobcode Desc: Science & Engineering MTS 3 (SES.3) / Science & Engineering MTS 4 (SES.4)

NATURE AND SCOPE OF JOB
As a member of the Development Environment Group in the Livermore Computing (LC) supercomputing center, will work as a software developer specializing in compilers and application development tools for supporting High Performance Computing (HPC). Will work with scientific computing teams, the open source software community, and HPC vendor partners on the development of enabling technologies for the state-of-the-art platforms currently in use and under procurement. The working environment is challenging and team oriented. LC is one of the largest supercomputer centers in the world, offering resources and services to employees and collaborators for scientific research and computation. Customers include scientists from the three National Nuclear Security Administration labs, other government, academia, and private industry. Selected candidate is expected to apply expert knowledge of HPC systems and software to enhance and improve the development environment. Will report to the Group Leader of the LC Development Environment Group. Additional information about LC can be found on the web at https://computing.llnl.gov.
IN ADDITION AT THE SES.4 LEVEL
Will additionally set broad research/project vision and strategy to address challenges inherent in HPC computing at the level of Exascale performance. Will direct activities of projects with the latitude to pursue a course of action essential to obtain desired outcomes. Will represent the Laboratory’s interests on standard committees that define the programming languages and components that support HPC application development, using advanced knowledge.

ESSENTIAL DUTIES
- Lead the development of LLVM compiler infrastructure-based tools as well as enhancements to LLVM, Clang, and open source projects in collaboration with DOE colleagues.
- Independently evaluate, analyze, implement, and benchmark performance optimizations on advanced architectures including BlueGene/Q.
- Provide prime technical support of compilers – isolating, reporting, and fixing compiler-related bugs in complex HPC applications running on LC systems on multiple networks.
- Evaluate vendor solutions for compiler and toolchain-related topics, and deploy proposed solutions on LC systems.
- Investigate, diagnose, and resolve complex software issues, which may involve interacting with LC staff members with different areas of expertise, vendors, and customers.
- Provide software quality assurance (SQA) to ensure a stable software computing environment.
- Set direction in compiler area and engage other developers and staff members frequently to share relevant knowledge and recommendations.
- Perform all assignments in accordance with ES&H, security, and business practice requirements and policies.
IN ADDITION AT THE SES.4 LEVEL
- Represent the Laboratory’s interests on standard committees that define the programming languages and components that support HPC application development, using advanced knowledge.
- Set broad research/project vision and strategy to address challenges inherent in HPC computing at the level of Exascale performance.
- Direct activities of projects with the latitude to pursue a course of action essential to obtain desired outcomes.

ESSENTIAL SKILLS, KNOWLEDGE AND ABILITIES
- B.S. in Computer Science, or related field, or equivalent level of demonstrated knowledge.
- Experience with compiler and toolchain development, including intermediate representations, machine-independent and machine-dependent optimizations, and code generation; experience with LLVM is preferred.
- Significant experience with C++, including the use of templates.
- Demonstrated advanced knowledge of instruction sets and computer architectures, including pipeline structure and hazards, and cache and memory hierarchies.
- Advanced knowledge of the language semantics of one of the following: C, C++, Fortran.
- Significant experience with and demonstrated advanced knowledge of UNIX/Linux, compiled programming languages, and script programming languages (Python, shell).
- Experience working with, and contributing to, open-source programming projects.
- Demonstrated advanced knowledge and application of structured software engineering and SQA practices.
- Demonstrated effective analytical and problem-solving skills to contribute to creative solutions to complex problems.
- Significant experience working effectively in a dynamic, multi-disciplinary environment with competing priorities.
- Advanced verbal and written communication skills necessary to effectively collaborate in a team environment and present and explain technical information and provide advice to management.
- Ability to occasionally travel for meetings, training, and conferences.
IN ADDITION AT THE SES.4 LEVEL
- Expert knowledge and significant experience in compiler and toolchain development.
- Expert knowledge and significant experience in the development of programming models and new programming language standards.
- Demonstrated ability to provide innovative solutions to broadly defined tasks and problems.
- Significant, in-depth, and current experience using HPC systems and tools, and knowledge of node-level and distributed parallel programming models and techniques.
- Expert verbal and written communication skills necessary to effectively collaborate in a team environment and present and explain technical information to customers, managers, and external colleagues.

DESIRED SKILLS, KNOWLEDGE AND ABILITIES
- MS/PhD. in Computer Science, or related field.
- Experience with assembly languages, especially x86_64 and/or PowerPC.
- Experience with high-performance computing and scientific code development.
- Current and in-depth experience using HPC systems and tools, and knowledge of node-level and distributed parallel programming models and techniques.
- Experience with development of software tools for debugging, code-correctness, or performance analysis using compiler technology infrastructure such as LLVM.
- Experience with code optimization, using profiling and performance monitoring tools and techniques.
- Familiarity with GPGPU programming, OpenMP, CUDA, OpenACC
- Experience with MPI programming.
- Advanced knowledge and experience in the development of programming models, new language standards and their runtimes (e.g., OpenMP runtime libraries).

SPECIAL REQUIREMENTS
Pre-Placement Medical Exam: None required.
Pre-Employment Drug Test: External applicant(s) selected for this position will be required to pass a post-offer, pre-employment drug test.

Anticipated Clearance Level: Q (Position will be cleared to this level). Applicants selected will be subject to a Federal background investigation and must meet eligibility requirements for access to classified information or matter. In addition, all L or Q cleared employees are subject to random drug testing. If you hold multiple citizenships (U.S. and another country), you may be required to renounce your non-U.S. citizenship before a DOE L or Q clearance will be processed/granted.

LLNL is an affirmative action/ equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, marital status, national origin, ancestry, sex, sexual orientation, disability, medical condition, protected veteran status, age, citizenship, or any other characteristic protected by law.

Dear Hal,

Just to clarify, this position requires U.S. citizenship, correct?

Regards,

John Criswell

If I'm not mistaken Q clearance would require US citizenship. ‎

That was my guess, but I was hoping Hal could state it explicitly. The ad makes clear that a joint citizenship may need to be renounced, but it never explicitly stated that U.S. citizenship was a requirement.

I have a Master's student that is graduating and looking for a position, so I'd like to know for sure whether he's eligible or ineligible.

Regards,

John Criswell

I'm in a similar position, with a few MPhil students about to graduate who might be interested in something like this, none of whom are US citizens. Please can people remember that these lists have an international audience and, if there are restrictions on who can apply for a particular job make this restriction clear at the start of any job posts?

David

Hi John, et al.,

I've double-checked with the folks at LLNL, and they might elaborate here in the future, but generally, while an applicant need not currently be a US citizen, he or she should at least be a permanent resident and intending to become a U.S. citizen. As a practical matter, the Q clearance must be a possibility for the future.

-Hal

Hal,
     Out of curiosity. was there any discussion about having the
programmer hired do any work on the nascent llvm fortran compilers
laying around or isn't that on anyone's radar?
            Jack

From: "Jack Howarth" <howarth.mailing.lists@gmail.com>
To: "Hal Finkel" <hfinkel@anl.gov>
Cc: "LLVM Dev" <llvmdev@cs.uiuc.edu>, "cfe-dev@cs.uiuc.edu Developers" <cfe-dev@cs.uiuc.edu>, "openmp-dev"
<openmp-dev@dcs-maillist2.engr.illinois.edu>, "Scott Futral" <futral2@llnl.gov>
Sent: Sunday, March 29, 2015 12:45:13 PM
Subject: Re: [Openmp-dev] LLNL wants one of you (as an HPC compiler and tool developer)

Hal,
     Out of curiosity. was there any discussion about having the
programmer hired do any work on the nascent llvm fortran compilers
laying around or isn't that on anyone's radar?

Regarding this position, not that I'm aware. However, flang is definitely on many people's radar. John Leidel (from Micron) and I have created a mailing list for flang, and we're trying to gather a community there to organize our efforts:

  https://groups.google.com/forum/?hl=en#!forum/flang-dev

Please subscribe there, and I expect that we'll be having some development/planning discussions there soon (also, there is a tutorial session at the upcoming Euro LLVM meeting that I hope will spark some further development activity).

-Hal

No one here should complain about Hal not mentioning US Citizenship. Read the damn job posting included in the link. It’s straight forward.

Next.

  • Marc

Seriously? First: your mail is obnoxious, please moderate your tone on this list.

Second, do you really think that expecting people to click on a link (via a URL shortener, no less) to determine whether an email is relevant to them is an efficient use of the time of the few hundred people on this list? I'm not looking for a job, but I have a few extremely competent students who will be soon (or, at least, who would be willing to consider adding another offer to the ones that they're considering) - quickly getting relevant information out of job postings benefits the sender, not me.

Third, the link doesn't actually appear to work. It sends me to a page saying 'You must have coolies enabled in order to sign in to your PeopleSoft application' (and, before you ask, I do have cookies enabled).

David

Hello,

Second, do you really think that expecting people to click on a link (via a URL shortener, no less) to determine whether an email is relevant to them is an efficient use of the time of the few hundred people on this list?

FWIW, the clearance is mentioned in Hal's OP near the end:

Anticipated Clearance Level: Q (Position will be cleared to this level)

Including such gems as:

In addition, all L or Q cleared employees are subject to random drug testing.

Better check your privacy at the door!

Jonathan

From: "David Chisnall" <David.Chisnall@cl.cam.ac.uk>
To: "Marc J. Driftmeyer" <mjd@reanimality.com>
Cc: cfe-dev@cs.uiuc.edu
Sent: Monday, March 30, 2015 6:17:43 AM
Subject: Re: [cfe-dev] LLNL wants one of you (as an HPC compiler and tool developer)

>
> No one here should complain about Hal not mentioning US
> Citizenship. Read the damn job posting included in the link. It's
> straight forward.

Seriously? First: your mail is obnoxious, please moderate your tone
on this list.

I second this. Marc, while I appreciate the support, David had a legitimate point (and, as it turns out, the answer was not exactly obvious, even from the posting). Specifically, a permanent resident who is intending to become a citizen can be considered, but that is not clear one way or the other from the posting itself.

Second, do you really think that expecting people to click on a link
(via a URL shortener, no less) to determine whether an email is
relevant to them is an efficient use of the time of the few hundred
people on this list? I'm not looking for a job, but I have a few
extremely competent students who will be soon (or, at least, who
would be willing to consider adding another offer to the ones that
they're considering) - quickly getting relevant information out of
job postings benefits the sender, not me.

Third, the link doesn't actually appear to work. It sends me to a
page saying 'You must have coolies enabled in order to sign in to
your PeopleSoft application' (and, before you ask, I do have cookies
enabled).

Indeed. The link now appears to be broken. In any case, if you go to https://careers.llnl.gov/ and enter '13027' (the job posting id) into the search box, then it brings up the posting directly.

-Hal

FWIW, the clearance is mentioned in Hal's OP near the end:

> Anticipated Clearance Level: Q (Position will be cleared to this level)

Just side tracking, as I'm waiting my code to compile...

I don't think many people outside the US knows what a Q or L clearance
means. The only Q I know works for James Bond. :slight_smile:

> In addition, all L or Q cleared employees are subject to random drug testing.

Ouch, that rules out some of the best developers I know...

cheers,
--renato

> FWIW, the clearance is mentioned in Hal's OP near the end:
>
> > Anticipated Clearance Level: Q (Position will be cleared to this
level)

Just side tracking, as I'm waiting my code to compile...

I don't think many people outside the US knows what a Q or L clearance
means. The only Q I know works for James Bond. :slight_smile:

Heh. I don't think most people *in* the US know what those clearances mean.
If you don't have direct contact with the Feds or one of their contractors,
there is little reason to understand them. (And the last time I had any
direct contact with someone who mentioned a clearance, it was a color, not a
letter.)
--paulr