Hal Finkel
2015-Mar-26 10:03 UTC
[LLVMdev] 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. -- Hal Finkel Assistant Computational Scientist Leadership Computing Facility Argonne National Laboratory
John Criswell
2015-Mar-26 14:29 UTC
[LLVMdev] LLNL wants one of you (as an HPC compiler and tool developer)
Dear Hal, Just to clarify, this position requires U.S. citizenship, correct? Regards, John Criswell On 3/26/15 6:03 AM, Hal Finkel wrote:> 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. >-- John Criswell Assistant Professor Department of Computer Science, University of Rochester http://www.cs.rochester.edu/u/criswell
cbergstrom at pathscale.com
2015-Mar-26 14:41 UTC
[LLVMdev] LLNL wants one of you (as an HPC compiler and tool developer)
If I'm not mistaken Q clearance would require US citizenship.
Jack Howarth
2015-Mar-29 17:45 UTC
[LLVMdev] [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? Jack On Thu, Mar 26, 2015 at 6:03 AM, Hal Finkel <hfinkel at anl.gov> wrote:> 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. > > -- > Hal Finkel > Assistant Computational Scientist > Leadership Computing Facility > Argonne National Laboratory > > _______________________________________________ > Openmp-dev mailing list > Openmp-dev at dcs-maillist2.engr.illinois.edu > http://lists.cs.uiuc.edu/mailman/listinfo/openmp-dev
Hal Finkel
2015-Mar-29 18:49 UTC
[LLVMdev] [Openmp-dev] LLNL wants one of you (as an HPC compiler and tool developer)
----- Original Message -----> From: "Jack Howarth" <howarth.mailing.lists at gmail.com> > To: "Hal Finkel" <hfinkel at anl.gov> > Cc: "LLVM Dev" <llvmdev at cs.uiuc.edu>, "cfe-dev at cs.uiuc.edu Developers" <cfe-dev at cs.uiuc.edu>, "openmp-dev" > <openmp-dev at dcs-maillist2.engr.illinois.edu>, "Scott Futral" <futral2 at 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> Jack > > On Thu, Mar 26, 2015 at 6:03 AM, Hal Finkel <hfinkel at anl.gov> wrote: > > 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. > > > > -- > > Hal Finkel > > Assistant Computational Scientist > > Leadership Computing Facility > > Argonne National Laboratory > > > > _______________________________________________ > > Openmp-dev mailing list > > Openmp-dev at dcs-maillist2.engr.illinois.edu > > http://lists.cs.uiuc.edu/mailman/listinfo/openmp-dev >-- Hal Finkel Assistant Computational Scientist Leadership Computing Facility Argonne National Laboratory