@misc{3365,
  author       = {{Schnuer, Jan-Philip}},
  publisher    = {{Universität Paderborn}},
  title        = {{{Static Scheduling Algorithms for Heterogeneous Compute Nodes}}},
  year         = {{2018}},
}

@misc{3366,
  author       = {{Croce, Marcel}},
  publisher    = {{Universität Paderborn}},
  title        = {{{Evaluation of OpenCL-based Compilation for FPGAs}}},
  year         = {{2018}},
}

@misc{5414,
  author       = {{Filmwala, Tasneem}},
  publisher    = {{Universität Paderborn}},
  title        = {{{Study Effects of Approximation on Conjugate Gradient Algorithm and Accelerate it on FPGA Platform}}},
  year         = {{2018}},
}

@misc{5421,
  author       = {{Gadewar, Onkar}},
  publisher    = {{Universität Paderborn}},
  title        = {{{Programmable Programs? - Designing FPGA Overlay Architectures with OpenCL}}},
  year         = {{2018}},
}

@inproceedings{5547,
  author       = {{Lösch, Achim and Platzner, Marco}},
  booktitle    = {{2018 IEEE 29th International Conference on Application-specific Systems, Architectures and Processors (ASAP)}},
  isbn         = {{9781538674796}},
  location     = {{Milan, Italy}},
  publisher    = {{IEEE}},
  title        = {{{A Highly Accurate Energy Model for Task Execution on Heterogeneous Compute Nodes}}},
  doi          = {{10.1109/asap.2018.8445098}},
  year         = {{2018}},
}

@misc{5417,
  abstract     = {{Molecular Dynamic (MD) simulations are computationally intensive and accelerating them using specialized hardware is a topic of investigation in many studies. One of the routines in the critical path of MD simulations is the three-dimensional Fast Fourier Transformation (FFT3d). The potential in accelerating FFT3d using hardware is usually bound by bandwidth and memory. Therefore, designing a high throughput solution for an FPGA that overcomes this problem is challenging.
In this thesis, the feasibility of offloading FFT3d computations to FPGA implemented using OpenCL is investigated. In order to mask the latency in memory access, an FFT3d that overlaps computation with communication is designed. The implementa- tion of this design is synthesized for the Arria 10 GX 1150 FPGA and evaluated with the FFTW benchmark. Analysis shows a better performance using FPGA over CPU for larger FFT sizes, with the 643 FFT showing a 70% improvement in runtime using FPGAs.
This FFT3d design is integrated with CP2K to explore the potential in accelerating molecular dynamic simulations. Evaluation of CP2K simulations using FPGA shows a 41% improvement in runtime in FFT3d computations over CPU for larger FFT3d designs.}},
  author       = {{Ramaswami, Arjun}},
  keywords     = {{FFT: FPGA, CP2K, OpenCL}},
  publisher    = {{Universität Paderborn}},
  title        = {{{Accelerating Molecular Dynamic Simulations by Offloading Fast Fourier Transformations to FPGA}}},
  year         = {{2018}},
}

@inproceedings{1588,
  abstract     = {{The exploration of FPGAs as accelerators for scientific simulations has so far mostly been focused on small kernels of methods working on regular data structures, for example in the form of stencil computations for finite difference methods. In computational sciences, often more advanced methods are employed that promise better stability, convergence, locality and scaling. Unstructured meshes are shown to be more effective and more accurate, compared to regular grids, in representing computation domains of various shapes. Using unstructured meshes, the discontinuous Galerkin method preserves the ability to perform explicit local update operations for simulations in the time domain. In this work, we investigate FPGAs as target platform for an implementation of the nodal discontinuous Galerkin method to find time-domain solutions of Maxwell's equations in an unstructured mesh. When maximizing data reuse and fitting constant coefficients into suitably partitioned on-chip memory, high computational intensity allows us to implement and feed wide data paths with hundreds of floating point operators. By decoupling off-chip memory accesses from the computations, high memory bandwidth can be sustained, even for the irregular access pattern required by parts of the application. Using the Intel/Altera OpenCL SDK for FPGAs, we present different implementation variants for different polynomial orders of the method. In different phases of the algorithm, either computational or bandwidth limits of the Arria 10 platform are almost reached, thus outperforming a highly multithreaded CPU implementation by around 2x.}},
  author       = {{Kenter, Tobias and Mahale, Gopinath and Alhaddad, Samer and Grynko, Yevgen and Schmitt, Christian and Afzal, Ayesha and Hannig, Frank and Förstner, Jens and Plessl, Christian}},
  booktitle    = {{Proc. Int. Symp. on Field-Programmable Custom Computing Machines (FCCM)}},
  keywords     = {{tet_topic_hpc}},
  publisher    = {{IEEE}},
  title        = {{{OpenCL-based FPGA Design to Accelerate the Nodal Discontinuous Galerkin Method for Unstructured Meshes}}},
  doi          = {{10.1109/FCCM.2018.00037}},
  year         = {{2018}},
}

@inproceedings{1204,
  author       = {{Riebler, Heinrich and Vaz, Gavin Francis and Kenter, Tobias and Plessl, Christian}},
  booktitle    = {{Proc. ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP)}},
  isbn         = {{9781450349826}},
  keywords     = {{htrop}},
  publisher    = {{ACM}},
  title        = {{{Automated Code Acceleration Targeting Heterogeneous OpenCL Devices}}},
  doi          = {{10.1145/3178487.3178534}},
  year         = {{2018}},
}

@misc{74,
  author       = {{Knorr, Christoph}},
  publisher    = {{Universität Paderborn}},
  title        = {{{OpenCL-basierte Videoverarbeitung auf heterogenen Rechenknoten}}},
  year         = {{2017}},
}

@inproceedings{65,
  abstract     = {{Heterogeneous compute nodes in form of CPUs with attached GPU and FPGA accelerators have strongly gained interested in the last years. Applications differ in their execution characteristics and can therefore benefit from such heterogeneous resources in terms of performance or energy consumption. While performance optimization has been the only goal for a long time, nowadays research is more and more focusing on techniques to minimize energy consumption due to rising electricity costs.This paper presents reMinMin, a novel static list scheduling approach for optimizing the total energy consumption for a set of tasks executed on a heterogeneous compute node. reMinMin bases on a new energy model that differentiates between static and dynamic energy components and covers effects of accelerator tasks on the host CPU. The required energy values are retrieved by measurements on the real computing system. In order to evaluate reMinMin, we compare it with two reference implementations on three task sets with different degrees of heterogeneity. In our experiments, MinMin is consistently better than a scheduler optimizing for dynamic energy only, which requires up to 19.43% more energy, and very close to optimal schedules.}},
  author       = {{Lösch, Achim and Platzner, Marco}},
  booktitle    = {{Proceedings of the 28th Annual IEEE International Conference on Application-specific Systems, Architectures and Processors (ASAP)}},
  title        = {{{reMinMin: A Novel Static Energy-Centric List Scheduling Approach Based on Real Measurements}}},
  doi          = {{10.1109/ASAP.2017.7995272}},
  year         = {{2017}},
}

@article{18,
  abstract     = {{Branch and bound (B&B) algorithms structure the search space as a tree and eliminate infeasible solutions early by pruning subtrees that cannot lead to a valid or optimal solution. Custom hardware designs significantly accelerate the execution of these algorithms. In this article, we demonstrate a high-performance B&B implementation on FPGAs. First, we identify general elements of B&B algorithms and describe their implementation as a finite state machine. Then, we introduce workers that autonomously cooperate using work stealing to allow parallel execution and full utilization of the target FPGA. Finally, we explore advantages of instance-specific designs that target a specific problem instance to improve performance.

We evaluate our concepts by applying them to a branch and bound problem, the reconstruction of corrupted AES keys obtained from cold-boot attacks. The evaluation shows that our work stealing approach is scalable with the available resources and provides speedups proportional to the number of workers. Instance-specific designs allow us to achieve an overall speedup of 47 × compared to the fastest implementation of AES key reconstruction so far. Finally, we demonstrate how instance-specific designs can be generated just-in-time such that the provided speedups outweigh the additional time required for design synthesis.}},
  author       = {{Riebler, Heinrich and Lass, Michael and Mittendorf, Robert and Löcke, Thomas and Plessl, Christian}},
  issn         = {{1936-7406}},
  journal      = {{ACM Transactions on Reconfigurable Technology and Systems (TRETS)}},
  keywords     = {{coldboot}},
  number       = {{3}},
  pages        = {{24:1--24:23}},
  publisher    = {{Association for Computing Machinery (ACM)}},
  title        = {{{Efficient Branch and Bound on FPGAs Using Work Stealing and Instance-Specific Designs}}},
  doi          = {{10.1145/3053687}},
  volume       = {{10}},
  year         = {{2017}},
}

@inproceedings{1592,
  abstract     = {{Compared to classical HDL designs, generating FPGA with high-level synthesis from an OpenCL specification promises easier exploration of different design alternatives and, through ready-to-use infrastructure and common abstractions for host and memory interfaces, easier portability between different FPGA families. In this work, we evaluate the extent of this promise. To this end, we present a parameterized FDTD implementation for photonic microcavity simulations. Our design can trade-off different forms of parallelism and works for two independent OpenCL-based FPGA design flows. Hence, we can target FPGAs from different vendors and different FPGA families. We describe how we used pre-processor macros to achieve this flexibility and to work around different shortcomings of the current tools. Choosing the right design configurations, we are able to present two extremely competitive solutions for very different FPGA targets, reaching up to 172 GFLOPS sustained performance. With the portability and flexibility demonstrated, code developers not only avoid vendor lock-in, but can even make best use of real trade-offs between different architectures.}},
  author       = {{Kenter, Tobias and Förstner, Jens and Plessl, Christian}},
  booktitle    = {{Proc. Int. Conf. on Field Programmable Logic and Applications (FPL)}},
  keywords     = {{tet_topic_hpc}},
  publisher    = {{IEEE}},
  title        = {{{Flexible FPGA design for FDTD using OpenCL}}},
  doi          = {{10.23919/FPL.2017.8056844}},
  year         = {{2017}},
}

@misc{5418,
  author       = {{Tölke, Christian}},
  publisher    = {{Universität Paderborn}},
  title        = {{{Sicherheit von hybriden FPGA-Systemen in der industriellen Automatisierungstechnik -- Anforderungen und Umsetzung}}},
  year         = {{2016}},
}

@misc{5420,
  author       = {{Wüllrich, Gunnar}},
  publisher    = {{Universität Paderborn}},
  title        = {{{Dynamic OpenCL Task Scheduling for Energy and Performance in a Heterogeneous Environment}}},
  year         = {{2016}},
}

@phdthesis{161,
  author       = {{Kenter, Tobias}},
  publisher    = {{Universität Paderborn}},
  title        = {{{Reconfigurable Accelerators in the World of General-Purpose Computing}}},
  year         = {{2016}},
}

@inproceedings{31,
  author       = {{Riebler, Heinrich and Vaz, Gavin Francis and Plessl, Christian and Trainiti, Ettore M. G. and Durelli, Gianluca C. and Bolchini, Cristiana}},
  booktitle    = {{Proc. HiPEAC Workshop on Reonfigurable Computing (WRC)}},
  title        = {{{Using Just-in-Time Code Generation for Transparent Resource Management in Heterogeneous Systems}}},
  year         = {{2016}},
}

@inproceedings{24,
  author       = {{Kenter, Tobias and Plessl, Christian}},
  booktitle    = {{Proc. Workshop on Heterogeneous High-performance Reconfigurable Computing (H2RC)}},
  title        = {{{Microdisk Cavity FDTD Simulation on FPGA using OpenCL}}},
  year         = {{2016}},
}

@inproceedings{138,
  abstract     = {{Hardware accelerators are becoming popular in academia and industry. To move one step further from the state-of-the-art multicore plus accelerator approaches, we present in this paper our innovative SAVEHSA architecture. It comprises of a heterogeneous hardware platform with three different high-end accelerators attached over PCIe (GPGPU, FPGA and Intel MIC). Such systems can process parallel workloads very efficiently whilst being more energy efficient than regular CPU systems. To leverage the heterogeneity, the workload has to be distributed among the computing units in a way that each unit is well-suited for the assigned task and executable code must be available. To tackle this problem we present two software components; the first can perform resource allocation at runtime while respecting system and application goals (in terms of throughput, energy, latency, etc.) and the second is able to analyze an application and generate executable code for an accelerator at runtime. We demonstrate the first proof-of-concept implementation of our framework on the heterogeneous platform, discuss different runtime policies and measure the introduced overheads.}},
  author       = {{Riebler, Heinrich and Vaz, Gavin Francis and Plessl, Christian and Trainiti, Ettore M. G.  and Durelli, Gianluca C. and Del Sozzo, Emanuele and Santambrogio, Marco D.  and Bolchini, Christina}},
  booktitle    = {{Proceedings of International Forum on Research and Technologies for Society and Industry (RTSI)}},
  pages        = {{1--5}},
  publisher    = {{IEEE}},
  title        = {{{Using Just-in-Time Code Generation for Transparent Resource Management in Heterogeneous Systems}}},
  doi          = {{10.1109/RTSI.2016.7740545}},
  year         = {{2016}},
}

@inbook{156,
  abstract     = {{Many modern compute nodes are heterogeneous multi-cores that integrate several CPU cores with fixed function or reconfigurable hardware cores. Such systems need to adapt task scheduling and mapping to optimise for performance and energy under varying workloads and, increasingly important, for thermal and fault management and are thus relevant targets for self-aware computing. In this chapter, we take up the generic reference architecture for designing self-aware and self-expressive computing systems and refine it for heterogeneous multi-cores. We present ReconOS, an architecture, programming model and execution environment for heterogeneous multi-cores, and show how the components of the reference architecture can be implemented on top of ReconOS. In particular, the unique feature of dynamic partial reconfiguration supports self-expression through starting and terminating reconfigurable hardware cores. We detail a case study that runs two applications on an architecture with one CPU and 12 reconfigurable hardware cores and present self-expression strategies for adapting under performance, temperature and even conflicting constraints. The case study demonstrates that the reference architecture as a model for self-aware computing is highly useful as it allows us to structure and simplify the design process, which will be essential for designing complex future compute nodes. Furthermore, ReconOS is used as a base technology for flexible protocol stacks in Chapter 10, an approach for self-aware computing at the networking level.}},
  author       = {{Agne, Andreas and Happe, Markus and Lösch, Achim and Plessl, Christian and Platzner, Marco}},
  booktitle    = {{Self-aware Computing Systems}},
  pages        = {{145--165}},
  publisher    = {{Springer International Publishing}},
  title        = {{{Self-aware Compute Nodes}}},
  doi          = {{10.1007/978-3-319-39675-0_8}},
  year         = {{2016}},
}

@article{165,
  abstract     = {{A broad spectrum of applications can be accelerated by offloading computation intensive parts to reconfigurable hardware. However, to achieve speedups, the number of loop it- erations (trip count) needs to be sufficiently large to amortize offloading overheads. Trip counts are frequently not known at compile time, but only at runtime just before entering a loop. Therefore, we propose to generate code for both the CPU and the coprocessor, and defer the offloading decision to the application runtime. We demonstrate how a toolflow, based on the LLVM compiler framework, can automatically embed dynamic offloading de- cisions into the application code. We perform in-depth static and dynamic analysis of pop- ular benchmarks, which confirm the general potential of such an approach. We also pro- pose to optimize the offloading process by decoupling the runtime decision from the loop execution (decision slack). The feasibility of our approach is demonstrated by a toolflow that automatically identifies suitable data-parallel loops and generates code for the FPGA coprocessor of a Convey HC-1. We evaluate the integrated toolflow with representative loops executed for different input data sizes.}},
  author       = {{Vaz, Gavin Francis and Riebler, Heinrich and Kenter, Tobias and Plessl, Christian}},
  issn         = {{0045-7906}},
  journal      = {{Computers and Electrical Engineering}},
  pages        = {{91--111}},
  publisher    = {{Elsevier}},
  title        = {{{Potential and Methods for Embedding Dynamic Offloading Decisions into Application Code}}},
  doi          = {{10.1016/j.compeleceng.2016.04.021}},
  volume       = {{55}},
  year         = {{2016}},
}

