the astra tomography toolboxpcha/hdtomo/sc/week2day4.pdf · gpu usage •esides the 2d pu code...
TRANSCRIPT
![Page 1: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/1.jpg)
The ASTRA Tomography Toolbox17 January 2019
Advanced topics
![Page 2: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/2.jpg)
Today
• 3D GPU usage
• Exercises
• Python, distributed
• Exercises and/or micro-project
![Page 3: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/3.jpg)
GPU Usage
![Page 4: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/4.jpg)
GPU Usage
• Besides the 2D CPU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs.
• Usage of the 2D GPU code is very similar to what you’ve seen. Look at the GPU samples for more information.
• One difference is that there is currently no choice of discretization, and the backprojection is not the exact mathematical transpose of the forward projection for GPU code.
• 3D in ASTRA is currently GPU-only.
![Page 5: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/5.jpg)
3D Geometries
![Page 6: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/6.jpg)
Flexible geometries
• ASTRA supports:
• 2D: Parallel beam, fan beam
• 3D: Parallel beam, cone beam
• All with fully flexible source/detector positioning
![Page 7: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/7.jpg)
3D Geometries – basic
angles = linspace2(0, 2*pi, 180);
% Parallel
proj_geom = astra_create_proj_geom('parallel3d', 1.0, 1.0, ...
256, 256, angles);
% Cone
proj_geom = astra_create_proj_geom('cone', 1.0, 1.0, ...
256, 256, angles, 2000, 0);
![Page 8: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/8.jpg)
Fan beam – vector form
Three 2D parameters
per projection:
s, d, u
These form a 6
element row vector.
(dx,dy)
(0,0)
(sx,sy)
(ux,uy)
![Page 9: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/9.jpg)
Cone beam – vector form
vectors consists of a 12 element row vector per projection.
Four 3D parameters per projection:
• s: source location
• d: detector center
• u: horizontal detector pixel basis vector
• v: vertical detector pixel basis vector
% Cone - vector form
proj_geom = astra_create_proj_geom('cone_vec', ...
256, 256, vectors);
![Page 10: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/10.jpg)
Cone beam – vector form
vectors = [ 192, 30, 192, 0, 0, 0, 1, 0, 0, 0, 1, 0 ;
192, 90, 192, 0, 0, 0, 1, 0, 0, 0, 1, 0 ];
![Page 11: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/11.jpg)
Parallel beam – vector form
vectors consists of a 12 element row vector per projection.
Four 3D parameters per projection:
• r: Ray direction
• d: detector center
• u: horizontal detector pixel basis vector
• v: vertical detector pixel basis vector
% Parallel beam - vector form
proj_geom = astra_create_proj_geom(‘parallel3d_vec', ...
256, 256, vectors);
![Page 12: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/12.jpg)
Conversion to vector form
Using utility function:
% Standard circular cone beam
proj_geom = astra_create_proj_geom('cone', 1.0, 1.0, ...
256, 256, angles, 2000, 0);
% Convert to vector form
proj_geom_vec = astra_geom_2vec(proj_geom);
![Page 13: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/13.jpg)
Flexible volume geometries
So far we’ve assumed pixels in the reconstruction volume are 1x1 unit squares, and voxels are 1x1x1 unit cubes.
This is no longer necessary (since ASTRA 1.8).
The function astra_create_vol_geom has optional parameters that let you specify the size and location of the reconstruction window, both in 2D and in 3D.
![Page 14: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/14.jpg)
Large 3D data sets
![Page 15: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/15.jpg)
ASTRA for large data sets
Historically, a major limitation of ASTRA has been the requirement that data fits in GPU memory.
With ASTRA 1.7 and 1.8, we’ve started removing this limit.
Current status:
• 3D FP, BP and FDK transparently handle this.
• Other reconstruction algorithms don’t (yet)
![Page 16: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/16.jpg)
ASTRA for large data sets
For FP, BP, FDK this works transparently:
proj_geom = astra_create_proj_geom(‘parallel3d', 1.0, 1.0, 1024, 1024, angles);
vol_geom = astra_create_vol_geom(1024, 1024, 1024);
[x, projdata] = astra_create_sino3d_cuda(voldata, proj_geom, vol_geom);
[y, voldata] = astra_create_backprojection3d_cuda(projdata, proj_geom, vol_geom);
Also works transparently with Spot operator
To help with performance, you can also use multiple GPUs:
astra_mex(‘set_gpu_index’, [0 1]);
![Page 17: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/17.jpg)
Practical issues
For the GPU exercises, you need:
• Access to a DTU GPU server with thinlinc.Start Matlab using Applications->DTU->Mathematics->
Astra… snapshot20190102 with gpu
• Samples are at: https://github.com/astra-toolbox/astra-toolbox-> samples -> matlab
• Data for the exercises is at: http://astra.uantwerpen.be/data/training
![Page 18: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/18.jpg)
Today
• 3D GPU usage
• Exercises
• Python, distributed
• Exercises and/or micro-project
![Page 19: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/19.jpg)
Today
• 3D GPU usage
• Exercises
• Python, distributed
• Exercises and/or micro-project
![Page 20: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/20.jpg)
ASTRA from Python
![Page 21: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/21.jpg)
Installation
Easiest way to install in Linux/Windows + Python: using the condapackage manager.
Download and install anaconda and/or miniconda, and then run:
conda install -c astra-toolbox astra-toolbox
Or, for development snapshot:
conda install -c astra-toolbox/label/dev astra-toolbox
![Page 22: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/22.jpg)
Usage
Usage of ASTRA in Python is very similar to that in Matlab.
We provide the same set of sample scripts.
![Page 23: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/23.jpg)
ASTRA in Python
# Configure geometry
angles = np.linspace(0, 2*np.pi, nAngles, False)
proj_geom = astra.create_proj_geom('cone', 1.0, 1.0,
detectorRowCount, detectorColCount, angles,
originToSource, originToDetector)
vol_geom = astra.create_vol_geom(vx, vy, vz)
# Data objects for input, output
proj_id = astra.data3d.create('-proj3d', proj_geom, P)
rec_id = astra.data3d.create('-vol', vol_geom)
# Configure algorithm
cfg = astra.astra_dict('SIRT3D_CUDA')
cfg['ReconstructionDataId'] = rec_id
cfg['ProjectionDataId'] = proj_id
alg_id = astra.algorithm.create(cfg)
# Run
astra.algorithm.run(alg_id, 100)
rec = astra.data3d.get(rec_id)
![Page 24: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/24.jpg)
Distributed ASTRA
![Page 25: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/25.jpg)
Distributed ASTRA
Major new feature in ASTRA 1.7 (Dec 2015):
Distributed ASTRA: run ASTRA on a (GPU) cluster
• Process larger data sets faster
• A toolbox of building blocks for your (and our) own algorithms
• (Most of) the flexibility of ASTRA
• Python interface (only)
Developed by Jeroen Bédorf at CWI.
![Page 26: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/26.jpg)
Distributed ASTRA
Our approach:
Data objects are distributed, and (some) 3D algorithms will automatically run distributed:
• SIRT
• CGLS
• Forward projection
• Backprojection
![Page 27: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/27.jpg)
Distributed ASTRA
![Page 28: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/28.jpg)
(Un)distributed ASTRA – (Python!)
# Configure geometry
angles = np.linspace(0, 2*np.pi, nAngles, False)
proj_geom = astra.create_proj_geom('cone', 1.0, 1.0,
detectorRowCount, detectorColCount, angles,
originToSource, originToDetector)
vol_geom = astra.create_vol_geom(vx, vy, vz)
# Data objects for input, output
proj_id = astra.data3d.create('-proj3d', proj_geom, P)
rec_id = astra.data3d.create('-vol', vol_geom)
# Configure algorithm
cfg = astra.astra_dict('SIRT3D_CUDA')
cfg['ReconstructionDataId'] = rec_id
cfg['ProjectionDataId'] = proj_id
alg_id = astra.algorithm.create(cfg)
# Run
astra.algorithm.run(alg_id, 100)
rec = astra.data3d.get(rec_id)
![Page 29: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/29.jpg)
Distributed ASTRA
# Configure geometry
angles = np.linspace(0, 2*np.pi, nAngles, False)
proj_geom = astra.create_proj_geom('cone', 1.0, 1.0,
detectorRowCount, detectorColCount, angles,
originToSource, originToDetector)
vol_geom = astra.create_vol_geom(vx, vy, vz)
# Set up the distribution of data objects
proj_geom, vol_geom = mpi.create(proj_geom, vol_geom)
# Data objects for input, output
proj_id = astra.data3d.create('-proj3d', proj_geom, P)
rec_id = astra.data3d.create('-vol', vol_geom)
# Configure algorithm
cfg = astra.astra_dict('SIRT3D_CUDA')
cfg['ReconstructionDataId'] = rec_id
cfg['ProjectionDataId'] = proj_id
alg_id = astra.algorithm.create(cfg)
astra.algorithm.run(alg_id, 100)
rec = astra.data3d.get(rec_id)
![Page 30: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/30.jpg)
Distributed ASTRA
It is also possible to run your own functions on distributed data:
def addScaledArray(src_id, dst_id, value):
dataS = astra.data3d.get_shared_local(src_id)
dataD = astra.data3d.get_shared_local(dst_id)
dataD[:] = dataD + value*dataS2
mpi.run(addScaledArray, [tmp_id, vol_id, lambda])
Also functions that return output are possible, such as for example taking norms or inner products over the full volume.
![Page 31: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/31.jpg)
Distributed ASTRA
Running your own functions on distributed data:
• Many possibilities:basic arithmetic, segmentation, inner products, norms, file I/O, …
• Some operations, such as edge detection, blurring, etc,look at multiple pixels at once, which can be in neighbouringvolume blocks.
We handle this by (optionally) letting the volume blocks overlap slightly.
![Page 32: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/32.jpg)
Distributed ASTRA – Limitations
Limitations:
• Python only
• Linux only
• Currently, we always only split volumes in slabs along the z-axis.For this to work, the projection geometry must (approximately)rotate around the z-axis.
![Page 33: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/33.jpg)
Distributed benchmarks
![Page 34: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/34.jpg)
TomoPy
![Page 35: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/35.jpg)
TomoPy
TomoPy provides
``a collaborative framework for the analysis of synchrotron tomographic data that has the goal to unify the effort of different facilities and beamlines performing similar tasks.’’
Developed by APS at Argonne National Laboratory (USA).
![Page 36: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/36.jpg)
TomoPy
![Page 37: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/37.jpg)
TomoPy + ASTRA
With APS, Daniel Pelt (formerly at CWI) has integrated TomoPyand ASTRA.
This provides, from TomoPy:
• Data import/export
• Pre-/post-processing
• Finding center of rotation, ring artefact correction, …
• Parallelization of large data sets in parallel slices
And from ASTRA:
• GPU acceleration
• Building blocks for your own reconstruction algorithms
• …
![Page 38: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/38.jpg)
TomoPy + ASTRA
This interface is currently available for testing.
See the TomoPy documentation on how to get and install the necessary modules. (Search for TomoPy astra)
TomoPy gridrec TomoPy preproc + ASTRA GPU SIRT
![Page 39: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/39.jpg)
Useful links
• Webpage, for downloads, docs:
https://www.astra-toolbox.com/
• Github, for source code, issue tracker:
https://github.com/astra-toolbox/
• Email:
![Page 40: The ASTRA Tomography Toolboxpcha/HDtomo/SC/Week2Day4.pdf · GPU Usage •esides the 2D PU code you’ve used, ASTRA has accelerated GPU code for 2D and 3D tomography for NVIDIA GPUs](https://reader034.vdocuments.net/reader034/viewer/2022042621/5f5e2c21f345111d5e3d5a93/html5/thumbnails/40.jpg)
Today
• 3D GPU usage
• Exercises
• Python, distributed
• Exercises and/or micro-project