The importance of parallel computing is rapidly increasing because more and more industrial and scientific problems are being studied on the basis of very large-scale computer simulations. 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, all software fields have to adapt to the paradigm shift in computer architecture. Computing devices ranging from $100M supercomputers to $300 tablets are equipped with multicore architectures.
1. Parallel Software : we design parallel languages, libraries and tools supported by compiler and runtime research to address programming challenges on multicores, as well as on graphic processors which were primarily developed for the gaming industry.
2. Performance Engineering : we do performance modeling and prediction to guide application tuning and optimizations.
3. Machine Learning and Scientific Applications : we optimize applications and discover novel optimization techniques on cutting-edge parallel architectures. Application tuning may require multi-disciplinary research to iteratively co-design all aspects of a software. Some of the attractive application areas include machine learning, combustion simulation, the cardiac modeling.
If this sounds exciting to you, come and join ParCoreLab to push the frontiers of parallel computing research.
You can find some of our current projects.