Cargando…
A distributed ASTRA toolbox
While iterative reconstruction algorithms for tomography have several advantages compared to standard backprojection methods, the adoption of such algorithms in large-scale imaging facilities is still limited, one of the key obstacles being their high computational load. Although GPU-enabled computi...
Autores principales: | , , , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
Springer International Publishing
2016
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5143361/ https://www.ncbi.nlm.nih.gov/pubmed/28018839 http://dx.doi.org/10.1186/s40679-016-0032-z |
_version_ | 1782472924477784064 |
---|---|
author | Palenstijn, Willem Jan Bédorf, Jeroen Sijbers, Jan Batenburg, K. Joost |
author_facet | Palenstijn, Willem Jan Bédorf, Jeroen Sijbers, Jan Batenburg, K. Joost |
author_sort | Palenstijn, Willem Jan |
collection | PubMed |
description | While iterative reconstruction algorithms for tomography have several advantages compared to standard backprojection methods, the adoption of such algorithms in large-scale imaging facilities is still limited, one of the key obstacles being their high computational load. Although GPU-enabled computing clusters are, in principle, powerful enough to carry out iterative reconstructions on large datasets in reasonable time, creating efficient distributed algorithms has so far remained a complex task, requiring low-level programming to deal with memory management and network communication. The ASTRA toolbox is a software toolbox that enables rapid development of GPU accelerated tomography algorithms. It contains GPU implementations of forward and backprojection operations for many scanning geometries, as well as a set of algorithms for iterative reconstruction. These algorithms are currently limited to using GPUs in a single workstation. In this paper, we present an extension of the ASTRA toolbox and its Python interface with implementations of forward projection, backprojection and the SIRT algorithm that can be distributed over multiple GPUs and multiple workstations, as well as the tools to write distributed versions of custom reconstruction algorithms, to make processing larger datasets with ASTRA feasible. As a result, algorithms that are implemented in a high-level conceptual script can run seamlessly on GPU-enabled computing clusters, up to 32 GPUs or more. Our approach is not limited to slice-based reconstruction, facilitating a direct portability of algorithms coded for parallel-beam synchrotron tomography to cone-beam laboratory tomography setups without making changes to the reconstruction algorithm. |
format | Online Article Text |
id | pubmed-5143361 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2016 |
publisher | Springer International Publishing |
record_format | MEDLINE/PubMed |
spelling | pubmed-51433612016-12-23 A distributed ASTRA toolbox Palenstijn, Willem Jan Bédorf, Jeroen Sijbers, Jan Batenburg, K. Joost Adv Struct Chem Imaging Methodology While iterative reconstruction algorithms for tomography have several advantages compared to standard backprojection methods, the adoption of such algorithms in large-scale imaging facilities is still limited, one of the key obstacles being their high computational load. Although GPU-enabled computing clusters are, in principle, powerful enough to carry out iterative reconstructions on large datasets in reasonable time, creating efficient distributed algorithms has so far remained a complex task, requiring low-level programming to deal with memory management and network communication. The ASTRA toolbox is a software toolbox that enables rapid development of GPU accelerated tomography algorithms. It contains GPU implementations of forward and backprojection operations for many scanning geometries, as well as a set of algorithms for iterative reconstruction. These algorithms are currently limited to using GPUs in a single workstation. In this paper, we present an extension of the ASTRA toolbox and its Python interface with implementations of forward projection, backprojection and the SIRT algorithm that can be distributed over multiple GPUs and multiple workstations, as well as the tools to write distributed versions of custom reconstruction algorithms, to make processing larger datasets with ASTRA feasible. As a result, algorithms that are implemented in a high-level conceptual script can run seamlessly on GPU-enabled computing clusters, up to 32 GPUs or more. Our approach is not limited to slice-based reconstruction, facilitating a direct portability of algorithms coded for parallel-beam synchrotron tomography to cone-beam laboratory tomography setups without making changes to the reconstruction algorithm. Springer International Publishing 2016-12-07 2017 /pmc/articles/PMC5143361/ /pubmed/28018839 http://dx.doi.org/10.1186/s40679-016-0032-z Text en © The Author(s) 2016 Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made. |
spellingShingle | Methodology Palenstijn, Willem Jan Bédorf, Jeroen Sijbers, Jan Batenburg, K. Joost A distributed ASTRA toolbox |
title | A distributed ASTRA toolbox |
title_full | A distributed ASTRA toolbox |
title_fullStr | A distributed ASTRA toolbox |
title_full_unstemmed | A distributed ASTRA toolbox |
title_short | A distributed ASTRA toolbox |
title_sort | distributed astra toolbox |
topic | Methodology |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5143361/ https://www.ncbi.nlm.nih.gov/pubmed/28018839 http://dx.doi.org/10.1186/s40679-016-0032-z |
work_keys_str_mv | AT palenstijnwillemjan adistributedastratoolbox AT bedorfjeroen adistributedastratoolbox AT sijbersjan adistributedastratoolbox AT batenburgkjoost adistributedastratoolbox AT palenstijnwillemjan distributedastratoolbox AT bedorfjeroen distributedastratoolbox AT sijbersjan distributedastratoolbox AT batenburgkjoost distributedastratoolbox |