What is HPC?

The High-Performance Computing (HPC) Laboratory is a part of the Department of Computer and Information Science at the University of Oregon. The High Performance Computing Laboratory directed by Prof. Boyana Norris conducts research in several areas of high-performance computing (HPC), including static analysis of software for building performance models and detecting security vulnerabilities, source-to-source approaches for semantics-preserving (e.g., performance optimization) and semantics-modifying (e.g., security vulnerability fixes, automatic differentiation) transformations. The HPC Lab also performs research in modeling runtime characteristics of software, and developing and employing numerical optimization techniques for maximizing multiple runtime objectives (performance, energy efficiency, resilience, etc.).

Short-term research projects are available for advanced undergrads or MS students.

News

Aug 14, 2018

The paper "Evaluation of an Interference-free Node Allocation Policy on Fat-tree Clusters" by Samuel Pollard, N. Jain, S. Herbein, and A. Bhatele was accepted for publication in the 2018 International Conference for High Performance Computing, Networking, Storage, and Analysis (SC '18).

Jul 31, 2018

The paper "A Shared-Memory Algorithm for Updating Tree-Based Properties of Large Dynamic Networks" by Sriram Srinivasan, Samuel Pollard, Boyana Norris, Sajal K. Das, and Sanjukta Bhowmick was accepted to the journal IEEE Transactions on Big Data.

Summer 2018

Several of our members are going to national labs for research internships. Kewen Meng is going to Lawrence Livermore National Lab, Brian Gravelle is going to Los Alamos National Lab, and Samuel Pollard is going to Sandia National Lab.

More news can be found at our news archive.

Open projects

Undergraduate / short-term graduate: these are term-long projects achiavable with up to 10-15 hours per week effort. Experience or background that may be helpful is listed in square brackets. Interested students should contact Prof. Norris.

  • - Software development practices analysis through revision control data mining and natural language processing
  • - Performance analysis and optimization of scientific codes (usually these are parallel applications using MPI, OpenMP, or TBB). We typically have a number of scientific applications that we analyze and optimize. Some experience with performance analysis is helpful, but not required.
  • - Extract the class relationships (inheritence and containment) from C++ software [330, using/writing parsers]
  • - Using binary analysis to identify computational patterns and anti-patterns (for performance or power efficiency) [314, 429]
  • - Text analysis of selected portions of the scientific literature to discover and categorize use cases for scientific software [data mining]

The HPC Lab is generously supported by donations and grants from the Department of Energy (DOE), National Science Foundation (NSF), and RNET Technologies, Inc (Dayton, OH).

Relevant conferences and workshops.