Home My Page Projects Code Snippets Project Openings diderot

# SCM Repository

[diderot] Diff of /trunk/doc/whitepaper/intro.tex
 [diderot] / trunk / doc / whitepaper / intro.tex

# Diff of /trunk/doc/whitepaper/intro.tex

revision 306, Tue Aug 17 16:36:59 2010 UTC revision 307, Tue Aug 17 18:09:10 2010 UTC
# Line 33  Line 33
33  of processing images is increasing as devices produce images of higher  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$  resolution (\eg{}, typical CT scans have gone from $128^3$ to roughly $512^3$
35  resolutions~\cite{GLK:Reiser2008}).  resolutions~\cite{GLK:Reiser2008}).
36  With the latest scanning technologies, it is also more common for the the values measured at  With the latest scanning technologies, it is also more common for the values measured at
37  each sample to be multi-dimensional rather than a single scalar, which  each sample to be multi-dimensional rather than a single scalar, which
38  further complicates implementing mathematically correct methods.  further complicates implementing mathematically correct methods.
39  % diffusion-weighted MRI now commonly measures at least 30 value per  % diffusion-weighted MRI now commonly measures at least 30 value per
# Line 47  Line 47
47  not in a position to implement correspondingly sophisticated analysis  not in a position to implement correspondingly sophisticated analysis
48  algorithms that run on the latest parallel hardware, which reinforces the  algorithms that run on the latest parallel hardware, which reinforces the
49  gap between the class of methods advanced by computer science  gap between the class of methods advanced by computer science
50  research, and those that gain currency in scientific research  research and those that gain currency in scientific research
51  applications.  applications.
52
53  We propose a new way to express and implement image-analysis algorithms that  We propose a new way to express and implement image-analysis algorithms that
54  strives for both efficiency and flexibility.  strives for both efficiency and flexibility.
55  Our proposed approach is based on a \emph{domain-specific language} (DSL)  Our proposed approach is based on a \emph{domain-specific language} (DSL)
56  that encapsulates the mathematical ingredients of working in  that encapsulates the mathematical ingredients of working in
57  a smooth image domain (reconstructed from discrete samples), and  a smooth image domain (reconstructed from discrete samples) and
58  offers a powerful abstraction with which analysis algorithms can be  offers a powerful abstraction with which analysis algorithms can be
59  decomposed into a coordinated set of actors that capture the parallelism  decomposed into a coordinated set of actors that capture the parallelism
60  inherent in these algorithms.  inherent in these algorithms.
61
62  One advantage of DSLs is that they provide a high-level programming language  One advantage of DSLs is that they provide a high-level programming model
63  that allows domain experts to program using the natural notation and concepts of the domain.  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  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,  to be specified using the notation of context-free grammars, and form compilers,
66  such as FFC~\cite{ffc}, take high-level descriptions of a finite element variational form  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  and generate low-level C code for efficient evaluation of the element tensor
68  and associated quantities.  and associated quantities.
69  But we can also view DSLs as the input to a program generator.  A second advantage is that DSLs allow for \emph{domain-specific} optimizations,
70  Program generators have proven to be a very effective way to get portable  which can result in highly-efficient implementations.
71  high-performance code.  Thirdly, we can view a DSL as a program generator, which have proven to be
72    a very effective way to get portable high-performance code.
73  For example, the leading FFT library (FFTW~\cite{fftw}) uses a program generator  For example, the leading FFT library (FFTW~\cite{fftw}) uses a program generator
74  to generate versions of the FFT algorithm that are specialized for many different  to generate versions of the FFT algorithm that are specialized for many different
75  hardware targets.  hardware targets.
76  Thus, DSLs can provide both a very high-level programming model and very high-performance  Thus, DSLs can provide both a very high-level programming model with very high-performance
77  executables.  executables on a variety of target platforms.
78
79  As others have argued~\cite{hanrahan:dsl-gpu}, the use of DSLs for parallelism  As others have argued~\cite{hanrahan:dsl-gpu}, the use of DSLs for parallelism
# Line 89  Line 90
90  DSLs provide a high-level interface to such program generators.  DSLs provide a high-level interface to such program generators.
91  Our proposed research follows this model of fixing the application domain (to image  Our proposed research follows this model of fixing the application domain (to image
92  analysis in our case) and combining domain-specific optimizations with target-specific  analysis in our case) and combining domain-specific optimizations with target-specific
93  program generation to get high-level programming language with high performance.  program generation to get a high-level programming language with high performance.
94
95  There are three equally important aspects of the proposed research.  There are three equally important aspects of the proposed research.
96  \begin{enumerate}  \begin{enumerate}
97    \item    \item
98      To design a high-level, domain-specific      To design a high-level, mathematical programming model that allows existing
99      programming model that allows existing visualization and analysis      visualization and analysis methods to be expressed in simple and readily
100      methods to be expressed in simple and readily understood programs.      understood programs.
101    \item    \item
102      To test and evolve this programming model by exploring a range of      To test and evolve this programming model by exploring a range of
103      both established and novel image-analysis algorithms.      both established and novel image-analysis algorithms.
# Line 111  Line 112
112  in both parallel and sequential language design and implementation, and PI Kindlmann, who  in both parallel and sequential language design and implementation, and PI Kindlmann, who
113  has extensive domain expertise in the area of image analysis.  has extensive domain expertise in the area of image analysis.
114  The proposed research will make contributions to both the area of parallel-language  The proposed research will make contributions to both the area of parallel-language
115  design and implementation and to the area of image analysis.  design and implementation and to the area of image analysis and visualization.
116
117  The proposal is organized as follows.  The proposal is organized as follows.
118  In the next section, we give an overview of the image-analysis domain  In the next section, we give an overview of the image-analysis domain

Legend:
 Removed from v.306 changed lines Added in v.307