Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Annotation of /trunk/doc/whitepaper/intro.tex
ViewVC logotype

Annotation of /trunk/doc/whitepaper/intro.tex

Parent Directory Parent Directory | Revision Log Revision Log


Revision 233 - (view) (download) (as text)

1 : jhr 233 %!TEX root = paper.tex
2 :     %
3 :    
4 :     \section{Introduction}
5 :    
6 :     The analysis of structure in three-dimensional images is increasingly
7 :     valuable for biomedical research and computational science.
8 :     \emph{Computed Tomography} (CT) and \emph{Magnetic Resonance Imaging}
9 :     (MRI) scanners continue
10 :     to improve in speed and resolution, driving clinical research in
11 :     image-based screening and diagnosis, and recent microscopy techniques
12 :     are producing detailed snapshots of cellular processes for biomedical
13 :     research.
14 :     Regardless of the image modality or application, the values
15 :     stored at individual samples in the three-dimensional image are
16 :     measurements of some essential physical or biological quantity, and
17 :     the spatial structure of those values indirectly represents relevant
18 :     features of the scanned object or system.
19 :     Image analysis plays the
20 :     crucial role of detecting and extracting the salient image structure
21 :     in order to build geometric and quantitative models of anatomy or
22 :     organization.
23 :    
24 :     %Volumetric imagery
25 :     %also arises in non-destructive testing of manufacturing, siesmology
26 :     %and geophysics, and homeland security.
27 :    
28 :     Ideally, image analysis research creates efficient and powerful tools
29 :     that increase the scientific utility and impact of image acquisitions.
30 :     In practice, a combination of factors limits the development and
31 :     application of novel image-analysis methods.
32 :     The computational burden
33 :     of processing images is increasing as devices produce images of higher
34 :     resolution (\eg{}, typical CT scans have gone from $128^3$ to roughly $512^3$
35 :     resolutions~\cite{GLK:Reiser2008}).
36 :     With the latest scanning technologies, it is also more common for the the values measured at
37 :     each sample to be multi-dimensional rather than a single scalar, which
38 :     further complicates implementing mathematically correct methods.
39 :     % diffusion-weighted MRI now commonly measures at least 30 value per
40 :     % sample, and the simplest tensor models estimated from these
41 :     % measurements have at least six degrees of freedom per point.
42 :     While image-analysis algorithms are computationally expensive, there
43 :     is hope in being able to exploit modern parallel hardware to greatly
44 :     reduce their running time.
45 :     Unfortunately, the scientists involved in
46 :     creating the latest imaging experiments and acquisitions are usually
47 :     not in a position to implement correspondingly sophisticated analysis
48 :     algorithms that run on the latest parallel hardware, which reinforces the
49 :     gap between the class of methods advanced by computer science
50 :     research, and those that gain currency in scientific research
51 :     applications.
52 :    
53 :     We propose a new way to express and implement image-analysis algorithms that
54 :     strives for both efficiency and flexibility.
55 :     Our proposed approach is based on a \emph{domain-specific language} (DSL)
56 :     that encapsulates the mathematical ingredients of working in
57 :     a smooth image domain (reconstructed from discrete samples), and
58 :     offers a powerful abstraction with which analysis algorithms can be
59 :     decomposed into a coordinated set of actors that capture the parallelism
60 :     inherent in these algorithms.
61 :    
62 :     One advantage of DSLs is that they provide a high-level programming language
63 :     that allows domain experts to program using the natural notation and concepts of the domain.
64 :     For example, parser generators, such as Yacc~\cite{yacc}, allow language syntax
65 :     to be specified using the notation of context-free grammars. Form compilers,
66 :     such as FFC~\cite{ffc}, take high-level descriptions of a finite element variational form
67 :     and generate low-level C code for efficient evaluation of the element tensor
68 :     and associated quantities.
69 :     But we can also view DSLs as the input to a program generator.
70 :     Program generators have proven to be a very effective way to get portable
71 :     high-performance code.
72 :     For example, the leading FFT library (FFTW~\cite{fftw}) uses a program generator
73 :     to generate versions of the FFT algorithm that are specialized for many different
74 :     hardware targets.
75 :     Thus, DSLs can provide both a very high-level programming model and very high-performance
76 :     executables.
77 :    
78 :     As others have argued~\cite{hanrahan:dsl-gpu}, the use of DSLs for parallelism
79 :     is particularly advantageous.
80 :     Getting the maximum performance for a parallel program on a particular parallel platform
81 :     usually requires hand tuning the program for the given platform.
82 :     But such a tuned program is not portable and will have to be retuned, or even rewritten,
83 :     to take full advantage of any new platform.
84 :     For example, clusters, multicore SMP systems, and GPUs (Graphics Processing Units)
85 :     are parallel systems that are found in many labs, and that have very different computational
86 :     and memory-system characteristics.
87 :     As the FFTW library demonstrates, domain-specific program generation is one solution to
88 :     the portable performance problem.
89 :     DSLs provide a high-level interface to such program generators.
90 :     Our proposed research follows this model of fixing the application domain (to image
91 :     analysis in our case) and combining domain-specific optimizations with target-specific
92 :     program generation to get high-level programming language with high performance.
93 :    
94 :     There are three equally important aspects of the proposed research.
95 :     \begin{enumerate}
96 :     \item
97 :     To design a high-level, domain-specific
98 :     programming model that allows existing visualization and analysis
99 :     methods to be expressed in simple and readily understood programs.
100 :     \item
101 :     To test and evolve this programming model by exploring a range of
102 :     both established and novel image-analysis algorithms.
103 :     \item
104 :     And to develop techniques for implementing the programming
105 :     model so that a given program can be compiled to high-performance
106 :     implementations on a variety of parallel-hardware platforms without
107 :     hand-tuning the code for each platform.
108 :     \end{enumerate}%
109 :    
110 :     This proposal is a collaboration between PI Reppy, who has extensive experience
111 :     in both parallel and sequential language design and implementation, and PI Kindlmann, who
112 :     has extensive domain expertise in the area of image analysis.
113 :     The proposed research will make contributions to both the area of parallel-language
114 :     design and implementation and to the area of image analysis.
115 :    
116 :     The proposal is organized as follows.
117 :     In the next section, we give an overview of the image-analysis domain
118 :     and the numeric techniques that have proven useful for extracting features
119 :     from image data.
120 :     This survey motivates the major aspects of our proposed DSL design, which we
121 :     discuss in \secref{sec:design}.
122 :     We then discuss the challenges of implementing this language on parallel hardware,
123 :     with a particular focus on GPUs, in \secref{sec:impl}.
124 :     Our research plan is described in \secref{sec:plan}, followed by a discussion of
125 :     the broader impact of the proposed research.
126 :     Finally, we describe the PI backgrounds and existing NSF support.
127 :     Related work is discussed throughout the proposal.

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0