Jobs @ ICL

  • Post Doctoral Research Associate

    The University of Tennessee, Knoxville’s Innovative Computing Laboratory (ICL) is seeking full-time Post Doctoral researchers in several areas of high-performance computing (HPC), including: (1) Distributed Computing; (2) Performance Measurement and Modeling; and (3) Numerical Linear Algebra. ICL is directed by Jack Dongarra, Distinguished Professor of Electrical Engineering and Computer Science at the University of Tennessee, Knoxville.

    Prospective researchers will work in a team-based, deadline-driven environment with the opportunity to: (1) participate in the design, development, and maintenance of software libraries and programming environments for large, distributed-memory hybrid machines; (2) extend and harden the performance monitoring capabilities of ICL’s software for new and advanced hardware and software technologies; or (3) develop and maintain numerical software libraries for solving linear algebra problems on hybrid machines with multi-core processors and hardware accelerators.

    The prospective researcher will co-author papers to document research findings, present the team’s work at conferences and workshops, and help lead students and other team members in the lab’s multiple research and development efforts, which are supported by the U.S. Department of Energy’s Exascale Computing Project and the National Science Foundation.

    Required Education:
    • PhD in Computer Science, a computational science, or related field with demonstrable background in: applied mathematics; HPC; computer architectures and parallel processing; or distributed, multi-core, and GPU computing.
    Required Experience:

    A successful candidate will have a background in one or more of the following areas:

    • Distributed Computing – some background in HPC, resilience, programming models, and network and parallel algorithms.
    • Performance Measurement and Modeling – technical experience in system software, parallel computing, scientific applications, and low-level libraries; prior experience and expertise with systems programming, benchmarking, performance analysis toolkits, C, C++, and Fortran are also desired; significant experience developing large software systems is a plus.
    • Numerical Linear Algebra – background in applied mathematics; technical experience in parallel computing, distributed computing, and multithreading; familiarity with numerical software libraries; and experience with GPU computing and mathematical software.
    Required Job Skills:

    The ideal candidate will have extensive knowledge of programming techniques; strong low-level system programming abilities; high proficiency in C/C++; a basic understanding of Fortran; familiarity with numerical software, modern MPI, OpenMP, and CUDA; excellent communication skills; and a strong publication record.

    How to Apply

    For consideration, submit CV and contact information for three references.

    recruit[at]icl.utk[dot]edu

  • Research Scientist I

    The University of Tennessee, Knoxville’s Innovative Computing Laboratory (ICL) is seeking full-time Research Scientist I candidates in one of several areas of high-performance computing (HPC), including: (1) Distributed Computing; (2) Performance Measurement and Modeling; and (3) Numerical Linear Algebra. ICL is directed by Jack Dongarra, Distinguished Professor of Electrical Engineering and Computer Science at the University of Tennessee, Knoxville.

    Prospective researchers will work in a team-based, deadline-driven environment to design and implement research protocols: (1) in the design, development, and maintenance of software libraries and programming environments for large, distributed-memory hybrid machines; (2) to extend and harden the performance monitoring capabilities of ICL’s software for new and advanced hardware and software technologies; or (3) to develop and maintain numerical software libraries for solving linear algebra problems on hybrid machines with multi-core processors and hardware accelerators.

    Prospective researchers will analyze, interpret results for sponsors, coauthor papers to document research findings, present the team’s work at conferences and workshops, and help lead students and other team members in the lab’s multiple research and development efforts, which are supported by the U.S. Department of Energy’s Exascale Computing Project and the National Science Foundation.

    Required Education:
    • PhD in Computer Science, a computational science, or related field with extensive experience in one of the following: applied mathematics; HPC; computer architectures and parallel processing; or distributed, multi-core, and GPU computing.
    Required Experience:

    A successful candidate will have an extensive experience in one or more of the following areas:

    • Distributed Computing – HPC, resilience, programming models, and network and parallel algorithms.
    • Performance Measurement and Modeling – technical experience in system software, parallel computing, scientific applications, and low-level libraries; prior experience and expertise with systems programming, benchmarking, performance analysis toolkits, C, C++, and Fortran are also desired; significant experience developing large software systems is a plus.
    • Numerical Linear Algebra – applied mathematics; technical experience in parallel computing, distributed computing, and multithreading; experience with numerical software libraries; and experience with GPU computing and mathematical software.
    Required Job Skills:

    The ideal candidate will have extensive experience with designing, conducting, and analyzing research projects including programming techniques; strong system programming abilities; high proficiency in C/C++; a basic understanding of Fortran; familiarity with numerical software, modern MPI, OpenMP, and CUDA; excellent communication skills; and a proven publication record.

    How to Apply

    For consideration, submit CV and contact information for three references.

    recruit[at]icl.utk[dot]edu

  • Software Engineer

    The Innovative Computing Laboratory (ICL) is seeking a self-motivated and highly productive Software Engineer to participate in the development of next-generation computational tools for the US Department of Energy’s Exascale Computing Project (ECP). This position requires a candidate who designs, develops, tests, and documents complex software solutions that perform independently or as part of a larger computational system. We expect a strong commitment to the development of high-quality software, a passion for learning new technical skills, and a keen interest in working with top-of-the-line hardware and bleeding-edge software technologies, some of which are still in active development. . ICL is directed by Jack Dongarra, Distinguished Professor of Electrical Engineering and Computer Science at the University of Tennessee, Knoxville.

    This position is full-time position with full benefits.

    Responsibilities:
    • Develop and implement software using C++
    • Develop and coordinate test plans, use test suites, and perform tests on software solutions
    • Utilize Continuous Testing with Jenkins and other systems
    • Implement and maintain build processes using Spack, CMake, and Makefile
    • Integrate software with other systems, test interfaces, and manage version control
    • Maintain and contribute to the development of user and developer documentation
    • Conduct regular sweeps across the system, checking for consistency across documents
    • Solve bug issues, engage in trouble shooting, and interact with the project community
    Required Education:
    • Bachelor’s degree in Computer Science or related field with demonstrable background in computer science
    • In-depth industry knowledge of software engineering practices
    • 3 years’ experience developing research or commercial software
      Desired:
    • Master’s degree in Computer Science or related field with experience developing commercial software
    Required Experience:
    • Minimum of 2 years’ experience in object-oriented programming, data structures, algorithms, design patterns, Linux development environment, software engineering, application development, and scripting languages
    Desired Experience:
    • Working experience in technical computing, scientific engineering, and computational science and/or academic research environments
    • Experience in software design, development and implementation, developing test plans, and performing tests on software solutions and contributing to and maintaining documentation
    • Experience working with various compiler suites and software stacks (GNU, Intel, IBM, etc.)
    Required Job Skills:
    • Strong C/C++ programming skills and Git or Mercurial knowledge
    • Excellent verbal and written communication skills
    • Ability to perform assignments under the direction of a senior researcher, working independently and meeting deadlines
    Desired Job Skills:
    • Python programming skills and a basic understanding of parallel computing concepts
    • Working knowledge of documentation tools, such as Doxygen and Sphinx
    • Skilled in using online research and training sites
    • An understanding of effective ways to automate processes
    How to Apply

    For consideration, submit CV and contact information for three references.

    recruit[at]icl.utk[dot]edu