Custom Computing Architectures for Computational Nanophotonics
The Project
The development of novel computer architectures based on photonic components is currently a hot research topic. Based on these components, high performance network interconnections are already possible and further kind of components for inter- and on-chip communication are imaginable. These components can build the base for future high performance computer architectures. A common way to model optical phenomena in nano structured material is to solve the Maxwell equations for a given problem. However, for many real-world problems, no analytical or statistical solution which could be approximated are available, hence, numerical computer simulation is required to evaluate the system’s properties or dynamics. Using the Finite Difference Time Domain method (FDTD), the behavior of a system can be computed with a sufficient accuracy, which makes it possible to describe the light – material interaction and control the light field for a given nano structure.
In fact, the complexity of the systems under consideration today requires massive computing power. State-of-the-art simulation models are so complex that the runtime of the simulation on traditional computers is becoming a limiting factor for the discovery of new scientific results. Consequently, the provision of high compute power is the enabler for answering future research questions in the field of computational nanophotonics. The traditional way of addressing this high computational demand is to use high-performance parallel computer clusters that distribute the calculations among different processors and computer nodes. We study an alternative approach, which leverages recent advances in computer architecture for addressing the challenges of scientific computing, especially by considering new General Purpose Graphic Unit (GPGPU) architectures and other emerging parallel computer architectures, such as field-programmable gate arrays (FPGAs), floating-point accelerators, and Many-Core processors. First research prototypes have demonstrated that GPGPUs can accelerate this class of applications by up to two orders of magnitude.

Our Mission
Depending on the complexity of the modeled material structures and the resolution of the simulation in space and time, nanophotonic simulations can easily consume substantial computing time, frequently in the range of hours or days. We want to reduce the necessary computing time by the usage of modern GPGPU architectures. Furthermore, for physicists it should not be mandatory to care about the complexity of GPGPU programming, so it is eligible that they can focus on the algorithms for their simulations. To achieve this goal, we develop a Domain Specific Language (DSL) which is expressive enough to make simulation implementations possible in a sufficient easy way. By using comprehensive design pattern and data analysis strategies, we map the DSL code with our code generator to efficient GPGPU source code for different target platforms. The result of our source code generator can be compiled with the compiler provided with the target platform. Our current efforts primarily target GPGPUs, our long term goal is however to provide an integrated code generation framework that is able to produce highly optimized code for different parallel computer architectures.
Funding and Collaborations
This project is funded by the University of Paderborn Research Award 2009. We cooperate closely with Dr. Jens Förstner who is leading the Computational Nanophotonics group at University of Paderborn.




Print