Post-Doctoral Research Associate - Electrical Engineering & Computer Science
- University of Tennessee
- Location: knoxville, TN
- Job Number: 7080999
- Posting Date: Jul 12, 2021
- Application Deadline: Open Until Filled
Job DescriptionThe University of Tennessee, Knoxville’s Innovative Computing Laboratory (ICL) is seeking full-time Post-Doctoral researcher in several areas of high performance computing including Performance Measurement and Modeling; Distributed Computing; and Linear Algebra.
We are looking for researchers to participate in areas including (1) the design, development, and maintenance of software libraries and programming environments for large, distributed-memory hybrid machines; (2) the design and development of high-quality software that builds on our current projects and extends them with performance monitoring capabilities for new and advanced hardware and software technologies; or (3) the design, development and maintenance of numerical software libraries for solving linear algebra problems on large distributed memory machines with multicore processors and hardware accelerators.
The prospective researcher will coauthor papers documenting research findings, and present the team’s work at conferences and workshops. The successful candidate will help lead students and other team members in their research endeavors in ongoing and future projects. Given the nature of the work, there will be opportunities for publication, travel, and high-profile professional networking and collaboration across academia, labs, and industry. This position offers exciting career opportunities by participating in various NSF-supported projects, as well as in the U.S. Department of Energy’s (DOE) Exascale Computing Project (ECP).
These projects are leading the technology in the integration of numerical algorithms and state-of-the-art hardware, with an emphasis on distributed computing and performance optimization at multiple levels of hardware and software. There will be limited opportunities for publication, for travel, and to interact with research partners and participate in the research community, and often for special training in new and emerging technologies significant to the work.
Eligible candidates should have a PhD in Computer Science or related field with a background in applied mathematics or computer science, particularly in computations science; computer architectures and parallel processing; or distributed computing, multicore computing, GPU computing.
Doctoral candidates pursuing their PhD may also be considered; however, the doctorate must be fully completed and education verification provided prior to starting work in this position.
The candidate should have a background in any of the following areas: Distributed Computing – some background in high-performance computing (HPC), resilience, programming models, and network and parallel algorithms is desired, Numerical Linear Algebra – background in applied mathematics; technical experience in parallel computing, distributed computing, and multithreading; familiarity with numerical software libraries; and experience with performance diagnostics and optimization techniques, tracing, and profiling. Experience with developing mathematical software is also desired. A track record of contributing to open-source projects is a plus. Experience with GPU computing is highly desired. 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 significant plus.
A variety of skills will be considered. Technical writing, excellent communication and presentation skills, and a strong publication record is required in either Distributed Computing, Performance Measurement and Modeling, or Numerical Linear Algebra. Extensive knowledge of programming techniques and familiarity with numerical software is required.
Preferred skills include proficiency in C/C++; basic understanding of modern Fortran language; background in applied mathematics; proficiency with modern MPI and modern OpenMP; familiarity with CUDA, HIP, or OpenCL; or as well as low level optimization techniques such as intrinsic functions.
For consideration apply online and submit application, CV, and contact information for three professional references.