ParCoreLab research interests revolve around the central topic of parallel and multicore computing on the state-of-the-art parallel architectures with three sub-branches:

1. Parallel System Software : We design and develop parallel languages, libraries and frameworks supported by compiler and runtime system research to address programming challenges on emerging architectures including multicore CPUs, GPUs, IPUs and other hardware accelerators as well as Quantum Annelears.

2. Performance Models and Tools : We develop performance models, system tools and prediction frameworks to guide application tuning and optimization on parallel architectures.

3. Scalable AI, ML and HPC Applications : We optimize and scale applications on cutting-edge parallel architectures by devising novel program optimization techniques. Application tuning may require multi-disciplinary research to iteratively co-design all aspects of a software. Some of the attractive application areas include autonomous driving, reservoir simulation, and cardiac modeling.

If these sound exciting to you, come and join ParCoreLab to push the frontiers of parallel computing research.

Why Parallel Computing?

Computing devices ranging from $100M supercomputers to $300 tablets are equipped with parallel architectures. In addition, more and more industrial and scientific problems are being studied on  large-scale computers. In fact, high-performance parallel computing supports the design and implementation of many sophisticated services and products that we use every day: new medicines, vehicle designs, financial risk management, and weather forecasting are just a few examples. In addition, with the emergence of multicore and various hardware accelerators (e.g., IPUs, GPUs), all software fields have to leverage parallel computing not to lag behind.