Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • When they are applied to spatial data, the prediction accuracy happens to be low due to the disregarded spatial dependencies among the samples. The SAR model solution of the general case requires a maximum likelihood estimation procedure involving a large number of matrix inversion and determinant computations over very large matrices for real-world applications.
  • Computing eigenvalues is very hard. So, we claim that there are quicker but approximate methods to solve SAR model
  • The dotted boxed term is the term added to linear regression to get spatial auto-regression.
  • There is only one parallel implementation of SAR model based on the estimation of maximum likelihood method by eigenvalue computation from [Li, 1996].
  • The random number generator can generate very long sequence of normal random numbers with desired mean and standard deviation. Such algorithms are rarely found
  • Short-cut comes from doing two matrix-vector multiplications instead of 2 matrix-matrix multiplications. D^(-1/2) is a vector instead of a diagonal matrix. W_tilda is symmetric and has got the same eigenvalues as W.
  • Please go back to SLIDE #10 for the second term in the log-likelihood function
  • Please refer to slide #10 for the funtion to optimize
  • Back-up Slide
  • Back-up slide
  • Back-up slide
  • Back-up slide
  • PPT

    1. 1. AHPCRC SPATIAL DATA-MINING TUTORIAL on Scalable Parallel Formulations of Spatial Auto-Regression (SAR) Models for Mining Regular Grid Geospatial Data Shashi Shekhar, Barış M. Kazar, David J. Lilja EECS Department @ University of Minnesota Army High Performance Computing Research Center (AHPCRC) Minnesota Supercomputing Institute (MSI) 05.14.2003
    2. 2. Outline <ul><li>Motivation for Parallel SAR Models </li></ul><ul><li>Background on Spatial Auto-regression Model </li></ul><ul><li>Our Contributions </li></ul><ul><li>Problem Definition & Hypothesis </li></ul><ul><li>Introduction to the SAR Software </li></ul><ul><li>Experimental Design </li></ul><ul><li>Related Work </li></ul><ul><li>Conclusions and Future Work </li></ul>
    3. 3. Motivation for Parallel SAR Models <ul><li>Linear regression models make the assumption of independent identical distribution (a.k.a. iid) about learning data samples. </li></ul><ul><li>Therefore, low prediction accuracy occurs </li></ul><ul><li>SAR model = generalization of linear regression model with an auto-correlation term </li></ul><ul><li>Incorporating the auto-correlation term: </li></ul><ul><ul><li>Results in better prediction accuracy </li></ul></ul><ul><ul><li>However, computational complexity increases due to the logarithm-determinant (a.k.a. Jacobian) term of the maximum likelihood estimation procedure </li></ul></ul><ul><ul><li>Parallel processing can reduce execution time </li></ul></ul>
    4. 4. Our Contributions <ul><li>This study is the first study that offers the only available parallel SAR formulation and evaluates its scalability </li></ul><ul><li>All of the eigenvalues of any type of dense neighborhood (square) matrix can be computed in parallel </li></ul><ul><li>Scalable parallel formulations of spatial auto-regression (SAR) models for 1-D and 2-D location prediction problems for planar surface partitionings using the eigenvalue computation </li></ul><ul><li>Hand-parallelized EISPACK, pre-parallelized LAPACK-based NAG linear algebra libraries and shared-memory parallel programming, i.e. OpenMP are used </li></ul>
    5. 5. Background on Spatial Autoregression Model <ul><li>Mixed Regressive Spatial Auto-regressive (SAR) Model </li></ul><ul><li>where: </li></ul><ul><li>y : n- by - 1 vector of observations on dependent variable </li></ul><ul><li> : spatial autoregression parameter (coefficient) </li></ul><ul><li>W : n -by- n matrix of spatial weights </li></ul><ul><li>(i.e. contiguity, neighborhood matrix) </li></ul><ul><li>X : n -by- k matrix of observations on the explanatory variables </li></ul><ul><li> : k -by-1 vector of regression coefficients </li></ul><ul><li>I : n -by- n Identity matrix </li></ul><ul><li> : n -by-1 vector of unobservable error term ~ N(0,  2 I ) </li></ul><ul><li> : common variance of error term </li></ul><ul><li>When  = 0, the SAR model collapses to the classical regression model </li></ul>
    6. 6. Background on SAR Model –Cont’d <ul><ul><ul><li>If x = 0 and W 2 = 0 , then first-order spatial a utoregressive model is obtained as follows: </li></ul></ul></ul><ul><li>y =  W 1 y +  </li></ul><ul><li> ~ N(0,  2 I ) </li></ul><ul><ul><ul><li>If W 2 = 0 , then mixed regressive spatial autoregressive model (a . k . a . spatial lag model) is obtained as follows: </li></ul></ul></ul><ul><li>y =  W 1 y + x  +  </li></ul><ul><li> ~ N(0,  2 I ) </li></ul><ul><ul><ul><li>If W 1 = 0 , then regression model with spatial autocorrelation in the disturbances (a . k . a . spatial error model ) is obtained as follows: </li></ul></ul></ul><ul><li>y = x  + u </li></ul><ul><li>u =  W 2 u +  </li></ul><ul><li> ~ N(0,  2 I ) </li></ul>
    7. 7. Problem Definition <ul><li>Given: </li></ul><ul><ul><ul><li>A Sequential solution procedure: “Serial Dense Matrix Approach” </li></ul></ul></ul><ul><li>Same as Prof. Bin Li’s method in Fortran 77 </li></ul><ul><li>Find: </li></ul><ul><ul><ul><li>Faster serial formulation called as “Serial Sparse Matrix Approach” </li></ul></ul></ul><ul><ul><ul><li>New Parallel Formulation of Serial Dense Matrix Approach different from Prof. Bin Li’s method in CM-fortran </li></ul></ul></ul><ul><li>Constraints:   N(0,  2 I ) IID </li></ul><ul><ul><ul><li>Rastor Data (resulting in binary neighborhood,contiguity matrix W ) </li></ul></ul></ul><ul><ul><ul><li>Parallel Platform (HW: Origin 3800, IBM SP, IBM Regatta, Cray X1; SW: Fortran, OpenMP) </li></ul></ul></ul><ul><ul><ul><li>Size of W (big vs. small and dense vs. sparse) </li></ul></ul></ul><ul><li>Objective: </li></ul><ul><ul><ul><li>Maximize speedup (T serial /T parallel ) </li></ul></ul></ul><ul><ul><ul><li>Scalability- Better than (Li,1996)’s formulation </li></ul></ul></ul>
    8. 8. Hypotheses <ul><li>There are a number of sequential algorithms computing SAR model, most of which are based on the estimation of maximum likelihood method that solves for the spatial autoregression parameter (  ) and regression coefficients (  ). </li></ul><ul><li>As the problem size gets bigger, the sequential methods are incapable of solving this problem due to </li></ul><ul><ul><li>extensive number of computations and </li></ul></ul><ul><ul><li>large memory requirement . </li></ul></ul><ul><li>The new parallel formulation proposed in this study will outperform the previous parallel implementation in terms of: </li></ul><ul><ul><ul><li>Speedup (S), </li></ul></ul></ul><ul><ul><ul><li>Scalability, </li></ul></ul></ul><ul><ul><ul><li>Problem size (PS) and, </li></ul></ul></ul><ul><ul><ul><li>Memory requirement. </li></ul></ul></ul>
    9. 9. Serial SAR Model Solution <ul><li>Starting with normal density function: </li></ul><ul><li>The maximum likelihood (ML) function: </li></ul><ul><li>The explicit form of maximum likelihood (ML) function: </li></ul>
    10. 10. Serial SAR Model Solution - (Cont’d) <ul><li>The logarithm of the maximum likelihood function is called </li></ul><ul><li>log-likelihood function </li></ul><ul><li>The ML estimates of the SAR parameters: </li></ul><ul><li>The function to optimize: </li></ul>
    11. 11. System Diagram B Golden Section Search to find that minimizes ML function A Compute Eigenvalues Pre-processing Step C Compute and given the best estimate using least squares Calculate the ML function Eigenvalues of W The Symmetric Eigenvalue-equivalent Neighborhood Matrix
    12. 12. Introduction to SAR Software <ul><li>Following slides will describe: </li></ul><ul><ul><li>how we implemented the SAR model solution </li></ul></ul><ul><ul><li>execution trace </li></ul></ul><ul><li>Matlab is good for small size problems </li></ul><ul><ul><li>Memory is not enough </li></ul></ul><ul><ul><li>Execution time is too long </li></ul></ul><ul><li>Compiler language needed for larger problems such as Fortran </li></ul><ul><ul><li>Up to 80GB can be used on supercomputers </li></ul></ul><ul><ul><li>Execution time decreased considerably due to parallel processing </li></ul></ul>
    13. 13. 1. Pre-processing Step <ul><li>It consists of four sub-steps </li></ul><ul><ul><li>Forming Epsilon (  ) Vector </li></ul></ul><ul><ul><li>Form W , the row-normalized Neighborhood Matrix </li></ul></ul><ul><ul><li>Symmetrize W </li></ul></ul><ul><ul><li>Form y & x Vectors </li></ul></ul>Form Training Data Set y Form W Symmetrization of W To box B To box A
    14. 14. 1.0 Form Epsilon (  ) Vector <ul><li>Input: p =4; q =4; n = pq =16; </li></ul><ul><li>Output: a 16-by-1 column vector  (epsilon) </li></ul><ul><li>The  term i.e. the 16 -by-1 vector of unobservable error term ~ N(0,  2 I ) in the SAR equation </li></ul><ul><li>y =  Wy + x  +  </li></ul><ul><li>The elements are IID with zero mean and unit standard deviation normal random numbers </li></ul><ul><li>Prof. Isaku Wada’s normal random number generator written in C is used, which is much better than Matlab’s nrand function </li></ul><ul><li> T =[0.9914 -1.2780 -0.4976 1.2271 0.4740 -0.0700 0.0834 -0.8789 0.3378 -1.5901 0.0638 -0.2717 2.3235 -0.2973 -0.1964 0.1416] </li></ul>
    15. 15. 1.1 Form W , the Neighborhood Matrix <ul><li>Input: p =4; q =4; n = pq =16; neighborhood type (4- Neighbors) </li></ul><ul><li>Output: The binary (non-row-normalized) 16-by-16 C matrix; the row-sum in a 16-by-1 column vector D_onehalf; the row-normalized 16-by-16 neighborhood matrix W </li></ul><ul><li>The neighborhood matrix, W is formed by using the following neighborhood relationship ((i.j) is the current pixel): </li></ul><ul><li>The solution can handle more cases such as: </li></ul><ul><ul><li>1-D 2-neighbors </li></ul></ul><ul><ul><li>2-D 8,16,24 etc. neighbors </li></ul></ul>
    16. 16. 1.1 Matrices for 4-by-4 Regular Grid Space <ul><li>(a) (b) (c) </li></ul><ul><li>(a) The spatial framework which is p -by- q (4-by-4) where p may or may not be equal to q </li></ul><ul><li>(b) the pq -by- pq (16-by-16) non-row-normalized (non-stochastic) neighborhood matrix C with 4 nearest neighbors, and </li></ul><ul><li>(c) the row-normalized version i.e. W which is also pq -by- pq (16-by-16). The product pq is equal to n (16), i.e. the problem size. </li></ul>6 th row 6 th row
    17. 17. 1.1 Neighborhood Structures 2-D 16 Neighborhood 2-D 8 Neighborhood 1-D 2 Neighborhood 2-D 4 Neighborhood 2-D 24 Neighborhood
    18. 18. 1.2 Symmetrize W <ul><li>Input: p , q , n, W,C,D_onehalf </li></ul><ul><li>Output: the 16-by-16 symmetric eigenvalue-eqiuvalent matrix of W </li></ul><ul><li>Matlab programs do not need this step since eig function can find the eigenvalues of a dense non-symmetric matrix </li></ul><ul><li>EISPACK’s subroutines find all eigenvalues of a symmetric dense matrix. Therefore, need to convert W to its eigenvalue-equivalent form </li></ul><ul><li>The following short-cut algorithm achieves this task: </li></ul>
    19. 19. 1.3 Form y & x Vectors <ul><li>Input: p , q , n ,  , W </li></ul><ul><li>Output: y and x vectors each of which is 16-by-1 </li></ul><ul><li>They are the synthetic (training) data to test SAR model </li></ul><ul><li>Fortran programs perform this task separately in another program using NAG SMP library subroutines </li></ul><ul><li>For n=16: </li></ul><ul><li>x T = [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15,16] </li></ul><ul><li>y T =[ 8.2439 7.9720 11.7226 16.4201 17.9623 19.5719 22.8666 24.9425 29.9876 30.6348 35.1528 37.4712 42.1301 42.7142 45.7171 47.8384] </li></ul>
    20. 20. 2. Find All of the Eigenvalues of W <ul><li>Matlab programs use eig function which finds all of the eigenvalues of non-symmetric dense matrix </li></ul><ul><li>Fortran programs use the tred2 and tql1 EISPACK subroutines, which is the most efficient to find eigenvalues </li></ul><ul><li>There are two sub-steps: </li></ul><ul><ul><li>Convert dense symmetric matrix to tridiagonal matrix </li></ul></ul><ul><ul><li>Find all eigenvalues of the tridiagonal matrix </li></ul></ul>
    21. 21. 2.1 Convert symmetric matrix to tridiagonal matrix <ul><li>Input: n , </li></ul><ul><li>Output: Diagonal elements of the resulting tri-diagonal matrix in 16-by-1 column vector d , the sub-diagonal elements of the resulting tri-diagonal matrix in 16-by-1 column vector e </li></ul><ul><li>This is Householder Transformation which is only used in fortran programs </li></ul><ul><li>This step is the most-time consuming part (%99 of the total execution time) </li></ul>
    22. 22. 2.2 Find All Eigenvalues of the Tridiagonal Matrix <ul><li>Input: Diagonal elements of the resulting tri-diagonal matrix in 16-by-1 column vector d , the sub-diagonal elements of the resulting tri-diagonal matrix in 16-by-1 column vector e </li></ul><ul><li>Output: All of the eigenvalues of the neighborhood matrix W </li></ul><ul><li>This is QL transformation which is only used in fortran programs </li></ul><ul><li>This is left serial in fortran programs </li></ul>
    23. 23. 3. Fit for the SAR Parameter rho (  ) <ul><li>There are two subroutines in this step </li></ul><ul><ul><li>Calculating constant statistics terms </li></ul></ul><ul><ul><ul><li>Saves time by calculating the non-changing terms during the golden section search algorithm </li></ul></ul></ul><ul><ul><li>Golden section search </li></ul></ul><ul><ul><ul><li>Similar to binary search </li></ul></ul></ul>
    24. 24. 3.1 Calculating constant statistics terms <ul><li>Input: x,y , n , W </li></ul><ul><li>Output: KY , KWY column vectors </li></ul><ul><li>Fortran programs use this subroutine to perform K-optimization where constant term K =[ I - x (( x T x ) -1 ) x T ] which is 16-by-16 for n=16 </li></ul><ul><ul><li>The second term in log-likelihood expression </li></ul></ul><ul><ul><li>= y T ( I -rho W ) T [ I - x (( x T x ) -1 ) x T ] T [ I - x *(( x T x ) -1 )* x T ] ( I -rho W ) y </li></ul></ul><ul><ul><li>= y T ( I -rho* W )'* K T K ( I -rho W ) y </li></ul></ul><ul><ul><li>= ( K ( I -rho W ) y )T * ( K ( I -rho W ) y ) </li></ul></ul><ul><ul><li>= ( Ky - rho KWy ) T * ( Ky - rho KWy ) </li></ul></ul><ul><ul><li>which saves many matrix-vector multiplications </li></ul></ul><ul><li>Matlab programs directly calculate all (constant and non-constant) terms in the log-likelihood function over and over again so do not need this operation </li></ul><ul><ul><li>Those terms are not expensive to calculate in Matlab but expensive in fortran </li></ul></ul>
    25. 25. 3.2 Golden Section Search <ul><li>Input: x,y,n,eigenn, W , KY , KWY ,ax,bx,cx,tol </li></ul><ul><li>Output: fgld, xmin, niter </li></ul><ul><li>The best estimate for rho (xmin) is found </li></ul><ul><li>The optimization function is the log-likelihood function </li></ul><ul><li>Similar to binary search and bisection method </li></ul><ul><li>The detailed outputs are given in the execution traces </li></ul>
    26. 26. 4. Calculate Beta (  ) and Sigma (  ) <ul><li>Input: x,y , n , niter , rho_cap , W , KY , KWY </li></ul><ul><li>Output: beta_cap and sigmasqr_cap which are both scalars </li></ul><ul><li>Niter (number of iterations), rho_cap are scalars </li></ul><ul><li>Calculating best estimate of beta and sigma 2 </li></ul><ul><li>The formulas are: </li></ul><ul><li>As n (I.e. problem size) incerases, the estimates become more accurate </li></ul>
    27. 27. Sample Output from Matlab Programs (n=16) <ul><li>Comparison of methods: </li></ul><ul><ul><li>First row: Dense straight log-det calculation </li></ul></ul><ul><ul><li>Second row: Log-det calculation via exact eigenvalue calculation </li></ul></ul><ul><ul><li>Third row: Log-det calculation via approximate eigenvalue calculation (Griffith) </li></ul></ul><ul><ul><li>Fourth row: Log-det calculation via better approximate eigenvalue calculation (Griffith) </li></ul></ul><ul><ul><li>Fifth row is coming up as Markov Chain Monte Carlo approximated SAR </li></ul></ul><ul><li>Columns are defined as follows: actual rho=0.412 & beta=1.91 </li></ul><ul><ul><li> ML value min_log rho_cap niter beta_cap sigma_sqr </li></ul></ul><ul><li>2.6687 -1.0000 0.4014 77.0000 1.9465 0.8509 </li></ul><ul><li>2.6687 -1.0000 0.4014 77.0000 1.9465 0.8509 </li></ul><ul><li>2.6645 -1.0000 0.4018 77.0000 1.9452 0.8508 </li></ul><ul><li>2.6641 -1.0000 0.4019 77.0000 1.9451 0.8508 </li></ul>
    28. 28. Sample Output from Matlab Programs (n=2500) <ul><li>Comparison of methods: </li></ul><ul><ul><li>First row: Dense straight log-det calculation </li></ul></ul><ul><ul><li>Second row: Log-det calculation via exact eigenvalue calculation </li></ul></ul><ul><ul><li>Third row: Log-det calculation via approximate eigenvalue calculation (Griffith) </li></ul></ul><ul><ul><li>Fourth row: Log-det calculation via better approximate eigenvalue calculation (Griffith) </li></ul></ul><ul><ul><li>Fifth row is coming up as Markov Chain Monte Carlo approximated SAR </li></ul></ul><ul><li>Columns are defined as follows: actual rho=0.412 & beta=1.91 </li></ul><ul><ul><li> ML value min_log rho_cap niter beta_cap sigma_sqr </li></ul></ul><ul><li>7.8685 -1.0000 0.4127 77.0000 1.9079 0.9985 </li></ul><ul><li>7.8685 -1.0000 0.4127 77.0000 1.9079 0.9985 </li></ul><ul><li>7.8683 -1.0000 0.4127 77.0000 1.9079 0.9985 </li></ul><ul><li>7.8681 -1.0000 0.4127 77.0000 1.9079 0.9985 </li></ul>
    29. 29. Instructions on How-To-Run Matlab Code <ul><li>On SGI Origins </li></ul><ul><ul><li>train_test_SAR (interactively) </li></ul></ul><ul><ul><li>matlab -nodisplay < train_test_SAR.m > output </li></ul></ul><ul><li>On IBM SP </li></ul><ul><ul><li>same </li></ul></ul><ul><li>On IBM Regatta </li></ul><ul><ul><li>same </li></ul></ul><ul><li>On Cray X1 </li></ul><ul><ul><li>Not available yet </li></ul></ul>
    30. 30. Instructions on How-To-Run Fortran Code <ul><li>On SGI Origins with 4 threads (processors) </li></ul><ul><ul><li>f77 -64 -Ofast -mp sar_exactlogdeteigvals_2DN4_2500.f </li></ul></ul><ul><ul><li>setenv OMP_NUM_THREADS 4 </li></ul></ul><ul><ul><li>time a.out </li></ul></ul><ul><li>On IBM SP with 4 threads (processors) </li></ul><ul><ul><li>xlf_r -O3 -qstrict -q64 -qsmp=omp sar_exactlogdeteigvals_2DN4_2500.f </li></ul></ul><ul><ul><li>setenv OMP_NUM_THREADS 4 </li></ul></ul><ul><ul><li>time a.out </li></ul></ul><ul><li>On IBM Regatta with 4 threads (processors) </li></ul><ul><ul><li>xlf_r -O3 -qstrict -q64 -qsmp=omp sar_exactlogdeteigvals_2DN4_2500.f </li></ul></ul><ul><ul><li>setenv OMP_NUM_THREADS 4 </li></ul></ul><ul><ul><li>time a.out </li></ul></ul><ul><li>On Cray X1 </li></ul><ul><ul><li>Coming soon… </li></ul></ul>
    31. 31. Illustration on a 2-by-2 Regular Grid Space <ul><li>Aim is to show how SAR works, i.e. Execution Trace </li></ul><ul><li>Forming training data, y </li></ul><ul><ul><li>With known rho (0.1), beta (1.0), x ([1;2;3;4]), epsilon(=0.01*rand(4,1)), and </li></ul></ul><ul><li>the neighborhood matrix W for 1-D, compute y (observed variable) </li></ul><ul><li>(Matlab notation is used here) </li></ul><ul><ul><li>y=inv(eye(4,4)-rho.*W)*(beta.* x +epsilon) </li></ul></ul><ul><li>Testing SAR </li></ul><ul><ul><li>Solving SAR model = Finding eigenvalues & Fitting for SAR parameters </li></ul></ul><ul><ul><li>Run SAR model with inputs as y, epsilon, W and with a range of rho [0,1) </li></ul></ul><ul><ul><li>Find beta as well </li></ul></ul><ul><ul><li>The prediction for rho is very close to 0.1 (with an error of %0.01 !) </li></ul></ul>Binary form Row-normalized (Stochastic) form Neighborhood Matrix 1 2 3 4 Landscape
    32. 32. Summary of the SAR Software i.e. The Big Picture
    33. 33. New Parallel SAR Model Solution Formulation <ul><li>Prof. Mark Bull’s “Expert Programmer vs Parallelizing Compiler” Scientific Programming 1996 paper </li></ul><ul><li>The loop 240 & loop 280 are the major bottlenecks and parallelized most of the code as will be shown </li></ul><ul><li>The data distribution on both loops should be similar to benefit from value re-use </li></ul><ul><li>Loop 280 cannot benefit from block-wise partitioning, it should use interleaved scheduling for load balance. Thus, both loops use interleaved scheduling </li></ul><ul><li>Parallelizing initialization phase imitates manual data distribution, page-placement & page-migration utilities of SGI Origin machines </li></ul><ul><li>The variable “etemp” enables reduction operation on the variable “e” that is updated by different processors </li></ul>
    34. 34. Experimental Design – Response Variables & Factors <ul><li>Speedup: S =T serial / T parallel , </li></ul><ul><ul><li>Time taken to solve a problem on a single processor over time to solve the same problem on a parallel computer with p identical processors . </li></ul></ul><ul><li>Scalability of a Parallel System: </li></ul><ul><ul><li>The measure of the algorithm’s capacity to increase S in proportion to p in a particular parallel system. </li></ul></ul><ul><ul><li>Scalable systems has the ability to maintain efficiency (i.e. S / p ) at a fixed value by simultaneously increasing p and PS . </li></ul></ul><ul><ul><li>Reflects a parallel system’s ability to utilize increasing processing resources effectively. </li></ul></ul><ul><li>Name of Factor Factor’s Parameter Domain </li></ul><ul><ul><li>Problem Size ( n ) {400, 2500, 6400,10000} </li></ul></ul><ul><ul><li>Neighborhood Structure {2-D 4-Neighbors} </li></ul></ul><ul><ul><li>Range of rho {[0,1)} </li></ul></ul><ul><ul><li>Parallelization options {Static scheduling for box B and C , dynamic with chunk size 4 for box A } </li></ul></ul><ul><ul><li>Number of processors {1,…,16} </li></ul></ul><ul><ul><li>Algorithm used {householder transformation followed by QL algorithm followed by golden section search} </li></ul></ul>
    35. 35. Related Work <ul><li>Eigenvalue software on the web are studied in depth at the following web sites: </li></ul><ul><ul><li>http://www-users.cs.umn.edu/~kazar/sar/sar_presentations/eigenvalue_solvers.html </li></ul></ul><ul><ul><li>http://www.netlib.org/utk/people/JackDongarra/la-sw.html </li></ul></ul><ul><li>[Griffith,1995] computed analytically the eigenvalues for 1-D, 2-D with {4,8} neighbor cases. However, this is tedious for other cases </li></ul><ul><ul><li>The approximate and better approximate eigenvalues are from this source </li></ul></ul><ul><ul><li>However, there are no closed form expression for many other cases </li></ul></ul><ul><li>Bin Li [1996] implemented parallel SAR using a constant mean model </li></ul><ul><ul><li>The programs cannot run anymor (CM-fortran) </li></ul></ul><ul><ul><li>Our model is more general and hard to solve </li></ul></ul><ul><ul><li>Our programs are the only running algorithms in the literature </li></ul></ul>
    36. 36. SAR Model Solutions are cross-classified
    37. 37. References <ul><li>[ICP03] Baris Kazar, Shashi Shekhar, and David J. Lilja, &quot;Parallel Formulation of Spatial Auto-Regression&quot;, submitted to ICPP 2003 [under review] </li></ul><ul><li>[IEE02] S. Shekhar, P. Schrater, R. Vatsavai, W. Wu, and S. Chawla, Spatial Contextual Classification and Prediction Models for Mining Geospatial Data , IEEE Transactions on Multimedia (special issue on Multimedia Dataabses) , 2002 </li></ul>
    38. 38. Conclusions & Future Work <ul><li>Able to solve SAR model for any type of W matrix until the memory limit is reached by finding all of its eigenvalues </li></ul><ul><li>Finding eigenvalues is hard </li></ul><ul><li>Sparsity of W should be exploited if eigenvalue subroutines allow </li></ul><ul><li>Efficient Partitioning of very large sparse matrices via parMETIS </li></ul><ul><li>New methods will be studied: </li></ul><ul><ul><li>Markov Chain Monte Carlo Estimates (parSARmcmc) </li></ul></ul><ul><ul><li>parSALE = parallel spatial auto-regression local estimation </li></ul></ul><ul><ul><li>Characteristic Polynomial Approach </li></ul></ul><ul><li>Contributions to spatial statistics package Version 2.0 from Prof. Kelley Pace will continue </li></ul>
    39. 39. Short Tutorial on OpenMP <ul><li>Fork-join model of parallel execution </li></ul><ul><li>The parallel regions are denoted by directives in fortran and pragmas in C/C++ </li></ul><ul><li>Data environment: (first/last/thread) Private, shared variables and their scopes across parallel and serial regions </li></ul><ul><li>Work-sharing constructs: parallel do, sections (Static, dynamic scheduling with/without chunks) </li></ul><ul><li>Synchronization: atomic, critical, barrier, flush, ordered, implicit synchronization after each parallel for loop </li></ul><ul><li>Run-time library functions e.g. to determine which thread is executing at some time </li></ul>Serial Region Master Thread Child Threads Master Thread Child Threads Parallel Region Parallel Region Serial Region
    40. 40. Short Tutorial on Eigenvalues <ul><li>Let A be a linear transformation represented by a matrix. If there is a X different from zero vector such that: </li></ul><ul><li>for some scalar λ , then λ is called the eigenvalue of A with corresponding (right) eigenvector X . </li></ul><ul><li>Eigenvalues are also known as characteristic roots, proper values, or latent roots (Marcus and Minc 1988, p. 144). </li></ul><ul><li>(A-I λ )X=0 is the characteristic equation (polynomial) and roots of this polynomial are the eigenvalues. </li></ul>
    41. 41. Hands-On Part <ul><li>Please goto: </li></ul><ul><ul><li>http://www.cs.umn.edu/~kazar/sar/index.html </li></ul></ul><ul><ul><li>Find 05.14.2003 phrase </li></ul></ul><ul><ul><li>Type in “shashi” for username </li></ul></ul><ul><ul><li>Type in “shashi” for password </li></ul></ul><ul><li>To run the programs we need to login to one of the SGI Origins, IBM SP, IBM Regatta (Cray X1 is not ready yet) </li></ul><ul><li>All programs are run by submitting to a queue </li></ul><ul><li>No interactive runs recommended for fortran programs due to the system load and high number of processors needed for execution </li></ul>