Actions

Fahad Khalid: Difference between revisions

From Santa Fe Institute Events Wiki

No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
{{Complex Systems Summer School 2014}}
{{Complex Systems Summer School 2014}}


[[Image:fahadk.jpg|150px|{border}]]<br>
I'm a PhD student with the HPI Research School on Service Oriented Systems Engineering, and member of the Operating Systems and Middleware Group.


Fahad Khalid is a PhD student with the HPI Research School on Service Oriented Systems Engineering, and member of the Operating Systems and Middleware Group. His research is in the area of programming models for Hybrid Parallel Computing. He focuses on devising strategies and developing frameworks that make it possible to balance the productivity vs. performance tradeoff inherent in programming massively parallel accelerator architectures. In addition to his core research, Fahad is involved in interdisciplinary collaborative projects focusing on parallel simulations for Computational Biology and Geophysics. The collaboration partners for these projects are Max Planck Institute of Molecular Plant Physiology and GFZ German Research Center for Geosciences.
Primary research theme is programming models for hybrid CPU-GPU parallel computing. Devising strategies to balance the productivity vs. performance trade-off inherent in programming massively parallel hybrid architectures. Currently working on the architecture-based algorithm decomposition approach, which uses patterns and certain characteristics of a computational kernel to map the kernel onto the most suitable processing device in a hybrid architecture. Also working on developing mathematical foundations for patterns in parallel programming.


Prior to joining the HPI, Fahad has worked as software developer for large-scale telecommunications software systems such as the Ericsson Real-time Charging system. He has also worked as system architect for a Provisioning & Service Activation product. He has over five years of professional experience in software design, development as well as automated testing. Fahad studied Computer Science in Pakistan, and Artificial Intelligence in Sweden. [http://fahads-view.blogspot.com website]
Use cases are based on real-world problems in Computational Biology and Geophysics. These use cases have been acquired during collaborative simulation development projects with the Max Planck Institute of Molecular Plant Physiology and the GFZ German Research Center for Geosciences.
 
I'm currently also supervising a project on developing a GPU-accelerated Path Integral Monte Carlo algorithm for simulating Quantum Annealing in the Random Field Ising Model. The objective is to develop a high performance simulator for Adiabatic Quantum Computing (AQC) chips. Such a simulator will make it possible to design and evaluate programming models for AQC.
 
Prior to joining the HPI, I worked as software developer for large-scale telecommunications software systems, such as the Ericsson Real-time Charging system. I also worked as system architect for a Provisioning & Service Activation product. My professional experience is in software design, development as well as automated testing. I studied Computer Science in Pakistan, and Artificial Intelligence in Sweden. [http://fahads-view.blogspot.com website]
 
Project Ideas:
 
1. Cells and Software: Is Evolution a Software Engineer - I've done some work on finding similarities between design principles in software engineering, and those employed at the cellular and molecular level in living cells. The hypothesis is that evolution and software engineers came up with similar solutions to design problems because both were trying to maximize a certain objective function, while operating within certain resource constraints. Is this true? Can we find design patterns that transcend discipline boundaries? If so, we could improve software engineering processes by learning from cells, and perhaps learn more about cells by applying design patterns in software engineering.
 
2. Future Architectures for Massively Parallel Processing - Our supercomputers today are based on the Von Neumann architecture. This architecture has become a bottleneck in the sense that it is getting harder and harder to write applications that scale to millions of cores. Perhaps we need to think about alternate architectures such as Adiabatic Quantum Computing using Spin Lattices, or Artificial Neural Networks. Both do optimization, so we need to find out how to express general computations as mathematical programs. Also, what are the similarities and differences between AQC and ANN based computation. How should we proceed?

Latest revision as of 13:07, 10 June 2014

Complex Systems Summer School 2014

I'm a PhD student with the HPI Research School on Service Oriented Systems Engineering, and member of the Operating Systems and Middleware Group.

Primary research theme is programming models for hybrid CPU-GPU parallel computing. Devising strategies to balance the productivity vs. performance trade-off inherent in programming massively parallel hybrid architectures. Currently working on the architecture-based algorithm decomposition approach, which uses patterns and certain characteristics of a computational kernel to map the kernel onto the most suitable processing device in a hybrid architecture. Also working on developing mathematical foundations for patterns in parallel programming.

Use cases are based on real-world problems in Computational Biology and Geophysics. These use cases have been acquired during collaborative simulation development projects with the Max Planck Institute of Molecular Plant Physiology and the GFZ German Research Center for Geosciences.

I'm currently also supervising a project on developing a GPU-accelerated Path Integral Monte Carlo algorithm for simulating Quantum Annealing in the Random Field Ising Model. The objective is to develop a high performance simulator for Adiabatic Quantum Computing (AQC) chips. Such a simulator will make it possible to design and evaluate programming models for AQC.

Prior to joining the HPI, I worked as software developer for large-scale telecommunications software systems, such as the Ericsson Real-time Charging system. I also worked as system architect for a Provisioning & Service Activation product. My professional experience is in software design, development as well as automated testing. I studied Computer Science in Pakistan, and Artificial Intelligence in Sweden. website

Project Ideas:

1. Cells and Software: Is Evolution a Software Engineer - I've done some work on finding similarities between design principles in software engineering, and those employed at the cellular and molecular level in living cells. The hypothesis is that evolution and software engineers came up with similar solutions to design problems because both were trying to maximize a certain objective function, while operating within certain resource constraints. Is this true? Can we find design patterns that transcend discipline boundaries? If so, we could improve software engineering processes by learning from cells, and perhaps learn more about cells by applying design patterns in software engineering.

2. Future Architectures for Massively Parallel Processing - Our supercomputers today are based on the Von Neumann architecture. This architecture has become a bottleneck in the sense that it is getting harder and harder to write applications that scale to millions of cores. Perhaps we need to think about alternate architectures such as Adiabatic Quantum Computing using Spin Lattices, or Artificial Neural Networks. Both do optimization, so we need to find out how to express general computations as mathematical programs. Also, what are the similarities and differences between AQC and ANN based computation. How should we proceed?