Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Patterns in Java, volume 1: a catalog of reusable design patterns illustrated with UML
Patterns in Java, volume 1: a catalog of reusable design patterns illustrated with UML
Modern C++ design: generic programming and design patterns applied
Modern C++ design: generic programming and design patterns applied
Patterns for parallel programming
Patterns for parallel programming
A coarse-grained stream architecture for cryo-electron microscopy images 3D reconstruction
Proceedings of the ACM/SIGDA international symposium on Field Programmable Gate Arrays
Hi-index | 0.00 |
The design and implementation of the reconstruction system in medical X-ray imaging is a challenging issue due to its immense computational demands. In order to ensure an efficient clinical workflow it is inevitable to meet high performance requirements. Hence, the usage of hardware acceleration is mandatory. The software architecture of the reconstruction system is required to be modular in a sense that different accelerator hardware platforms are supported and it must be possible to implement different parts of the algorithm using different acceleration architectures and techniques. This paper introduces and discusses the design of a software architecture for an image reconstruction system that meets the aforementioned requirements. We implemented a multi-threaded software framework that combines two software design patterns: the pipeline and the master/worker pattern. This enables us to take advantage of the parallelism in off-the-shelf accelerator hardware such as multi-core systems, the Cell processor, and graphics accelerators in a very flexible and reusable way.