LIBRARY OF THE UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAICN 510.84 1463 c *o.5l-£0 ENGINEERIN G AUG 51976 The person charging this material is re- sponsible for its return to the library from which it was withdrawn on or before the Latest Date stamped below. Theft, mutilation, and underlining of books are reasons for disciplinary action and may result in dismissal from the University. UNIVERSITY OF ILLINOIS LIBRARY AT URBANA-CHAMPAIGN Ell ,r OCT 1 8 OCT 1: MAY MAY 7 ' £■>■ ?■ MP ,..- ■ ■ 31990 FEB 27 \m W 5 lid ;.. L161 — O-1096 ENGINEERING LIBRARY UNIVERSITY OF ILLINOIS URBANAi ILLINOIS Center for Advanced Computation UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN URBANA. ILLINOIS 61801 CAC Document No. 59 A STUDY OF THE EFFICIENCY OF ILL.IAC IV IN HYDRODYNAMIC CALCULATIONS Masako Ogura, Michael S. Sher and James H. Ericksen Digitized by the Internet Archive in 2012 with funding from University of Illinois Urbana-Champaign http://archive.org/details/studyofefficienc59ogur CAC Document No. 59 A STUDY OF THE EFFICIENCY OF ILLIAC IV IN HYDRODYNAMIC CALCULATIONS by Masako Ogura Michael S. Sher James H. Ericksen Center for Advanced Computation University of Illinois at Urbana- Champaign Urbana, Illinois 61801 December 11, 1972 This work was supported in part by the Advanced Research Project Agency of the Department of Defense and was monitored by the U. S. Army Research Office-Durham, under Contract No. DAH C0U-72-C-0001, and supported in part by the Atmospheric Sciences Section, National Science Foundation, NSF Grant GA-Sl^O?. >!NG UBRWW ABSTRACT A two-dimensional Bernard-Rayleigh convection problem is solved numerically as an initial-and boundary-value problem on a network of (M+2) x (N+2) grid points. The purpose of this paper is not to discuss the result of numerical integrations, but to investigate the efficiency of ILLIAC IV for this class of hydros dynamic problems. Two cases are considered: The first case is a program for N<62 and the second is a program for arbitrary N and M. In neither case is the use of auxiliary storage systems considered in general, although an example of the use of ILLIAC Disk is discussed. The efficiency of ILLIAC IV in the convection problem is investigated in the following -ways: (a) The program is written in a high level language for ILLIAC IV (GLYPNIR) and, using the assembly codes generated by the GLYPNIR compiler, the clock time is estimated for a mesh size of 17 x 6k. This clock time is compared to the computer time required for the same problem on the CDC GhOO using a FORTRAN code. The ratio is found to be approximately 1:1^0 for the first case and 1:130 for the second case. (b) The main part of the program within time iterations is written in the ILLIAC IV assembly language (ASK) and inserted into the original GLYPNIR-generated codes. This partially ASK-coded program is found to reduce the total estimated clock time by about 6Cffo. The execution time ratio of the partially ASK-coded program to the CDC 6^00 FORTRAN code is about 1:370 for the first case and 1:300 for the second case. (c) An analysis of the utilization of the processing elements (PE's) and control unit (CU) shows that the PE's of ILLIAC IV are in use during 50% of the time in both of the GLYPNIR programs. This is increased to about Q5% in the partially ASK-coded programs. One factor for the relative speed of ILLIAC IV compared to serial machines, in addition to the parallel operations in PE's, is the large overlap (about 60% in the partially ASK-coded programs) in the execution of CU and PE instructions. (d) An analysis of the utilization of PE's and CU is further made to investigate the percent of time spent to execute data access instructions which are not directly related to arithmetic calculations such as address calculation, address index modification, route and mode hit setting and control instructions . (e) The solution for a non-core contained mesh is dis- cussed. Definitive statements concerning effective use of ILLIAC Disk are not possible since efficient Disk utilization is generally related to specific mesh sizes and choice of numerical methods. However , an example is presented in order to indicate the considerations necessary for effectively using the ILLIAC Disk. TABLE OF CONTENTS ABSTRACT PagS 1. Introduction 1 2. Description of Problem k 2.1 Governing Equations for Two-dimensional Bernard-Ray leigh Convection . . k 2.2 Finite-difference Scheme used for Prognostic Equation ..... 6 2.3 Numerical Method used in Solving Poisson's Equation 9 3. Data Storage Considerations 12 k. Programming Languages 13 5- Program Description 15 5-1 Mesh Size and Data Storage 15 5.2 Program Flow 15 6. Timing Estimates 18 6.1 Calculating Execution Time on ILLIAC IV 18 6.2 Comparison of Timing with CDC 6U00 20 7. Analysis of Kernel 23 7.1 CU and PE Utilization 23 7.2 Analysis of CU and PE Utilization 28 8. Use of ILLIAC Disk for Non-core Contained Meshes 32 8.1 ILLIAC I/O System 32 8.2 I/O for the Bernard-Ray leigh Convection Problem 32 9- Concluding Remarks 39 REFERENCES ^0 Appendix 1. Characteristics of ILLIAC IV Ul Appendix 2. An Example of a Timing Chart ^3 Appendix 3- Storage Schemes ^+^4- 3.1 Straight Storage for 6^- or less Columns kk 3.2 Skew Storage for 6^ or less Columns hk 3.3 Odd-Even Storage for 128 or less Columns U5 3-h Skewed Odd-Even Storage for 128 or less Columns k6 3.5 Storage Schemes Suitable for this Type of Problem k6 Appendix k. Considerations in the Use of 32-bit Mode 1+9 Appendix 5- GLYPNIR and ASK Codes for Programs I and II 51 LIST OF FIGURES Page 1. Variation with Time of Temperature and Velocity at a Grid Point ... 8 2. Temperature Field and the Stream Function Field at Time Step 500 . . 8 3. ¥'s in Rectangular Mesh . . 9 h. Use of PEM Queue S on 196 x 256 Meshes 3h (t) (t) (t-1) 5. Diskmap of IT ; , T v ', and T^ ' 35 6. Percent i/O Bound 38 7. ILLIAC IV Architecture 1+2 8. Skew Storage kk 9. Odd-Even Storage U5 10. Data Relationships in Four Storage Schemes hQ 11. 32-bit Skew Storage 50 LIST OF TABLES 1. Comparison Between Computer Time Required With CDC 6^+00 and ILLIAC IV- 22 2. Utilization of Total Clocktime 25 3. CU Utilization 30 h. PE Utilization 31 1 . Introduction Partial differential equations describing fluid motions of interest are usually non-linear and solutions of these equations can be obtained only by numerical integrations, except for a few special problems. When one deals with finite difference approximations to partial differential equations, the opportunities for parallel computation are omnipresent. This is because most numerical integrations of partial differential equations over a domain involve a large grid network where the same computation is performed at each grid point, excluding the boundary points. An application of parallel processing to numerical weather prediction was discussed by Carroll and Wetherald (1967). Recently, Miranker (1970) surveyed parallelism in numerical analysis. The ILLIAC IV computer consists of 6k processing elements (PE's) which can respond simultaneously to an instruction stream from a single control unit (CU). It therefore provides a most powerful tool for these numerical investigations of fluid motions. The present work was done to partially answer the question of how efficient ILLIAC IV will be for solving hydrodynamic problems. As a typical hydrodynamic problem in this efficiency study, we have chosen a two dimensional convection problem. The reasons for this selection are (a) the basic equations for this problem govern a wide variety of fluid motions of hydrodynamical and geophysical interest , (b) the governing equations include those transport, diffusion and elliptic equations which appear very frequently in hydrodynamic and mechanical problems, and This set of equations describes convective motion induced by the buoyancy force and associated heat transfer. If the temperature variation is suppressed, the equations governing motions in an incom- pressible fluid are recovered. With additional equations for water substances and with some modifications, the equations describe various types of convective motion of meterological interest such as thunder- storms and squall lines. With inclusion of an equation for salinity, the equations describe thermohaline circulations in the oceans. (c) the governing equations are simple enough to permit detailed 2 investigation of parallelism in this class of numerical computation. Therefore, the usefulness of the information obtained in this study- is not restricted to the convection problem. The efficiency of a parallel computer can generally vary from less than 1% (when only one processing element is turned on and data must be transferred from distant processing elements) up to 100$. Within the framework of the present organization of ILLIAC IV, the efficiency depends upon many factors. Most important are: (a) algorithms for solving the problem, including storage schemes and methods of handling boundary conditions so that the maximum efficiency of the parallelism can be obtained, and (b) programming languages, particularly high level languages. An example of required efficiency considerations is thst because the random access memory of ILLIAC IV is distributed among 6U processing elements, a considerable amount of routing and mode bit settings is necessary. The time required for data access instructions compared to that for arithmetic instructions is therefore important in determining efficiency of ILLIAC IV program languages. In this paper, we solve the convection problem numerically as an initial- and boundary-value problem, using well established finite-difference schemes. Our first attention is paid to storage schemes which would provide high efficiency of the parallelism. The program is then written in GLYPNIR, a high level language for ILLIAC IV. Using the assembly codes generated by the GLYPNIR compiler, we estimate clock time required for completion of the numerical integrations of our basic equations. We also solve the same problem using a conventional serial computer, and the required clock time is compared with the estimated clock time for ILLIAC IV. 2 Although previous studies have been performed which dis- cuss the general applicability of ILLIAC IV to such equations, no detailed analysis of the type performed here is available. Next, we program the main portion of the program in the ILLIAC IV assembly language, ASK, and compare it with the assembly codes generated by the GLYPNIR compiler. This comparison provides useful information about the efficiency of GLYPNIR. h 2 . Description of the Problem 2. 1 Governing Equations for Two-dimensional Bernard-Ray leigh Convection In this paper we shall consider a simple physical situation where a thin fluid layer confined between two horizontal plates is heated from below and cooled from above uniformly. When the tempera- ture difference between the bottom and top plates (or more generally the Rayleigh number) exceeds a critical value, convective motion sets in. Using the coordinate system where the z-axis is pointing upward vertically and the x-axis is horizontal, the equations for motion, the first law of thermodynamics, and mass continuity are written in non-dimensional form as ( see Ogura and Yagihashi (1971) ) 9u , 9u , 9u 3P o / -, s — +u — +w — =-— +V 2 u 1 9t 9x 9z 9x ■p 9w , 9w 9w 9P a m , „o , ON 1£ + U ^ + V ^ = ~i7 + F" T + v v (2) r 3T 9T 9T 1 „ 9m , x H + u il + w ^ = - v2T (3) r 9x 9z K ' where u and w are velocity components along the x- and z-axis respectively, t=time, T=temperature and P=pressure. In deriving the above equations, d, d 2 /v, AT, v/d and p v 2 /d are used as scale factors for length, time, temperature, velocity and pressure respectively where d = the separation between the two horizontal plates, AT = the temperature difference between the bottom and top plates, p = constant density and v = kinetic viscosity. The non-dimensional parameters in the above equations are defined as R (Rayleigh number) = " — a kv P (Prandtl number) = v r k where g = acceleration of gravity, a = coefficient of volume expansion and k = thermometric diffusion. The pressure terms in equations (l) and (2) can be elimi- nated by cross-differentiation and subtraction to derive an equation for vorticity (n) in the direction perpendicular to the x-z plane: 3t 3x 3z P 3x r It is convenient to introduce the stream function (\\>) which is defined by »-. _ it , v . |t . (6) 3z 3x n is then given by 3w 3u „2 i (7) 3x 3z With proper initial and boundary conditions, the set of equations (3), (5) and (T) determines the flow system completely. In the numerical approach used, the calculation begins with no convective motion but with an initial uniform, supercritical, vertical temperature gradient. Motion is initiated by introducing a random perturbation of the order of (1/100) into the temperature field. The boundary conditions used are: T = l,ijj = n = at z = T = ty = n = f =* = n = at z = 1 , at x = and x = 2.828U The above set of differential equations was then transformed into finite-difference forms (see Section 2.2) and a numerical integration was performed using a CDC 6^00. The values of the parameters used are : R = 1315 = twice the critical Rayleigh number, a P = 0.713, the value for air, Ax = 2.828U/n, Az = l/m, At = 0.01, where n and m are the number of intervals along the x- and z-axis respectively. Figure 1 shows the variations with time of temperature and vorticity at a grid point (i = 2 and k = 8) thus calculated. We ob- serve that the motion attains an approximate steady state at about 300 time steps. Figure 2 shows the temperature field (solid line at 0.1 intervals) and the stream function field (dashed lines at unit intervals) at time step 500. 2.2. Finite-difference Scheme used for Prognostic Equations The finite-difference schemes used to approximate the thermodynamic equation (3) and the vorticity equation (5) are: t (t+1) i,k (t-1) c't: , + 2At i,k {- J i,* ( ♦ < T \*< T) > /T ( T ) T ( T ) f "i+l.k + i-1 V UW 1 t: (T) -ljk i,k+l + (Ax) $L)) (3') where J i,k ( ^ T) (^ 8(Ax)(Az) \ VH i+l,k+l v i+l,k-l v i,k+l i,k-l M i+l,k ( ^i,k + l " *i,k-i + *i-l,k + l " *i-l,k-l )T i-l,] VH i+l,k+l ^i+l,k *i-l,k+l v i-l,k' i ,k+l + ( Vi,k + * 1+ i, k .i - *i-i, k - ^i-i,k-i )T i, k -i J , 2At /_1 1 P \(Ax) 2 (Az) 2 J \ , _ - 2At /. l _j;_ \ C " X " P ITaxT^ TaTF/' r \ and (wi) _ iif^T-i) + 2At i,k f i ,k f.j /y(^) (t)v _a T i+ i,k n -1 )- P r — (t) t (t) l,k i-l,k 2Az 1 where fT) (T) (t) (T) ! UzT? (ax) 2 J^ k J i,k ( ^ n)=: U(Ax)(Az) \j*i+l,*KL " *i+l,k-l )T1 l+l,k ' ( ^i-l,k + l " *i-l,k-llr»L-l-, " ( *i + l,k + l " ^i-l,k + l )n i,k + l + ( *i + l,k-l " *i-l,k-l^,k-ll f = 1 + 2At ( , 1 ^ + 71 — vT + t ' l \1 ' » f = 1 - 2At I t- — rr- + 7- — r^r / (Ax)^ (Az) z •' v (Ax) 2 (Az) z / . / 1 I 0.75 jLL jC --80 .-70 --60 -50 + 40 £ O > -50 .-20 -K> 100 200 500 Tl« STEP 400 500 Figure 1 Variations with Time of Temperature and Vorticity at a Grid Point (i = 2 and k = 8) Figure 2 Temperature Field (solid lines at 0.1 intervals! anrt th. Stream Function Field (dashed lines at 1 inter^)^ Time Step 5 00 In the above equations, z=(Az)i, x=(Ax)k and t=(At)r with i, k, x=0,l, 2, ... . The above finite-differencing schemes are essentially the same as those used by Lilly ( 196*0, except that the diffusion terms are evaluated by using the DuFort-Frankel scheme. Without violating linear computational stability, this permits use of a larger time increment than that required if the diffusion terms were evaluated by forward time differences. Schemes used here preserve the total energy of the system and the variance of temperature in the finite -difference form in a manner analogous to that of the continuous system. 2.3- Numerical Method Used in Solving Poisson's Equation Various numerical methods — iterative and direct — have been used to solve Poisson's equation, V 2 \p - r\. Since the successive overrelaxation (SOR) method can be used in any shape and size of domain with a variety of boundary conditions, it was chosen for this study. In solving the Poisson equation on the (M+2) x (N+2) rectangular domain shown in Figure 3 on serial machines , the SOR algorithm improves interior components in order of i|>, -i,^ o, • • • ■> *L,r*2,l- ^2,2 2,2' "•• ^2,TT '••• *M,1 9 V2' " •' Vn' T),0 V V . . . ^0,N ^0,N+1 *1.0 *1.1 Kz *l,n *l t H+l \o ^M,l ^M,2 . . . ^M,N V N+l ^M+1,0 ^M+1,1 ^M+1,2 . . . ^M+1,N *M+1, N+l Figure 3. ij)'s on Rectangular Mesh 10 The asymptotic rate of convergence of SOR is independent of the order in which the components are improved. Thus an ordering which is easily adapted to ILLIAC IV is used (see Ericksen (1972) ). The interior points are divided into two classes, "odd" and "even" where "odd" = {ty. . i + j is odd} and "even" = {\p. . i + j is even} All points in the "even" ("odd") class are improved using "boundary values and values of "odd" ("even") points. In this algorithm, all st "even" points in the (£+l) ' iteration are improved first using - yn. . + (1-co) * (£) . Then the odd points are improved using -i.o + <-^:] <8) where w is the optimal relaxation factor, and u>(AZ) 2 n (i)(A.X) 2 a = and Y = 2[(Ax) 2 + (Az) 2 ] 2[(Ax) 2 + (Az) 2 ) oi(Ax) 2 (Az) 2 2[(Ax) 2 + (Az) 2 ] As seen in Figure 3, the PE's which contain the "even" points of mesh row I contain the "odd" points of row 1+1. This enables us to improve the "even" points of row I and 1+1 simultaneously by using a PE integer index which accesses an element in row I (i+l) in the odd (even) PE's when I is even. In a like manner, all the odd points in two consecutive rows can be accessed. If N = 62 and M is even, then 62 out of Q\ PE's are used in performing most of the calculations. 11 Since 80 to 90 percent of the total computational time on the convection problem is used to solve Poisson's equation with SOR on both serial machines and on ILLIAC XV, it is important to choose the numerical method for solving Poisson's equation which is most efficient for the given domain and boundary conditions. A study of the efficiency of ILLIAC IV in solving Poisson's equation using other iterative and direct methods is presented in Ericksen (1972). 12 3. Data Storage Considerations One of the difficult tasks in organizing an ILLIAC IV program is the allocation of storage. As mentioned in Appendix 1, each Processing Element Memory (PEM) is associated with a specific PE. Therefore, only data stored in PEi can be brought into registers of PEi by a single fetching instruction. If 6k different data are to be placed into registers of all 6k PE's simultaneously, these data must be stored in the PEM's associated with the appropriate PE's. In placing data stored in PEMi into a PEj register, one must first bring this to a register in PEi and then route it by j-i. Similarly, data in a PEi register can be stored into PEMi by a single store instruction, but requires routing before being stored in PEMj. The memory should be used in such a way that data can be regarded as contiguous blocks without voids in order not to waste space. However, the data should also be stored in such a way that the algorithm keeps most of the PE's active most of the time. Frequent reallocation of storage should be avoided. These factors should be balanced in a manner producing maximum overall speed. A discussion of various storage schemes and their relative merits is given in Appendix 3« In this paper, straight storage is used throughout . 13 h . Programming Languages Since ILLIAC IV has an organization different from that of conventional serial computers, ILLIAC IV programs must be written in a machine-dependent language. Two programming languages for ILLIAC IV are considered in this paper. One is the assembly language, ASK, which consists of CU instructions and PE instructions (see Appendix l). Needless to say, it is time consuming to write and debug ASK programs . Another language, GLYPNIR, can be considered as a high level language (see Layman et al, (1972)). GLYPNIR generates the necessary code to load operands, to evaluate expressions, to set up subroutine calls, etc. Relative to coding in assembly language, the human effort in writing a GLYPNIR program is comparable to that required in writing a FORTRAN or an ALGOL program. As is always true for any high level programming language, assembly codes generated by the GLYPNIR compiler are not as efficient as ASK written by programmers. However, GLYPNIR allows the user to insert, at any points in his program, specific assembly language statements which may use previously declared GLYPNIR variables and ADVAST Data Buffers (ADB's). We have examined the efficiency of GLYPNIR codes in our problem in the following way. The problem was programmed in GLYPNIR and the clock time was estimated. As will be described in Section 5.1, almost all clock time needed for the entire program is spent by execution of repeated instruction streams within time interations (also see Section 7.1). We will hereafter refer to these instruction streams as the kernel of the program. Because of this fact, we reprogrammed the kernel using ASK and inserted it into the original program. We call this a partially ASK-coded program. Since the kernel consists almost en- tirely of arithmetic statements , it is not as hard to write ASK code for this portion of the program as it is to write the whole program in ASK. As will be described in more detail later, 11+ the total time taken by a partially ASK-coded program is less than one- half the total time taken by the GLYPNIR program. Efficiency gained in ASK coding is mainly obtained by effective address calculations, storing CU constants "which are used frequently in the kernel in ADB's, eliminating data storing and fetching to and from PEM's as much as possible, and by careful programming to maximize the overlap between PE, PEM, and CU. 15 5 . Program Description 5 .1 Mesh Size and Data Storage The processing element memory (PEM) of ILLIAC IV can hold all elements in a row (or a column) in PEO through 63 if the number of elements is not greater than 6k. It is obvious that the program for this case is simpler and needs less overhead than that for a mesh whose row and column contain more than 6k elements. First we have written a program for the mesh size (M+2) x (N+2) where N is not greater than 62 and M is less than 250 so that all elements in a row of this mesh can be stored across PE's and no auxiliary storage is needed. We call this Program I in this paper. Program II was then written for an arbitrary mesh size constrained only by the requirement that the data, along with program instruc- tions, can be stored in PE memory. We used the straight storage scheme because the boundary calculation in this problem is much less complicated than the interior calculation. 5-2 Program Flow Following is a brief description of a program flow: i. Initialization-calculation of constants and mode patterns used in the rest of the program. Setting initial temperature, vorticity and stream function distribution. 3 The limit of 250 rows is obtained by assuming that meshes n , n T , T , ty and two temporary storage meshes are contained in core. The two temporary storage meshes are used to enable the program to calculate V 2 T^, J(^ T \ T^) or V 2 r/ T \ J(i/ T \ n ) for the entire mesh and store them in temporary storage before T or n is calculated. The need for this temporary storage can be eliminated by calculating T^ T+ for each line immediately after calculating v 2 T^ T ' and J(i// , t' t ') for that line—similarly for 1 (t+1) n . This would increase the upper limit on M to 350. 16 ii . Computation of the distribution of temperature, vorticity and stream function at time step one. (Since the leap frog method is used in time differencing, the calculation of data at time step one must be carried out separately). iii . Computation of the distributions at time step TAU + 1 using data at time step TAU - 1 and TAU, where 1 ± TAU <_ TMAX. This portion consists of the following steps: (a) Compute vorticity distribution of interior points. (b) Compute temperature distribution at interior points. (c) Compute temperature distribution on boundaries along dT z-axis according to -r— = at x = and x = 2.8284. dx (d) Compute distribution of stream function by solving the Poisson equation V 2 ijj = n. (e) Increase time step by 1. (f) If this is a time to print out, compute horizontal and vertical velocity and print out T, n , i|j, u, and w. (g) If time step reaches to TMAX, terminate execution: otherwise, go back to (a). It is apparent that steps (a) through (e) are executed TMAX - 1 times. Therefore, if TMAX is reasonably large, most of the clock time is taken by these calculations. PE utilization in steps (a), (b) and (d) is N/64 (for N < 62) because the distribution of N interior points is calculated simultaneously. Step (c) would have the same PE utilization as (a), (b) and (d) if points along the z-axis were stored across PE's or if skewed storage were used. In step (f) the calculation of boundaries of horizontal (vertical) velocity has poor PE utilization if we store the boundary points x = and x = 2.8284 (z =0 and z = 1 ) in PEO and PE(N+l) (PEO and PE(M+l)). Our choice of straight storage results in the simultaneous utilization of only two PE's in steps (c) and (f). Since the calculation of horizontal or vertical velocities ( u = - j£ and w = -Ji) is simple and performed only when 17 print out is necessary, this inefficiency in step (f) is negligible. In our estimation of clock time for this problem in the next section, we consider only the clock time required in steps (a) through (g), but excluding step (f). 18 6. Timing Estimates 6.1 Calculating Execution Time on ILLIAC IV In calculating execution time of an instruction stream on ILLIAC IV, the various hardware characteristics of this machine must "be considered. The time estimates and analysis in this paper are obtained by considering the following: (a) The time taken by each instruction is calculated according to Table 6-1 and Table 6-2 in the Instruction Timing Section of ILLIAC TV Systems Characteristics and Programming Manual. (b) All FINST/PE instructions require one clock time for execution in ADVAST or two clock times if ACAR indexing is required or a CU operand is used. (c) The FINST/PE instruction which requires a second operand fetched from PEM requires an additional seven clock time . (d) There is parallelism between ADVAST and FIUST when they are operating on different instructions in a nearby portion of the instruction stream. The execution of instructions on two relatively independent stations, ADVAST and FINST, is overlapped. An in- struction queue, FINQ, between these two stations holds up to 8 instructions to smooth the flow of instructions through both stations. (e) There is parallelism between noninterfering portions of successive FLNST/PE instructions. This overlap is provided by two execution stations within FINST. Each station contains a register which receives the next instruction from the instruction queue, FLNQ, and examines it when it is time to start the instruction execution. The actual execution of the instruction is carried out from a second register. As a result of this hardware characteristic, memory fetches which occur at the beginning of instructions are overlapped with the preceding FINST/PE instruction. As soon as the PE 19 finishes executing the store instruction, it is ready for the next instruction; at the same time, PEM is busy for seven clocks while storing the data into an appropriate location, (f) Concerning the execution time for LOAD and SETC in- struction, it is seen that a LOAD instruction with an address other than ADB causes the FINST queue to be emptied and that SETC causes ADVAST to stop processing instructions from IWS until FINQ is empty. Programs I and II, both in GLYPNIR, were compiled on the GLYPNIR compiler on the B67OO and the ASK codes were generated. As described before, the partially ASK-coded programs were obtained by inserting the ASK codes for the kernels into the programs generated by GLYPNIR compiler. Timing charts, an example of which is shown in Appendix 2, were prepared. These charts show when, how and how much time is spent in CU, PE and PEM. The total instruction time required for time integrations of the problem on a grid mesh (M+2) x (N+2) was computed. The estimated number of ILLIAC clocks required in Program I per time step is T10 ♦ 6001, ♦. (^) ! t (M. +S ) ** the g™ AS*) ^ coded solution of Poisson's equation, and coded solution of the prognostic equations— l~ t is the number of required iterations in SOR, M' is the number of rows of PEM required , M /evenl to store a (M+2) x (N+2) mesh, and 6 = l-J for M 1 = I odd J . The estimated number of ILLIAC clocks required in Program II per time step is 900 + 9l.0I t + (^) I t (M- + .) f o r t h e(™ ASK ) (ID coded solution of Poisson's equation, and 2000 ♦ (^0) M . for the («™ ^ (12) coded solution of the prognostic equations. 20 6.2 Comparison of Timing with CDC 61+00 In order to compare the execution time on ILLIAC IV with a conventional sequential computer, the same problem was programmed in CDC 6U00 FORTRAN and run for 50 time steps. If it can be assumed that the efficiency of CDC 62+00 FORTRAN and GLYPNIR compilers are comparable, then timing comparisons can be considered as indica- tive of relative machine efficiency on this type of problem. The mesh size used is N = 62 and M = 15 and the average number of SOR iterations required per time step is 21. We assume that ILLIAC IV runs at 16 MHz. It was found that the CDC 61+00 requires 6k seconds to solve the Poisson equation by SOR and 13 seconds for the rest of the calculation (mainly solving two prognostic equations). On the other hand, 0.1+8 second and 0.062 second are taken on ILLIAC IV by the GLYPNIR Program I for the same calculations. The GLYPNIR to FORTRAN ratio is about 1:130 for the SOR solution of Poisson' s equation and 1:210 for the prognostic equations. As a whole, the execution time ratio of ILLIAC IV GLYPNIR Program I to CDC 61+00 FORTRAN is l:lU0. If the problem were amenable to 32-bit precision, an ASK program could be written in 32-bit mode. We estimate that the problem in 32-bit mode could be solved in 60-70% of the time taken in 61+-bit mode-- a brief discussion is given in Appendix h. Table 1 shows the further comparison of the computation time taken by the CDC 6^00 FORTRAN program, GLYPNIR Programs I and II and partially ASK-coded Programs I and II for the IT x 6k mesh. Because this comparison is made for the mesh which has 6k points along the x-axis, no PEM is wasted in storing the data and 62 out of 6k PE's are busy calculating new distributions. The time re- quired on a serial machine is reduced if N decreases. However, if the same storage scheme is used, the same amount of time is re- quired on ILLIAC IV for 1 <_ N <_ 62 . Therefore, when implementing problems on ILLIAC IV, care must be taken to choose an appropriate mesh size and storage scheme (e.g., if N <_ 30, two rows can be stored across a PE). 8SSCHA*««5 21 iT BACi 97 BOCK . Table 1 indicates that Program II takes £0% more time than Program I when comparing GLYPNIR codes and ^©^ more time when comparing partial -ASK codes for the prognostic equations. This compares to a difference of $% for GLYPNIR and 19 # in partial -ASK for Poisson's equation. The reason for these differences is that Program II requires additional PE indexing in the prognostic equations whereas in Poisson's equation the need for PE indexing is nearly the same in both Programs I and II due to the SOR algorithm employed. PE indexing in GLYPNIR is discussed in Section 7.1. As the mesh size or the number of iterations required for con- vergence in SOR increase, equations (9-12) indicate that the difference between GLYPNIR Programs I and II and the difference between partial-ASK Programs I and II for Poisson's equation both become negligible. The ratio of GLYPNIK to partial-ASK execution times approaches 3:1 for SOR. For the prognostic equations, the ratio of GLYPNIR to partial-ASK execution times approaches 2.2:1 as the mesh size increases. Since few programmers ever claim that their code is the ultimate in efficiency, we need hardly apologize for the fact that the GLYPNIR and ASK codes written for this study may be capable of improvement. However, it may be useful to the reader to know our feelings as to how well the codes were written. We believe that the partially-ASK coded program are close to optimal (capable of 5-10% improvement) while the GLYPNIR codes might be speeded up by 15-25% by a programmer intimately familiar with the GLYPNIR compiler. 22 Table 1. Comparison Between Computer Time Required \, with CDC 6400 and ILLIAC IV (N - 62 and M = 15 for all cases) Partially Partially CDC 61+00 GLYPNIR GLYPNIR ASK-coded ASK-coded FORTRAN Program I Program II Program I Program II Poisson' s 130 1 1-01+ 0.38 0.1+3 Equation Prognostic 210 1 1.36 0.1+7 O.67 Equations Total lUO 1 1.08 0.39 0.1+5 In order to compare to other computers, we list relative throughput with respect to the CDC 61+00 (taken from NCAR computing facility estimates): Throughput w.r.t. Computer CDC 61+00 IBM 360/91 6.0 IBM 360/75 1.5 IBM 360/65 0.75 CDC 76OO 12.5 CDC 6600 2.5 CDC 61+00 1.0 DEC PDP-10 0.5 UNIVAC 1108 1.25 23 7- Analysis of Kernel 7.1 CU and. PE Utilization Whereas in the previous section the overall time required to solve this problem on ILLIAC IV was discussed, here an analysis of the kernel is given to determine how time is spent , effectively or ineffectively, in calculation on ILLIAC IV. The kernel of this program consists of six separate arithmetic statements contained within loop statements such as: LOOP K: = 1, 1, M DO < arithmetic statement i >; for i = 1, ...,6. Instruction streams executed, repeatedly M times in each loop statement are called DIFF, ADW, ADVT, PRV, PRT and POISS 5 . DIFF calculates diffusive terms, V 2 T and V 2 n, in equations (3) and (5). In ADVT and ADW, the advective terms j(ip,T) and J ( ^ , n ) of the heat equation and the vorticity equation are calculated according to (3') and (5') respectively. Given advective and diffusive terms, PRV and PRT compute the distribution of vorticity and temperature for time step TAU. + l according to (3') and (5")» Equations (3') and (5") may be written in terms of these quantities as follows: t (t+1) _ 1 [ c * t (t^1) + 2Atf- ADVT(i,i,k) l ,k c l ,k V + |- DIFF(T,T,i,k)) ], (3"*) r n U ; l} = I [f- n! T ; l} + 2At ( - ADW(r,i,k) 1 , K- I 1,K V R T (t) - T (l) -» -* i+l,k i-l,k + DIFF( n ,T,i,kn ], (5") P 2Az r B U) , + b (t) , „(t) + b (t) , _, . s i+l,k i-l,k i ,k+l i,k-l , where DIFF( B, T ,i ,k) = * *- + * » ' (A.z^ 2 (Ax) 2 ADVT(x,i,k) S J- v^ (T) > t(0) > 1 ,K and ADW(t,i,k) = j. (^ (t) , n (r) ) . i,k 5 contained in each loop statement is shown in Appendix 5 • 2h PRT combines the terms on the right hand side of equation (3 ") while PRV combines terms in equation (5""). Using the successive overrelaxation (SOR) method, POISS improves all elements of ty in I, iterations. Timing estimates are given for a single iteration. Table 2a, 2b, 2c and 2d show the percent of the total time in which the PE's and the CU are active in GLYPNIR Programs I and II and in partially ASK-coded Programs I and II, respectively. Since all actual arithmetic calculations are carried out in PE's, it is desirable to have the processing elements busy 100% of the time. However, this is not the case. A PE becomes idle when the PE must wait for the CU to send FINST/PE instructions or when it must wait for operands being fetched from PEM. The PE idle time caused by the former will be called CU bound and that caused by the latter PEM bound. Tables 2a - 2d contain information about the percentages of the PE idle time due to CU bound and PE bound. The CU becomes idle when it cannot send any FIUST/PE instructions into FINQ because FINQ is full, or when the CU is held up to wait for FINQ to be emptied for the execution of instructions such as LOAD, SETC, etc. On the average, a PE is busy 50% {k%) of the time in GLYPNIR Program I (II) and 87% (77%) in the partially ASK-coded Program I (il). Equations (9-12) are seen to be consistent with the Total Clock Time per row in Table 2 if one recalls that DIFF is used twice in calculating the prognostic equations--once in (3") and once in (5"). The column labeled "Poisson Per Iteration" contains the number of clocks in each category required in each iteration for the 17 x 6k mesh (21 iter- ations were required for this mesh size to meet the convergence criteria). Since SOR is an iterative method, POISS contains code to determine when the method has converged for all mesh points. This convergence test comprises 26% of the GLYPNIR POISS Program I and \% of the partially ASK-coded POISS Program I. If one point in the mesh fails to fall within the error tolerance, then another iteration is re- quired. Once such a point has been found, testing of the remaining mesh points is not needed. An IF statement is used to test if such a point has been found and, if so, skips the tests for the remaining mesh points. This type of IF statement can be performed in the CU if the code is written in ASK. With a full FINQ at the beginning of the IF statement, it could be Table 2. Utilization of Total Clocktlme Table 2a. Utilization of Total Clocktlme by GLYPNIR Program I. 25 DIFF ADW ADVT PRV PRT Poisson Per Average Per Row Per Row Per Row Per Row Per Row Iteration Active FE Time 65 (1*7%) 117 (51*) 191 ( 5"*%) 101 (52*) 6lt 52% 187 ("*>*%) ■ PF is PKM Bound 72 (53*) 111 (1*9%) 160 (1*6*) 89 !>*5*) 60 1*8%) 176 (1*2*) (U6*) PE is CU Bound C ( 0*) ( 0*) ( 0*) 6 ( 3*) 0%) 59 (l 1 **) ( 1**) Active >'EM Time 91 (66*) 133 (58*) 182 (52*) 105 ( 5**%) 70 56%) 218 (52*) (55%) Active CU Time 95 (69*) 123 (5U*j 177 (50*) 12"* (63*) 86 69%) 2<*5 (58%) (58%) Total lime (clocks) 137 228 351 196 12U 1*22 Table 2b. Utilization of Total Clocktime by GLYPNIR Program II. DIFF ADW ADVT PRV PRT Poiss on Per Average Per Row Per Row Per Row Per Row Per Row Itera tion Active PE Time 76 50%) 181* (50%) 271 (>*9*) 111 (53*) 61* (52*) 187 (1*1*%) Ff Is PEM Bound 77 50*) 187 (50%) 260 (1*7%) 91 60 (1.8%) 176 (1*2%) (1*6%) Pr is C : nound 0*) ( 0%) 21 ( "*%) i ( It*) 59 (ll*%) ( 5%) Active PEN 1 ime 98 6i*%) 22U (6o*) 308 (56%) 112 (53*) 70 (56%) 218 (52*) Active CU Time 101 66%) 178 (W*) 265 (1*8%) 129 (61*) 86 (69%) 2l*5 (58%) (55*) Total Time ( clocks 1 153 371 552 210 121* 1*22 Table 2c. Utilization of Total C locktime by ASK Program 1 DIFF ADW ADVT PRV PRT Poisson Per Per f DW Per Row Per Row Per Row Per Row Interation Average ■ ive PE Time (95%) 91 ■ 11*0 (96%) 78 (92%) 1*9 (78%) 107 (77%) (87%) PF is PEM Bound 3 ( 54) 11* 13%) ( 1**) 7 ( 8%) 1U 10 ( 7%) ( 9%) PF is CU Bound ( (A) 0%) ( 0%) ( 0%) 22 (16%) ( U«) Active PEM Time 28 (1*7%) 59%) 8U (58%) 1*9 (58*) 1*2 (f7*) 70 (50*) (56%) Active CU Time 51 (88*) 53 50%) 77 (53%) K) (71%) 38 (60%) 109 (78%) (65%) Total Time (clocks) ..0 107 1.1*6 85 63 139 Table 2d. Utilization of Total Clocktlme by ASK Progr DIFF ADW ADVT PSV PRT Poisson Per Per Row Per Row Per Row Per 12 ( 5*) ( 5*) Total Active CU Time (clocks) 101 172 265 129 86 21*5 Table 3c. CU Utilization by ASK Program I DIFF Per Row ADW Per Row ADVT Per Row PRV Per Row PRT Per Row Poisson Per Interation Average Address and Index Calculation 22 (U2*) 17 (32*) 28 (36*) 13 (22*) 6 (15*) 30 (27*) (30*) Route and Modebit Setting ( 0*) ( 0*) 6 (10*) ( 0*) 6 ( 5*) ( 3*) Control Instructions 8 (15*) 8 (15*) 8 (11*) 8 (13*) 8 (21*) 28 (26*) (18*) PE Instruction decoding 15 (28*) 2U (1*5*) 37 (U8*) 21 (35*) 12 (32*) 29 (27*) (35*) CU Arithmetic Operand Fetching 8 (15*) It ( 8*) U ( 5*) 12 (20*) 12 (32*) 16 (15*) (1U*) Total Active CU Time (clockfl) 53 53 77 60 38 109 Table 3d. CU Utilization by ASK Program II DIFF Per Row ADW Per Row ADVT Per Row PRV Per Row PRT Per Row Poisson Per Interation Average Address and Index Calculation 23 (Ul*) 22 (33*) 20 (23*) 11* (22*) 6 (15*) 30 (27*) (27*) Route and Modebit Setting ( o*) ( 0*) ( o*) 9 (11**) ( 0*) 6 ( 5*) ( ■**) Control Instructions 8 aw 8 (12*) 8 ( 9*) 8 (12*) 8 (21*) 28 (26*) (lfi«) PE Instruction decoding 17 (31*) 32 (1*9*) 56 (65*) 22 (31**) 12 (32*) 30 (27*) (UO*) CU Arithmetic Operand Fetching 8 (II**) it ( 6*) h ( 1**) 12 (18*) 12 (32*) 16 (15*) (13*) Total Active CU Time (clocks) 56 66 88 65 38 110 31 Table U. PE Utilization Table l*a. PE Utilization by CLYPNIR Program I til! F a:v/v Per Pow ADVT Per Row PRV Per Row PRT Per Pow Poisson Per Interation Average ess and Index 'al -illation 10 (16*) Ut (32*) 26 (lit*) l- (16*) 12 (19*) 1*3 (26* (17*) Route and Modebit Setting B (12*) 17 (15*) 21* ( 12* ) 10 (10*) ( 0*) 10 ( '-'1 (10*.) 'ontrol Instructions ( o*) ( at) ( 0*) ( 01) ( o*) 38 (201) ( 5'?.) Ar i thmet i Instructions '.7 (72*) Bi (7??.) Ul (7«t*) 75 (75*) 52 (81*) 91 » PF and PEM overlap 19 H) (19*) 2? (12*) \i (16%) 10 (16*.) 1*2 (2?*) rotal Active PF. Time ■ . i :ki - 117 191 101 -.4 187 at-le Ifb. PE Utilization by GLYPNIR Program II DIFF F-er Pow ADW Per Row HDVT Per Pow PPV Per ow PRT Per E ow Poisson Per Interation Average address >"1 l»iei : i lotion '0 ■ 58 (31*) 89 (33*) (21**) 12 (19*) 1*8 (26*) 8 mi' .> and Modeb i 1 ■ ' ig i 18 (10*) 30 (11*1 11 (10*) ( o*) 10 ( 5*) ( 5*) 'ont.rol i stm -lions • ( 0*) o ( OX) ( 0*) ( o*) 38 (20*) 1 nstructions 1*7 (6a*) 103 (59%) 152 f c " 4 ) 73 (66*) 52 (81*) 91 (1*9*) (59* )• M overlap L ■n if (20*) 1*7 (17*) 16 (1W) 10 (16*) 1*2 (22*) (19*) Total Active PE Time •locks ) '!<■ lflit 271 111 61* 187 Table lie. PE Utllitzation by ASK Program I ;::", Pow ADVT Per Pow Per RV ''ow PPT Per Pow Poisson Per Interation ver age . ■ ■ • • ( Ot) ! 0*) i u: i ■ ,1 ■■:' mi i io leb : ' letting 18 i >■ 25 (18*) 12 (15*) ( 0*) 11 f :■ mtrol [nstrud urns ■ ■ ( 0*1 ( 0*) ( 0*) 12 (11*) to-i thmet j.c [instructions it a (81**1 (81*1 115 (82*1 6< (85*) 1*9 ( 100* ) 82 1 (83*) • ] PEN 1 "'■ ■ - ■ 1,1,*) I.Q (53*1 78 (56*) 1*2 (,!*') 28 (57*) 55 (51*) (53*) total Live ; 'ime 93 1U0 73 1*9 107 ■ i Locks 1 Table ltd. PE Utilitzation by ASK Program II Per T 'OW 'pi Pow Per T F-'OW t'er -ow PRT Per Pow Poisson Per Interation Average Address and Tniex 1 3*) *) i* ■ s ( 04) 3 •■ ( *) Za 1 ■ ilar ion , .■ .- md lodel 11 tett: ng 9 (16*) 18 (16*) 28 10 o ! y 11 (10*) ' ions ' ( 0*) ( V) ( 0*) ( 0*) 12 (11*) l tions I." " 32* 158 1 i (8U*) 1*9 (100*) 82 ! ■ PE and PEM Overlap 29 (50*) 77 (68*) 119 28 ■ ! 28 (57*) 55 (51*) Total Active PF Tl^e ~ 113 190 75 1*9 101 (clocks) 32 8. Use of ILLIAC Disk for Non-core Contained Meshes When the problem being run becomes too large to contain in core, the I/O time becomes an important consideration. First the I/O system for ILLIAC IV will be discussed and then its efficiency for our specific problem -will be examined. 8.1 ILLIAC I/O System The ILLIAC IV Disk is a 15,600 K word memory. This memory is divided into 52 bands. Each band is divided into 300 pages, each containing l6 lines of PEM (1028 words). Memory transfers be- tween the ILLIAC IV Disk and PEM are restricted to pages. A data request can read or write up to 128 consecutive pages on one band. If the data is not consecutive or if it is spread over more than one band a separate request is needed for each string of consecutive pages. The time required for the Disk to prepare to perform a data request is equivalent to the time to transfer two pages of data between the Disk and PEM. Thus if a data request reads or writes on page i and band j , the next data request should skip at least two pages and start at page i + 3 of band k where j need not equal k. If the second data request wanted page i + 1 , or i + 2 , the request would have to wait for a revolution of Disk before it could be executed. The transfer rate between PEM and Disk is 133 usee per page and the disk revolves once every i+0 msec. One revolution of the disk is equivalent to 6140,000 ILLIAC IV clocks. 8.2 1/0 for the Bernard-Rayleigh Convection Problem Now let us examine the Bernard-Rayleigh convection problem 6 (t) where each mesh is 196 x 256. Five meshes are required: T , T , n , n and ¥ • Each mesh will be divided into pages containing four mesh rows, each of which is divided into four PE rows. 5 This size was chosen to illustrate the use of ILLIAC Disk when ¥ andn are completely core contained. If this mesh size is ex- ceeded, the solution of SOP becomes highly 1/0 bound. However, if the mesh size becomes this large it is best to go to direct methods for solving Poisson's equation. Direct methods require only one core con- tained mesh for optimal efficiency, thereby allowing a larger mesh. Examples of 1/0 considerations in using direct methods are given in Erickson (1972). 33 Each time step of the convection process has three main parts: calculate n , calculate T^ T and calculate V n< T+1) is calculated using „£> ,, n^. n^. ^ , and ¥«?] .... T? T+1) is calculated using t[ T J . ,t! T ?., l+l, J+1 1,3 & i±l,J l,J+l (t-1) (t) (t) (t) (t) T. V , , V;',' IA _ , ¥:^; . and V. ' . Through use of all n , I, J l+l, J+1' l+l, j i,j+l & H 7 . . is calculated. The process will be divided into two parts. First n +1 and T (x+1 ' ) will be calculated. Then y' T+1) will be calculated. Tp and T will be calculated one page at a time. When page I of T| and t' T+1 ^ is being computed, page 1-1 of t' T+ ', (r) (t) T v ' and Tp ' will be written on Disk. Also during the calculation, (t) (t-1) Ct-1) page 1+2 of T v ', T v ' and T\ v ' are read from Disk into a 12 page (t) (t) storage queue, S, in PEM. Tp and ^ ' are completely contained in core, When page I of T^ T+ ' is being calculated, page 1-2 of Tp overwrites (t) page 1-2 of TV ' . In 51 steps, the data is read from Disk to PEM. A com- plete time iteration for the prognostic equations is calculated and the data is written on Disk. Steps 1-1+8 read information, steps 3-50 calculate r\ and T , and steps U-51 write the appropriate information on Disk. Figure h shows what pages are read, calculated, (x-l) or written at each time step. Figure 5 shows the Diskmap of T , T ' and n '■ R (W ) refers to the I read (write) performed. C th refers to the I group of pages upon which calculations are performed. (t) (t+1) (t+1) At this point the n mesh contains n • All of n and T^ T+1 ^ have been calculated, n ^ , I ' and T^ T+1 ^have been written on Disk to be used in the next time .iteration. As seen in Figure 5 , each read or write requires five pages of Disk — three pages for data and two pages which are passed while the data request is interpretted. Thus, the I/O for a page of the prognostic equations takes at least 1330 ysec, the time needed to pass ten pages on the Disk. 3h »■» ■* — a 51 -3 £3 iJ ~** F-4 E4 P 7 i I """"t-. *~e-< f^ v ^ ■> * 2) 35 Band 1 Band 2 1* 5 9 10 11* 15 19 20 24 25 29 30 34 35 39 40 44 45 »*9 R l W 29 R 2 W 30 R 3 W l R 4 W 2 R 5 W 3 161+ R 17 165 169 W 15 170 174 R 18 175 1 179 W 16 fc 180 "1 l& * R 19 1 185 u 189 W 17 SP 190 R 20 1 195 199 W 18 200 201+ R 21 205 20Q W l9 R 3l R 32 R 33 W 31 R 3U W 32 R 35 W 33 \1 ■U5 '1+8 v 46 V "48 101-10 Read 101- 9 Interpret 101- ■ 8 I-l 101- 7 T (T-1) I-l 101- 6 ll-l \R I for 1 = 1, 2,3,..., W 101+15 Write 101+16 Interpret 101+17 T (T+1) I-l 101+18 T (T) I-l 101+19 W I for 1 = 1, 2,3,.- .,48 280 284 285 289 290 29I+ 295 299 A 2 9 "27 30 "28 It) (t) (t-1) Figure 5. Diskmap of rf ' , 'T y and T^ th Subscript J on i] and T refer to the J page of the mesh 36 ASK code can solve the prognostic equations at a rate of 70? ysec per page. Thus, both the calculations and the I/O for one page of the prognostic equations could he performed in 1330 ysecs. The problem is then i/o bound i+7% of the time. A GLYPNIR program can solve the prognostic equations at a rate of 1563 ysecs per page. By passing 12 pages instead of ten pages for each page of prognostic calculations, the I/O and the calculations for one page of the prognostic equations could be performed in 1596 ysec. This problem is I/O bound 2% of the time. By writing DIFF and PRV in ASK and ADVT , ADW and PRT in GLYPNIR, a page of the prognostic equations could be calculated in 1295 ysec. This GLYPNIR/ASK Program saves the programming cost of writing ADVT, ADW and PRT in efficient ASK without increasing the computer time required for execution. Using a queue instead of full meshes requires extra code to keep the indeces cycling properly. Although a thorough study has not been performed on the queue indexing, it is estimated that it will take little, if any, additional computer time. This is because the queue indexing code consists of CU instructions, most of which can be overlapped with the PE and PEM fetches already needed. If the GLYPNTR/ASK Program or the partially ASK-coded Program is used, the prognostic equations will be advanced one time step in the amount of time for the Disk to revolve once (300 pages) and pass 195 pages on the next revolution. Due to the fact that data is written 25 pages after it is read (see Figure 5), the Disk will be lU5 pages from the point where the calculation for the prognostic equations could be begun for the next (t+1) (t) time step. Now ^ is calculated using SOR with n as the (t) 7 source term and \\j as the initial guess . Each iteration for the ASK code takes the amount of time required for the Disk to pass 51 pages. 7t ( t ) ( t ) If n and \p were not core contained, it would require 1^0 ysec per page to update ty using partially ASK-coded SOR, whereas it would require at least 532 jusec to perform the necessary I/O. 37 Thus , a time step which solves the prognostic equations and performs N iterations of SOE can be performed in the time required for 1+2 revolutions of Disk and ^0 pages passed on the 1+3 revolution where (for N>2) T . | 31N - 11+5 1 I 300 | • As N increases, the percent of i/O bound decreases but not monotonically . The percent of the time during which the partially ASK-coded Poisson equation is i/O bound is given by PI0 = 100(1 -°- scorer' Figure 6 contains graphs of percent i/O bound as a function of the number of iterations in SOE for the Poisson equation and the entire convection problem. 38 o » >< t w a« i> T3 83 s c\ tl UK >-! O M •° h & o fin a. c -e o > c NUMBER OF ITERATIONS REQUIRED FOR CONVERGENCE IN SOR FOR 196 x 256 MESH Figure 6. Percent I/O Bound 39 9 • Cone luding Remarks It is hoped that this paper will be useful to two classes of readers. First, the fluid dynamicist should find this study useful in deciding whether it is worthwhile to develop codes for ILLIAC IV. Second, ILLIAC IV language developers should find the reported statistics useful in determining priorities for developing efficient high level languages. As demonstrated in the preceding sections, ILLIAC IV is well suited for solving the class of hydrodynamic problems considered in this paper. However, care must be taken in choosing an appropriate mesh size and storage scheme. Needless to say, the best efficiency can be achieved by writing programs in ASK. Only the programmer can scan the whole problem and write the program which maximizes PE, PEM and CU overlap. However, GLYPNIR is much easier to use in developing codes. Over the past year, GLYPNIR efficiency has significantly improved. It is felt that further improvement can still be accomplished through the use of ACAR indexing, implementation of CU IF statements, and an improved method of passing vectors to and from sub- routines. ko REFERENCES Bernhardt W. , 1972: The Mintz-Arakaw weather simulation model: A study and implementation of data management for ILLIAC IV using a non- core contained data set. Internal Document at Institute for Advanced Computation, NASA Ames Research Center, Moffet Field, Calif. Carroll, A. B. , and R. T. Wetherald, 1967: Application of parallel processing to numerical weather prediction. J ACM, Ik , 591-6l^« Denenberg, A. S. , 1971: An introductory description of ILLIAC IV System. CAC Document 225, Center for Advanced Computation, University of Illinois at Urb ana- Champaign, Urbana, Illinois, 61801. Ericksen, J. H. , 1972: Interative and direct methods for solving Poisson's equation and their adaptability to ILLIAC IV. CAC Document 60 , Center for Advanced Computation, University of Illinois at Urbana- Champaign, Urbana, Illinois, 61801. ILLIAC IV System Characteristics and Programming Manual, Burroughs Corpora- tion, Revised May 16, 1972. Layman, T. and D. Baer, 1972: GLYPNIR Reference Manual, ILLIAC IV Document 263 , ILLIAC IV Project, University of Illinois at Urbana-Champaign, Urbana, Illinois, 61801. (For copies, write Institute for Advanced Computation, Mail Stop 23- lU, NASA Ames Research Center, Moffet Field, Calif. ) Lilly, D. K. , I96U: Numerical solutions for the shape-preserving two-dimensional thermal convection element. J. Atmos. Sci., 21 , 83-98. Miranker, W. L. , 1970: A survey of parallelism in numerical analysis. IBM Research, RC 2871, ^7 pp. Ogura, Y. , and A. Yagihashi, 1971 : Non-stationary finite-amplitude convection in a thin fluid layer bounded by a stably stratified region. J. Atmos. Sci., 28 , 1389-1399. 1+1 Characteristics of ILLIAC IV Appendix 1 8 The five major elements of the ILLIAC IV are the Control Unit (CU), the Processing Unit (PU) , the Input-Output (i/O) subsystem, The Disk File, and the B6T00 Control Computer. Each PU is a combina- tion of a Processing Element (PE), Memory Logic Unit (MLU), and Processing Element Memory (PEM). A CU directly governs 6h PU's con- figured in an array shown in Figure 7 • The Control Unit is that portion of the computer system which performs the initial processing of instructions. Instructions are fed in turn from the instruction stack to the Advanced Station (ADVAST), which is the principal housekeeper of the system where such functions as address arithmetic, loop control, mode control, inter- rup processing, and configuration control are performed. ADVAST permits all those functions generally associated with program control to be performed concurrently with, but in advance of and separate from, the main processing activity. The primary function of the Final Station (FINST) is to act as an intermediary between the main control, in ADVAST, and the 6h array elements, called Processing Elements (PE's). The repertoire for ILLIAC IV has two general categories of instructions, those executed as ADVAST and those executed in the array elements. Those instructions intended for execution in PE's are transferred from ADVAST to FINST where they are decoded and then broadcast to 6h array elements (FINST also broadcasts full-word operands, shift counts, test values, and other common array parameters). The array element, or PE, is the execution portion of the configuration; with the exception of mode and some data-dependent conditions, this unit is devoid of all independent control. Mode control permits a PE to accept or ignore a broadcast control sequence from the CU, dependent on current status of mode bits. The PE is essentially See Denenberg (l9Tl) and "Illiac IV System Characteristics for more details . 42 a four-register arithmetic unit, capable of executing a full repertoire of instructions having 64-bit, 32-bit, or 8-bit operands. Further, operations involving 64-bit and 32-bit words can be done in either fixed-point or floating-point representa- tion. The array memory consists of 64 independent memory modules called Processing Element Memories (PEM's). Each PEM is collocated with and assigned to a specific PE, providing storage for 2048 words of 64 bits each. An address adder and an index register within the PE permit memory indexing and addressing independent of FINST control Such independence provides important flexibility for addressing data stored in a variety of ordered forms. It is apparent that ILLIAC IV may be suited to the execution of algorithms defined on arrays of data, e.g., matrix operations and certain partial differential equations. However, there are two major difficulties in using such a machine. One is that an algorithm must be devised which allows identical computations to be performed simultaneously on a large number of operands. The other is closely related to the first: the data must be so placed in the ILLIAC IV memory so that, over the course of the calculation, few PE's are disabled. CONTROL UNIT (CU) [INSTRUCTION ILOOK AHEAD (ILA) ] ( MEMORY SERVICE UNIT (MSI) JVstWctTSn STACK OPTRA] OPERAND STACK ADVANCED STATION (ADVAST) ADB [6jj WORDS) ACARO - ACAR3 FINAL INSTRUCTION 9UEUE LEJSi FINAL STATION (FINST) PROCESSING UNIT (PUI 201. 8 Wor do TBdT MEMORY (PEM) *«. BTTS -,' PE 3C 1ST MEMORY (PEM) MEMORY (PEM) Figure 7. ILLIAC IV Architecture Appendix 2. An Example of a Timing Chart U3 INSTRUCTION STREAM LIT (1) = i; LDA PREG+17; SBM SCI; LDB $A; LDX SB XI PREG+13; LIT (1) = li LDA PREG + 17; ADM SCI; LDR *0; STR PREG + 20; LDB $A; LDX SB; • • cu LIT-r LDA-- SBM-- LDB-- LDX-- XI-- LIT-- LDA-- ADM-- LDR STR-- LDB-- LDX-- PE PEM LDA- SBM-- LDB + LDX XI-L LDA f ADM-- LDR-L STR LDB t LDX I COMMENT PE IS CU BOUND PE IS PEM BOUND J } i PE AND PEM OVERLAP PE IS PEM BOUND PE AND PEM OVERLAP PE IS PEM BOUND PE AND PEM OVERLAP PE IS PEM BOUND PE AND PEM OVERLAP kh Appendix 3 Storage Schemes 3.1 Straight Storage for 6k or less Columns This scheme stores the row vector a. _, a. _, , a. _, ... 1,0 i,l l ,2 across PE's starting at PEO, that is, a. is stored in location A + i of PEj . (see Figure 3). This scheme is adaptable to parallel accessing of rows; however, if parallel accessing of columns is often necessary, this scheme will not suffice. Since all "boundary points a , a _, .. a^ Q and a ^ , . . . , a^ are stored in PEO and PE[(N+l) mod 6k] respectively, boundary calculations require disabling of all PE's but those which contain boundary points. If an array or a partial block of an array has rows of dimension less than 6k, then inefficient operation will also result in their rows. 3.2 Skew Storage for 6k or less Columns This storage allocation, distributing columns as well as rows across the PE's, will allow access of an entire row or column in parallel. In this scheme the row vector a. n . a. . , a. „, ... is i,0' i,l' i,2' stored across PE's with a. . in location A+i of PE[(i+j) mod 6k]. PEO PE1 PEj loc A a a .. .... a . ■ . . 0,0 0,1 0,3 Loc A+l a n ^_ a, _ . • . a_ . . • . . l,o3 1,0 ljj-l Loc A+i a. )(0 _ i)mod6i; a. j(l _ i)inod6i+ < > _ ft^ (j-i)mod6U.. Loc A+M Loc A+M+l a M, (0-M)mod64 ^,(1 -M)mod64. . . a M , (j-M)mod64 a M, (0-M-l)mod64 a M,(l-M-l)mod64 ••• ^ (j-M-l)mod64 Figure 8. Skew Storage h5 Skew storage has proved useful in matrix operations in Gaussian elimination with column pivoting, and in alternating direction implicit methods and explicit partial differential equation calculations where boundaries must be treated by a fairly complicated algorithm which is quite different from the algorithm operating on interior points. 3- 3 Odd- Even Storage for 128 or less Columns This storage scheme uses two adjacent lines of PEM to store each row. The rows appear in the same relative order as in straight storage: that is, this scheme stores a. _. .-at PEj in location 2i+ i " where j'is or 1. If the number of elements in a row is less than or equal to 6k, straight storage or skew storage requires half as much PEM as required by an odd-even storage- But if that number is between 65 and 128, straight storage and odd-even storage require the same number of rows in PEM. Odd-even storage has been used in applications of the Successive Line Overrelaxation method and partial differential equations which require fetching a number of neighboring points into the register (see Ericksen (1972)). Loc A Loc A+l Loc A+2 Loc A+3 PEO 0,0 l o,i l i,o l l,l PE1 a a a 0,2 0,3 1,2 l l,3 PE2 a a 0,k 0,5 L l,5 LocA + 2M + 2 a Mf ^ s^^ a^, LocA + 2M + 3 VlA Vl ^ Vl ^ Figure 9« Odd -Even Storage PEj 0,2j l 0,2j+l l l,2j l l,2j+l Vl,2j * * a M+i,2j+i 46 3.k Skewed Odd-Even Storage for 128 or less Columns This stores a_ . , . ^ ,-,.,„.- at PE[(i+j) mod 6k] in location 2 l+i ,2j+j A+2(2i+i ')+j " t where i - " and j ' are or 1. This has advantages and disadvantages similar to those of odd-even storage; in addition, this scheme permits accessing the column simultaneously. Additional storage schemes such as vn - skew storage and modified skew storage for the QR-algorithm, triangular arrays, triangular 1-skew storage for symmetric matrix, and others have been devised. However, the nature of the problem considered here only requires consideration of the four alternate storage schemes described above. 3.5 Storage Scheme Suitable for this Type of Problem In the computation of new vorticity and temperature distributions , it is necessary to use old values on eight neighboring points. Consider fetching these neighboring points of a. ., that is i >0 a . _ . , a , a. . n , and a. .to the PE where a. .is 1+1,3-1' 1+1, j+1' i,o+l' 1+1,0 1,0 stored and where calculation for the new value of a. .is i,0 performed. It is obvious that nine fetches are required regardless of the storage scheme, but the number of routings required to place data into the register of an appropriate PE depends on the storage scheme. It can be seen that six routings by distance one are required for straight storage, three by distance one for odd-even storage, and four by distance one and two by distance two for the skew storage (see Figure 10 ). Finally, four routings by distance one are required for skewed odd-even storage when i+o is odd, while four routings by distance one and one routing by distance two are re- quired for skewed odd-even storage when i+o is even. Therefore, where calculations of interior points are concerned, straight storage and odd-even storage have advantages over skew storage. On the other hand, skew storage has advantages in computing boundary values. Odd- even storage has an advantage over straight storage where 6k < (N+2) mod 128, However, programs using this scheme become complicated and requires more time for controlling the instruction stream. The best storage hi scheme for the problem at hand must he chosen only after considering the amount of boundary calculations, the nature of difference schemes used, the size of mesh, etc. Besides choosing a storage scheme, the side of the rectangular mesh that should be stored across PE's must be determined considering the memory utilization, PE efficiency and the amount of overhead due to the control statements. For the problem addressed in this paper, straight storage was used throughout . U8 A i-l,j-l A i-i, j A i-l,j+l i-i, j-i i-i, j A. . . 1.3-1 A i-i, 3+1 A. . . 1.3-1 A i,j A i,3+1 A. . 1.3 A i,3+1 A l+l,j-l \i- 1 A i.3+1 A i+1, j-1 A i+l,j A.,, . i+l,3 Straight Storage Skew Storage i_ _ _ A. . . 1-1,3 A. . 1-1.3 A. '. . l-l, j-1 A. _ l-l, 3+1 A. . 1-1,3-1 A, . 1.3-1 A. . l-l, 3+1 A. . 1.3 A. 1,3 A. . , A, ., 1.3 + 1 A. ., 1.3 + 1 A i+1,3 A i+1,3 A i+l.j-l A i+l,j+l A i+l,j-l A i+l,j+l Odd-ev en Storage Skewed Odd-even Storage S (i is od d and j is even) Figure 10. Data Relationships in Four Storage Schemes 49 Appendix 4 Considerations in the use of the 32-bit Mode ILLIAC IV allows the programmer to use 64-bit or 32-bit words. GLYPNIR allows only the 64-bit mode, but if the program is written in ASK then the 32-bit mode can be used. The 32-bit mode effectively doubles core per PE (1*096 32-bit words) and usually requires less memory fetches. 64-bit operations require more than half the time of the corresponding double 32-bit operation, e.g., ADRN takes 7 clocks to add two 64-bit numbers in 64-bit mode but it requires 10 clocks to perform the two sums of two 32-bit pairs in 32-bit mode. Although we have not coded the convection problem in 32-bit mode, it is estimated that a convection problem with M x 128N meshes could be solved in 60-70% of the time required in the 64-bit mode. 32-bit mode presents two problems which require solutions unique to 32-bit mode. Routing is the first problem. Bernhard (1972) presented the solution to this problem. An N element vector will be stored with elements 1 to N/2 in the outerwords and elements N/2+1 to N in the innerwords . On a four PE machine, a 16 element vector would be stored as follows: PEO PE1 PE2 PE3 A+0 r ± a p a 2 a 1Q a 3 a^ a^ & 12 A+l a 5 a 13 a 6 a^ a ? a^ ag a ±6 With this storage scheme, the appropriate values can be obtained in all the PE's with the same type of routing as in the 64-bit mode except when PEO is required to access the element to the right of a , i.e., a^. A route of one to the right places a ft in the outer word of register R in PEO. A "SWAP" (the inner and outer words are exchanged) must take place to put a„ in the inner word of register R of PEO. 50 Accessing both rows and columns is the second problem. Bernhard's (1972) storage scheme is fine for accessing 128 columns simultaneously but the storage must be changed to 32-bit skewed storage to access rows simultaneously. An 8 by 8 mesh in 32-bit skew storage on a four PE machine would look like A+0 a^ a 5a a 1>2 a^ 2 a^ a^ a. ± ^ a^ A+1 a l,5 a 5,5 a l,6 a 5,6 a i,T a 5,7 a l,8 a 5,8 A+2 a 2 ^ a 6 ^ a^ a^ a^ a g a^ a^ A+3 A+U ^2,8 %8 d 2,5 6,5 d 2,6 d 6,6 d 2,7 6,7 a 3,3 a 7,3 a 3,U a l,k a 3,l a 7,l a 3,2 a 7,2 A+5 a 3,7 a 7,7 a 3,8 a 7,8 a 3,5 a 7,5 a 3,6 a T ,6 A+6 a k,2 a 8,2 a h, 3 a 8,3 a U,U a 8,U %,i a 8,l A+T a li,6 a 8,6 %,7 a 8,7 %,8 a 8,8 a U,5 a 8,5 Figure 11. 32-bit Skew Storage Note that 32-bit skew storage enables the access of 128 rows or columns simultaneously on ILLIAC IV and routes work without swaps. If one wanted to calculate a. . - lA(a. -, >-? + a. , ) for either !>J 1-1 J 1+ 1)J i=4 or i=5 , swaps would have to be performed in the above example 51 Appendix 5' GLYPNIR and ASK Codes for Programs I and II Page 5.1 Convection Program I 52 5.2 GLYPNIR Program I Kernels 58 5.3 GLYPNIR Program II Kernels 62 5-U ASK Program I Kernels 67 5-5 ASK Program II Kernels 75 52 5. 1 Convection Program I 53 ooooooooinirioiriniPini/iini/ii/iirinifiiriLni/)io^-r--r^o s o > a i o > 0'(\j(\jj- 00000000000000000000000000000 — — — i — — .1 .* to ooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooo o — — — — — — — — — — — — — — — — — — — — — — (Vjojmojmoj — — Micron.*.* ooooooooooooooooooooooooooooooooooooo f\J ~t-*^~*-»-*-»-t-J-t o oooooooooo o oooooooooo o oooooooooo o oooooooooo o oooooooooo o oooooooooo n — — —« — — — — — rvjfvi o oooooooooo ooooooooooooooooo oooooooooooooooooooo oooooooooo - — Mr"'.* ir> \r r» cc tr © ooooooooo--«>««HHH«HHi\ii\iNMivii\iiviiviMiV)nrinnnn ooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooo ooooooooooooooooooooooooooo v_, _^ ._, i_^ ^_, ._■ .__, ,_. ,_, ^^ ^^ ,_, w ^^ y_^ (_i 1^ \^1 V V^ \_* \^I U S_* \— ' S_^ *-*> W W t— J ' ' ooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooo oooooooooo oooooooooo (To — (vn j LTvCr^cc oooooooooo oooooooooo oooooooooo oooooooooo _J X a a < u. s J- o o •• ,■» — . or ijj o o O Z o * • O or m • • m X •— « m r- .1.1 T z Z z o ""• > a — • V to — o >- * — 3 UJ _1 _i > >- Jj o o < r o -> ►— LP or vO i UJ ■> CD UJ ct u. - 3 4 o O •— a UJ UJ X uj ^ t- to 3 _J < _J • <_) < — UJ CO * X X UJ 3 UJ _J UJ > CO — UJ O _J 1 or a o a. q. x 3 z to o • I- o l_> Z X • UJ UJ 1/1 >lflJI Z — CO UJ O O _l c_> — or oo — a. o or or o x o a u. UJ t- _i I IE J(- < o < o a: or o co o a — o t- or or or z o a o uj u. u. a z — o z — i uj — < < h- — o x or to _j uj ooo. cd uj o x a i or _i 3 i- a. < to x Q > O » » < rsi O O UJ X X Q O (VI 3 O X X X o u. ►- » » z <\l u. IVI • q m » to (\J Z x O O » •■ (\J (SI l/l o z •■ o X •• o — » 10 >- z Q O — or m co a o Q » H- or < > o or o 3 ► » * X (VJhO ~ — > t- o Z _J — < — 3 u. u to z o •- O LP • tO t- < O or rvj -r M to o < • or — uj (VJ • U f) > to o < » or (\J UJ I O PJ » to — < — or o UJ > •■ o — I » to rsi < o a. •> UJ o •■ * o X Z Q 3 > O O OP < • z ► » M or o UJ O _l UJ < ►- UJ Z or CD U < < .» . z --< <*> • ZK X — ♦ » »- rvj "5 < H- -> a. » IT7K UJ O » •- or < CO « I- D < to « o « X UJ X * Z D ►h o » t- -D < * O CD v, < Z II or to uj >-• ■* « CD «-i o uj o — 3 o to uj uj « to to o 3 co a UJ « a » o » u * o o z * UJ 8 t- t- iC Z 3 • — Ox: — ox: — a. o x: u z ct o — a ~uj a - z * — •- uj Z or >- Z Q. — * — 3 — O O X O o i- z o uj — z or 3 — _i co to uj CD O O 3 or uj to cc cc 3 to or 1 X < o U. aJ uj l/l J I tO 1 t- — — s: o z < I a a. or »- v O — 3 _l Z O 3 * o: 0. to ►-■ UJ > tO Z a s — — ♦ a. h- 3 t- o o or o z o: q or 3 or ♦ a a- -> u. tO u. o o o o a n o » or u.' ui h- uj or X > u uj t- O UJ X < or uj » uj _) > • -* — > v a o _j u. x < uj •-> o i- (_> to < • uj or to o z to CN — — — — — — — — — — rvjr\jPoCtJMr\jOdOjoj(\jf r i(*i<*lc')ror")r , ">r , "> ******* ai o^o-^ojd^iOvfir-an 5h -»--».»-»-»-»-»»Ch^aof^r~h-h'-o>©o©«*-<»-»--r^f^r>-^-f~^^<»ir>r»«)*o»<(Mn>»*h-coo>o-<<\jnr»r>ifi^K«ocDo — (vi^OC0«^^C00' l (n oooooooo oooooooo oeoooooo 000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000 «VJmimIM>MIm)»««*m>~«mi — M)M<.*«M-l a o KJ CE 9 o _ < < o X a o H- • »-* LO • Z h- a o Ul — ^ ^^ X * 4 f* »— i Z • •» o < CO o X II o >— « n in X CO 01 < u. • »- ^^ a o * • -H < <* X —4 O X c II ~* X I o * o CJ •♦ a u II • • a «■» z z z z > — » » a. •• < M IM •■4 o Z O » < o CM X m >- (X O O ►- N- >- ►- O ^H U. Q • a 4 < < < CD a LO * u (- •» X X a X X X « < » z t- •» X Q Q X X ^^ t-H z * o u. • • a ID * • (- •* -^ o t— * • N ■* a. a UJ OJ o a o a .—» M *^ «-» V — X Ml a — - ISJ > o a II ►- V V < z uj — X O o o a o • • • II ■^ #^ a ►- **. a UJ t- X ■v •• • ■— a K • • Mi II II ii Ml < h- —* t— z UJ ^« —. s i/i a h- rsi • lo u. C z (/> in z Z CO •» •» < UJ 10 II LO ^^ t— ►— « u. a ** + z z o V X ^- ^* X a I z •• < o a o I— 1 •• 4 <_> o o z o o z X •» UJ ►-• o UJ (VI X a a a a z z UJ Z u. u. A. •~ a ►- l-H X CO UJ Q u. II * * If a o < V "V m t- 1- •-* 4 •f Z UJ UJ UJ a o V ■ • *- t- in in co X a X 3 o ►- X -— •• < z z z • t— « ~> < 4 vO <£> 4 o D o CD Q •♦ UJ CO nj *~* Ml I— 1 ^-i (- ~i Z Q X O M (M X •» LO a X t— i Ml ►- 4 LO ^^ ►- ►- t— II II M X z UJ Cf o uj r> + •— i O X ■x: 4 X < •— 3 D 3 • • • • _-• UJ < x x cn in ♦ I o a X 1— f- •» —> •* UJ X u O O O >— • X II •*- •« i» h- o o 1— 1 1— 1 (\J u. • < LO r IM 4 >- ^* + UJ s x a a » t— O • • Mi •* ••■ •• X M I* 14 ■• ►- —. ~» J- CO • •— » a X ►- •— » * *r »— t- IM o 1 ♦ CD CD CD < NNXNOQNI/IN < O -• X ^-* — * < 3 •* •* UJ o ^^ v^ UJ N^ X "■ ■ "-* UJ 3 3 r> a *• .» z z X (M O QKI- O Z (/> *♦ a. A z o • • X X V •-< a o LO » t- II o ■a X (VI ~« LO z M en en LO T o •» •» •» •* OO »- h- > > X O Z ►» a Z ve- Mi -h x m n uj u. o o t- _l o II •• HH — ' UJ X — ' 4 Ml Ml a lO II Ml M tm t- X INI INj V V. s. V O O Q » OX a t- UJ *■» -* •~ 1 • o a LO 4 •• II •• ** t— *^ (- o N. X _J Z _J -J _l II ■ • >- X (VI OOOOOOOO • * •s. in * a v hi a il II < H- CO CO * O M • ►- I— t •—i UJ • • Ml )C X X * V O UJ i^ Ml < < 4 a < • • i: < o o » a a a • • • • O O O M Lft V o CD *■* z z a a o o in • o * UJ •• »- o K X. M o X < (- • 1 UJ (- Z Z z t- X u. rsj « a o o o X ~* -* — i Ml • • • • • < • ii UJ UJ IIOUU • -^ II CO (VJ •* •— » X z ^* CO > UJ t- Q Ml O H- < IX a: X a < mi X ■NJ • • • o II II II II (M (VJ « o o X .— « UJ •• X X •• ii ii o II M II a II UJ O z ►- M LO 4 •» *- UJ II II • 1— 1 X UJ ►— X UJ X UJ ►- X a Q •• •- JQO (VI (VI (VI tl II II II II II ii II O I z II II Z UJ •• « O *- M CI h- 3 CO CO II •• 4 •• a LO X 4 LO ii •"' II O 4 X o 1- z UJ UJ UJ > u. u. •• •• II X 31 II ►- — II ^ II II II ii NXNQOKN -h (V) <•) i/i a o z D 00 UJ z 3 UJ UJ O CD 1^ o > LO — z UJ LlJ uJ UJ a 3 II •• i— (M r\j t- X INJ Q OQhhQQI/ll/)lfl z a »- (- ►- < X 4 4 I < X D a X I U- .4 <_> Q O X a Ml < o OJ I— ' o a • • z Ml X fvj o o o X > > > > > > z z z o > ►- < < < X X X X u. X o o < ►- r f- 4 O _l z < Q X ^> Ml CO p a z z u. ZOQt-»-»-000000000000 uj a X X o uj uj UJ CD a I •—i _l X o UJ o o T •— > •"" to o 1— h- X o ^LOLPLOLOir»LPinininin^^i0^^^^^ifi , o^^^^r^h*r"^^^oDoooooo x c>c>ci K x»L>^L> O-^MHJIdiON OOOOOOOO 55 oo co x jo — ct on lo in oo f\j oj r*~ r*- r- p~ go co o o o o o o o o o o o o o o o o o o r^r--r-x--to > 'r— o-oorvj-tooco-aD rnmn.tCratJ.icooooroninjO 0>CPOOOOOOO OOOOOOOOxxaxaXaxja-,.-»x ooooooooooooooo ooooooooooooooo ooooooooooooooo ooooooooooooooo NNSNowfOi/Micoicfflo>o(\]njir(r(rijii/iifnnuii/ioooo-in^N(j'0>T ooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooo — — (NJ (\J (\J OJ o o o o o o — — -^— «—• — —■ — —" — -^ — rvjojrvi ooooooooooooooo ooooooooooooooooooooooooooooooooooooo o o o o o o o o o o o o Cr-crcTOx-'vr r >atir*cr-ec _ ,-.-i.-a.-,»-pjpj(\joj<\JOJOJ(VI<\J ooooooooooooooo ooooooooooooooo ooooooooooooooo ooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooo 0~o-«fVjr-^u']-Ch-cro > o^«(\j(»i^ir»vcr^cco v O'-a r- .$ in Mnnnnnnncinn4*4'44j44-t4i/ii/ii/iirir>unri^ini/i>c*-of 1 c-c ooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooo LP M a * * a * a a p-a • (VI * (VI a aw * o r- •■ • fa aaa UJ (VI a o aW — * u or 00 aW > a — ■ * U o o • OJ V V » a pari u » aW W 00 ax .» X II II a-« a _J —. — 1 •» » — • — o >— -— II a» OJ FH » a or 1£ ac U lw> ^x aa« ^ - pal a. > > —* a a rvj Oj > o o <_> in 0- o o > a z 2 M» > * » * * o •* 0J o UJ or O • a _i ^x rvl a l_~ 1 r— + a. > * *r (VI 0J a _i < 0- 2 .» 2 UJ X o ?u <■ D (VJ <_> UJ > ^ ►— *: D •*ri <■ a < l_> a >- o •• Q >- 00 jr « r- UJ a ^J > z _ z> 0. m UJ Q a z z -w o a x-t a o UJ < h- a or ?• •— < »— « ~- > a 2 » ►- a »• ♦ o •• • » < a *— — • o x UJ UJ in UJ a~ a-« » La —a -^ D UJ 1 a 1 — 1 or I— 1 f ! UJ ii 0J in 5C V (VI 00 in oj in 00 a o o: or o ir Z 1 o •H 2 oo Oo » i- - < — i 1 i * (I aw a; < * UJ UJ » a-« or < a: < -^ u *a. *0 — 1 >- 1 5 Q < *. o a a UJ Or r- -* Q D -H Z> (VI •* •• uj or UJ Or u a z z> a + UJ aw o a*4 Z a-< or 1 Or « (_> — oo ♦ UJ + UJ z D r- V 2 »— i — ■— 1 ax | UJ ~- o t- ■• > o I 1 ♦ 00 < 1 r- 2 >- » m in o l ■«* •» o 1 •* a u. UJ — a * in in in xx T * a < ax o • 2 r— « o 2 •■ •■ » a (VJ < < • -- 00 00 • ■X UJ » •H — * Q a 0. in (VI »— a a *• .» fM a aW m a*. ^ > o » a-a aX r— a-a a 0: <~a 1.0 X rsi a— m z a 2 •— • m a ^^ — ■* a •• _ rr T UJ UJ a~ a. aa- < ^-. _w o II —a aa- •• — a o UJ UJ ~ < o o — ' < twl < in Q ■ • — « II ii ii xa aX » o I UJ a. r5 ^a 2 m \ Or z » r- » X a» » _l •» — Or * a a V a V \ X IX _J a UJ a •— ' z II o z „ II t— 2 Q_ a UJ < o UJ •X. x-i « a o a-a r- Z II (- a <— ) o o o UJ r- i— O UJ ^* Or — Q o •• •"• ~~ —^ 1 — II II UJ i— 3: r- or • 1 r- II M 2 1— ►— II or r- M or aaa • • • i Q O • 1 UJ a i— in II (- X- X- o 2 II h- z a. ►— ii UJ •> UJ _x o «J •■ rvj UJ < < • a II < ^ II a o 00 <\j ~- o r- i— -— « o 1— in in 3 < *— 1 xa — 3C < X. -• 2 — ►— i— II II • a •X. o ►— a a£ • • a. • • II II II • II ii II • •w* a ■— < a a. — ' — < -" X O UJ *r UJ UJ ax — . — 1 II Z II II o ii *m n " a UJ •** or UJ o UJ M o a a a UJ II a UJ t— .» t— O I- u. ■■< ax II ■ • o. • • •a- II • a 0. X. • a a i: r- aw oo W-i II aH 00 —* il -» a r- a r- •• o 2 2 2 1— •• c I < Q 3 o > u. m (\J UJ o o a a-^ O X uj o uj o aw a ^ m lO OO • • m m wa • • 2 3 D UJ -J UJ UJ uJ 3 UJ o >— Z a 2 a < U Oa. D our * z Q Q O t- O O r- a < < <-J OJ < < O oo »— » a 0. •• a. a 1— 1— r- a o _i UJ UJ 2 < O or > 00 o _i CC UJ a— UJ ^ O _J o _i a 2 or or > oo or Or > ~~ CO 2 a 2 o 2 o O uou I »- 1— >- 2 2 OUJUJOOUJUJOO a O _j O 2 O 2 o Q o a CJ 3 o <_> .■e * *J H> *> * (« J>» re i* * rO & * )« * * )« 0(1 & o __, (Vi m .» in Jj r^ CT CT> o aw (M n ^t m vc r~ CO CT- O _ 00 n at in •£> t^ CT 0> o _ Oo n J- in vd r^ CO (T o « oo n a* in aO h- co (T o — Ovl ro -t in o oj rvj nj (vi 00 (VI (VI 00 00 (vi m n n n r> i*) n i*i m n VC •£ 56 (jv^ui^oo«fvj^^r~^cooDoo(\jrin^iri/^>o^oDoo^ooftjfvj(\jrvifuPin*^o > ^o><»*^^^ff'ifiirinifiiriiriif>oDooCT> oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooeoooooooooooooooooooeeeooeooooooooooooooooooooo cooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo _ m — — — _ — „, m »m^ — _ m mm — -<^.««« — mm x — _, .— -HM^MM(vi(vjrvj(Vi(\irvj(Vi(\i(\j(\jrur\j(\ioj(Vj(\trvi(\i(\jr\j(\i(\jrvii\i(\jrvj ooooooooooooooooooooooooooooocoooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo o > o a > o U II o _l h- . UJ ■-« v > r •» t— ► -. -• a 3 r O 7 *t 2 M M »- O o >- o >-■ _J «J -> UJ O : > _i UJ UJ a _i > 3 < 1/1 o a a * 01 o a o » o or z _i z _i z — » t- » t- •■ l/l — a- m a m a. O I II II O I II II II II X O Q > 2 * < z o uj ■— a. h- 3 2 < ■3 a U. UJ a z x ci UJ UJ I II <-) z 3 o < u. ►- » < M UJ uj or o ►- < 1/1 a : -z o rsi 0. r* ►- j- a a UJ O UJ y- I ■> « z • z • or UJ « o » o • z UJ * I ►- * z o UJ 3 UJ 19 a •* >- * h- *: w < w < w aM.aa.Miiiw o a ii o a ii o a O Z •• O Z •• O Z _JuJUJ_JUJUJ_JUJ I- Q ►- O H- o o X X 3 UJ < l/l t- < II UJ •• * 3 l_> < Z I- _J _J 3 ~ _J Lt — ~ UJ UJ I— 1/1 UJ H I- II 1 I- UJ UJ UJ o o o < < b X z o o z _, M X >_ M i/; it I i/i ►- or i- or ►- or h- o z o z o z o V >-H > >-. >- M > X (/) X 1/1 X 1/1 X a. > o O Q -I UJ >- X 3 K» >-" < M U. H- O •» M (/) UJ U. »- < 3 o a x a O H O > >- II 2 -I -J UJ < 2 O "-> UJ 3 z o m tr _j i— en _i 3 3 < O l/l o a CD * UJ 3 2 (/)•»"-• «s rvj 3 a. o ... x or — UJ CD ~ K- 3 0. » 10 X < UJ I- * 3 o a CD 3 CO z >- o o Z 3 — O •- a. i- x O X or uj o o mo > i UJ — — < or O 3 >■ < t- or •» M UJ — o a. — m z a K UJ X CK I- UJ O H- ■> UJ — < > u. > > u. or o <— a. < Q U. 3 o a. z O O z o UJ a. .. o o — o O "J — u. t- o ► a — 2 •» UJ ►- o — < or «I I- II II < .. a * 2 — •» on — ^ a ii •• a o — z KUOUKU QOOI V O _J I- z o rn ,« ■* .* ,* \cr^ono v o-"fvirn^in\fir^ o--rvjr^*irsD^(rio^O'^(vri^iri<£)^-oDO*0'rr»-aio > '0'— Mn.ti/ijiMnoo-Mnjic 4*^)il^^^^^^^^^^^H)!C^l(oeltmlIa)0(^(^l^J(^0'(^0'(^oooooooooo'"-C (VI (VI ■© o o o ro ci .» MMMMMIM rvj oj rvj f\j f\j rvj oooooo o o o o o o o o o o o o o o o o o o ■* in in in lo in NNN rvj oj rvj o o © o o o o o o o o o oooooo o o o oooooo ooo oooooo ooo ^Mijoh r\j m .* (vi oj rvj — UJ o z V O _j o •- t- I I O a UJ .£>r-crcT>o— « mci* f\ji\j(Vif\j(*in r*> n ci (vi i\j m (Vi (vi ru t\j (vi rvi < O c/1 O or o • • • X o O CO z o X (VI •— O UJ cE to o t- 1"- l/l II — JT> UJ O O O UJ o o o 1- 1— or Ot- •■ a z o UJ < o l/l l/l ►- o o o z o z Z V o 1- l/l to o z O UJ or o 3* O • 3t -* fvj z ~« u. o o >c o O O — a> o 1— -o or • o ^ » UJ l/l UJ • O O CD UJ > (/) O UJ I o z o to D < o or ii a Z 1 <_> o to < »-• N. < t- _i t— T Z UJ • o z N UJ o or — m I to o « or CC UJ o o o a. — « or z O V z — o ii -» z a 3 O oniiiv C3 UJ UJ (\l CO _J UJ l/l t- O * o or ooo V -* UJ 1— o >- f- t- ii or < or o UJ UJ UJ ►-« O o O rsj ii -J X — Q _l UI II to i/i a ►-. T" UJ cr < T O 31 o ■i UJ >— a < >- Or t- ac oc •' — o a. u. »— * UJ »- _j i- < or uj ui < _j UJ o o o X -• cd at a: Or —> a I33UHI D O O < to o Z l/l to T UJ o 58 5.2 GLYPNIR Program I Kernels 59 ooooooooooooo©ooo©o©ooo©oo.»r^oc>-« — . r- in co ~ oooooooooooooooooooooooooooo«-^LOLO>ca3ooa- oooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooo o----«-.-<-Hf a. t— • » st I/) & <_> >■ a o D UJ a ^J ■— z z •- a u. >■ UJ _l o o in z a z UJ UJ x t- < t- a w < a a a < t a. (M <\l i- a - x o X UJ < *- a z o ■-■ I o a o a. u — .. a a z a X O » UJ I— < t- < a » a. » _ .. *; i/> ■— • H- 0. t— • I < ■— a a ►- o * h- O a uj a _l z < < UJ uj D a: ju o UJ o a as (\j O > o CM X a > • O » or » Q UJ O x x ► QOl/l » • z NDO- o x u in I— U_ » (/) ■ »»>-< xroa Q U. t- UJ z rvj 4- u, iv i/i , o < n » a 1/1 — ■ UJ z i\j • o o o » > in nj o < l/> • a Z f\) UJ O — • » o ru -• » in to -. < Z — or o <_) UJ » > » NO- O » i/l »- iSJ «I :> o a. o > UJ • o - X » O Q X Z >- o r> ■> > o O O £L -J a x st st • st •• st - z m » o X r\i -) <_> -> — or O UJ o 9 ce 9 z 9 UJ 9 — rt —. o 9 CD e 1— ^ 9 -3 z o 9 n ►-* • i/) 9 li- 3 Uj O z or o UJ — * — uj st a (\i uj Z or — rr co o o < < -. or z < t- in < Uj a _i no z < «t »- Ul uj a > _i < o O > CD o < CD 11 a a: cr < < a uj < UJ CL i a t- < 9 Z « o a « u a * — u. * u. » O 9 O or 9 GO r> 9 lA) Z — st — > st >-> — 5: o u. st O » St UJ w 3: o u. o + < T — Z » _) » — a ~) — St -i j s- •• •• II ►- " ...,.>.. or u. st _i m r\j _i — — st a x isi a. st < o o st II n st z > > st O O II n ii ii a -^ — •• O St X st — jj z> UJ i' a O UJ o :u 5" r i — * >— •■ st ~) : — st ii n z o Z II k— t •• •j n UJ o 30 >- yi a a a st z a uj o it o ^rvjrn^u^^i^ari^o-Hrvjro^in^i>-ffic>o^ruri>jirvDr , ^or)(>o--(\jrir\j.»inr^aDcoco ~«f\ic\Jf\lf\|f\jf\j,<\j<\i ooooooooo ooooooooo ooooooooo ooooooooo ooooooooo m m m m in m in in ^ w it o r>- ru er> r« p- m » m oj m o rvj oo o> oooooooo — — nnmmcfrcj'-" — n m m m *) -c -o m nnnnn«nnnnn«'>rir'ir'in.».»'<».jj)'.r.#.#.j' .* nnnnrinmmciriiriririrjriri.y.r.^.jj)'.*.*.*.* oooooooooooooooooooooooo oooooooooooooooooooooooo oooooooooooooooooooooooo oooooooooooooooooooooooo oooooooooooooooooooooooo o o ooooh- <*<#<*'#mminmminin in m in in in — • <\J <\J (M <\J M *© o 0'*<£>>o>**-o^i^f^r-f-f""^^f~h-t^®ocoD o oooooooooooooooooooooooo ooooooooo o oooooooooooooooooooooooo ooooooooo o oooooooooooooooooooooooo ooooooooo o o CO o o o o o m >* o o oooooooooooooooooooooooo o ooooooooooo o ooooooooooo n *m>or-«Dao — rvjn* CD CO CD flO ^D CD 00 0^ ^h ^h ^h ^h o ooooooooooo o ooooooooooo o ooooooooooo o ooooooooooo o o o o m * r» <0 o o o o » o o o o o o oc, 0> o o o o o o o o o o o 00 Cfr O «■« f\J Cfr o> o o © o o — — — o o o o o o o o o o o o o o o © o 00 o o ■o 00 o o o o O o o o o o O O o o o o O O ... * *» « ** * *^ (\j X fr- * it ~~ • it « » —< it a z •» UJ *— it o Q • W m * t— O • a i >— • 4 •* -J UJ ^ -1 UJ X * • *-» » 3 p^ * z ^^ z —« • _i •■ * o »— « at _l or — * a. uj — * UJ X »* Ul a. j- UJ _l • it o fr- « K #N it it u it fr- a it: O » > it ^ x a ee • — X UJ • H- ^^ it UJ M f« UJ •* « — » Q >— i »— i it X >-* »-• I a in -• O • O en •^ 1- to fr- ►- a • 0. -» X a ►-» 0. 1 •♦ * — a: » • ►- » 1/i u. a rt UJ i X u n •— • » ►- .^ or UJ 0. o UJ ►- z < o o o • uj a: •— • o Q ti Q •fr — t fr- —» a O 1 CC > O UJ Ifl O ^« fr- i ^ o + *— • o — I— • X a z X -» ■D o z it * X — a z o .— » * i- o < • *1 •^ it « - -I 1 « t—» X z —* o» m cr m z it — f * -i a -* •~ » z — Ul CD t z z it rvj * — jt -— « X -I — < |M ) -I ^^ Q D o ►— «w 0. a _i it it m cr 1- — o fr- ijC O m i o o -4 X * »- — it * M UJ cr _J Ul ee * X ii Ul a ui a or •-> m n CD ►- I— CD w * U. 1 •• CO X fr- a in fr- o fr- o i or 1 < — « o r*) Ul a ♦ a * • > z « fr- -^ O * i— i a ♦ »* UJ #* a • ►- 4 0* 1 m ui or -1 Q •» ^^ _J a — — Q -^ < O •— « F^ '— • fr- UJ Z < pH a -— . Ul a m ^ .— O — i « O CO *~« -^ -I 0m ee z Ul P* — z a X * — * X X UJ o r F^ a •— 1 (X U OJ •^ or a it — _i * it _J z o it it it —I — » UJ s» > <_) it UJ a it •— a ~ it UJ »-4 1- < it it it X J — * X » UJ ►— i— Ul a in • _ fr- UJ o » o Ul m 1/1 o i/i hatf U) I o < FX • '— X a a uj •— i or n it or Q ►— a a Q »— 1 o 1- >— z *r Ul it ►- a 1 Q i/l ►— I « O o » X * c/) O II 1 it a IT a — o a • + UJ 3 a a UJ UJ » Ul a. X u • • X w- o WJ -^ Ul a _i x + X i/i « «^ X a a < Q i » o OJ ♦ i/l X < u z a a. » <— « •— i •* *- > o o o z o " p-^ o < < » fr- a O »— » a it -* it i- -J •• u • > u T s X -j — a •» z a -^ • » UJ X fr- a it — x — a u o o » ># * -1 « «• Cl -J z t •♦ FH fr- ** — < uj o 3 -) •• — _i i — i it ■• *T _l O a < UJ p-4 i — i -1 — « it ^~ •♦ •• Ul > — « < ui ce z II »- z O a »— I— ►- •— < ii it It a Q z ■» ~ r-> -— II •^ *-^ it I > 3: (_> z a fr- «-< •• ■• Ul a a ce it —. T • • or _i w — ' ir _l •» *• * a > p- 1 T fr- ii UJ no. a a a a i- i— II *r z UJ UJ >- o »* h- X t— •• _l »— a NH tr a o II o «I '— •• 3 A 3 a ii r- ■ • Ul a z o (\J < (X tr Cr a. or it 1/1 II it n II U a •— • — (V w. 5 3 T3 <_) II II < II it II < ■^ ii ii 11 I fr- u z f^ •• LD t: • • o a ►- ►- ►- T r-> it V •« •» a O D Z 1— ( II ■ • i— • • w— a • • 1— II it •— .. •■ • • •♦ •» 3 II a. Hi a X UJ O z • • o o 5 X o a <3 a o * a o z z z a CD o x: * >t r— OJ I- o z n J- w it it m* <\J z z or «— 1 —* o li- UJ ' — i o ►— fr- o z a Ct — Ul Ul a 3 Ifl T 1— UJ tr i: u it V- o i- u, _i IT UJ CD ►- i- cc it it fr» fr" Ul UJ < I CO > (/I o UJ CD u -I CC r- fr- 5 UJ UJ T UJ c z UJ a « a a x o D UJ 1/1 30 i»o-ii\)nfiK en J-l/ILTUOLTiriLfllJOl/l m o-o--(\jpoj-i/iJDfr-ar!0 > >o-Hf\iri^rin^r>-oucfro-jr;»OvCJ3'X)>CJcj'£iJOfr*r»- r -f«*f^f*»fw^-r«*r« fc ooxao ao ji/ijiMiioc-fl aoocaDaocraDCfrCfrOCfrCfrcfrCfr or. cfr o — • rvi cfr Cfr o c o 61 ~t~tcoco— < OJ r\j oooooooooo oooooooooo oooooooooo oooooooooo oooooooooo oooooooooo — . in n ri r» r~ o o o o o o o o o o o-> n o o r^r--r^f^r-f»-r^h-r-ro>o^"«>acoM>ooDOJirivO'£i-j'-*(\io(\jcoina'(viir .»-».»-t.»-».*>».tP~r»-r-o>o>o>>ooO'-~ (viM**»rin*M^oooo f^^^f^^f^t^^^p^r*^^h*f^{DCOCOODQOCOCOODCOODO > '0*C?'C) s Cl*^C' s oooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooo — n in m <*> m & & o* o OJ 00 & &• o> o o o o o o — « — — . o o o o o o o o o o o o o o o o o o o o o o o o -*-»>* <•) — P4 o o o o o o oooooooooo oo oooooooooooooooooooooooooooooooo oooooooooo oo oooooooooooooooooooooooooooooooo rr^LO-cr^ooa-o — rvj r>-» Lnjjr^aDo^(V(^^ui*r-ooo>o«ooco*in-©r^cGO'0->Por>.jLPvOis- ooooooo— «-«.-< — ■ .-< -•-^^.^MMCuMrvjMfNjfMojojroommcor'ir'ir'irin-*.*-*-*"*-*-*-* o o o o o o o o o o o o x C o *-« f\.i rn •* ~» in in in in oooooooooo oooooooooo oooooooooo o o o o o o oooooooooooooooooooooooooooooooo ooooooooeooooooooooooooooooooooo oooooooooooooooooooooooooooooooo o o o o o o o o o o o o o o o o o 00 m o o o r\j o o -J — a. o X « X a * * » •• — * UJ >- — ^ — « * o ^ — * a * o *: • « -J ? * 2 ^r n UJ UJ a _i » ♦ * z *— • z UJ —* •— « ^w a » o Z •** Cl • ■i I s M4 QC _l M »-» *: m * * 4 Ul X a m uJ (J • 3 ** ^r 1£ r • o UJ + o x: H _^ * UJ X M + r- 1 u_ *: a •» ? u a o x. 9 (SI z ^ u. o M X « o OJ * o a k 1 z a • t- l/l «■ — . . o — ^ + a. 2 HN 2 a z l/l p^ ^^ 2 •^ *-< 2 < z UJ * t-H »— 1 (VJ -0 *— t _i a UJ cr z t— a o o rsj — i z a. •—i 1— O *— ~ a a CL a ■— 2 »c ISJ x- o <£> * o + in >— t ^ l/l cc Ul a _J a UD (VJ LO 13 + 1 CO Q CD rvj UJ Z a a X z Q ji LO uJ CO a rn < 1 Ct -ft + or UJ x 9 * « z > _J o •v LO in in * X O a o z 3 o u O * .— 1 l/l 0J in + —x o LO 3 x. UJ I a a o a >- (SI a in in o c „ i: CO a. o LU Ul 2 < *: ■• i- a u CO a •• Ln t— < *• II o Z •— • 2 l/l ^ u. a a. M r\j o LP Ln A 2 2 X. + Or LJ ** _j _i t- —^ T =i X- o UJ a en l/l O •s Ln •— t o < )C CL a UJ u. 3 O ■ a £ »• z a i/i a. a -~ in a Q z + ^~- 2 2 z o O or ■■ < i— o a *_ i < < in » » >— i X UJ UJ CK tf a CO • • •» —■ Z 1— Q z f— a o i/i o o •-» UJ FH -1 Cl • •• r h- •• UJ CO 3 — -. (\) * 2 Ul o a a. UJ UJ UJ z O * -) x^ LU — h i— •» ■• it: ••■ D l/l ZMO • • < II UJ k* o a t- •• 2 ■• w T < ■• o — 1 II X Q 2 II UJ o i/i — o o 7 — i >. >— ;* UJ or a UJ < cr O (\j rvi O UJ T •» ► ■■ ■"■ o — H o •• D y _ 1 u 7 UJ >- > c IX II o 3 CO a z _i a a ISJ X 1 -I UJ * o _l ■^ T 1- CC ir a o UJ u T •c O a a. >• r~- II 1 3 a *— 1 r> • in Q O o O 3 — « ■* >3 II a • < _j ** »— XL •• •* o 1— Cat- > XL ii X h- l/l a t— l_) _j • > > • o a- »« o 2 • • z i: II — ^ a o X. II X * •— i CL •» II MO o •*. •» X II a z> _J a o o o —* 13 •» K -J ll X. 1— 1 *: • • ^* ii UJ X. II *• a Cl. _J <* U- •• OJ >- r— i u. a o < » ~- ** t— •» • • II o a •• * •• II •» Ol o UJU II ii a a in ir •• UJ O a or <_> i— i II II ii II II ^^ li a _j i—* • • a. UJ a a i— UJ o •— i UJ •— i •• li II II •• O II •• o 2 < 'JL O c a CD a •• a 2 o CD o 2 a Q a O 2 Q Q tf! O •• 00 rl o z UJ a z o # a 3 l/l 2 fH (VJ m o- II ii * ■x. c o z UJ O u. *— O X. XL Z _j •— i a Z z — o O -i 1— >— 1— UJ 2 a l/l I/) *— « i— o CJ u (J UJ • • Ul « n * X -I _i •— i I- + 2 *— * X 2 X X UJ a a a UJ • o UJ CO Q z UJ a a a * o a O UJ CD z a O o 2 a o o 2 _j a a a o UJ CO c z Ul m 0 r>- CO o> o _ f\J n .* LP sD r- an o> o „ (\j ei J LO 03 f>- CO o o _ OJ n ^f in -£> fw 00 tr o — OJ 0"> -» in vC i^ cr a- o — OJ o o o o o o o l\J M fVJ (VJ (VJ (VJ <\J 00 OJ n m c-i n 00 rn m n m n * ^ ^f -> in in m 62 5.3 GLYPNIR Program II Kernels 63 ©oooooooooooooooooooooooooooo^i^oncr-c^co^o-ru OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO — — iriCOOOOMfVJfl oooooooooooooooooooooooooooooooooooo — — — — oooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooo oooooooooooooooooocooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooo * oooooooooooooocooooooooooooooooooooocooo oooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooocooo oooooooooooooooooooooooooooooooooooooooo o o o o o o o o o o o o o o —< fv n -j it vC r>- .» J a. 1— 1 * it 1/1 ~+ cj V a. -* 3 UJ _l _J > >■ or uj CO o cc UJ r 10 H- < _ ~ x z < m a: o o UJ O od or a a x UJ OJ (VJ a ■> o (V 1 X Q > o •■ - - oc m < a o o :> X UJ o O X » .. • o CO >-" (nj » Z ^o a o o — *- CIUlJl co » U. • CO < X • h- « a o x o a Z M -» U_ (\J CO • CJ < m ► a (/) — « UJ Z <\j » o o n • > rvj o «x CO » o: z ru uj (_> — • • o <\J — • CO co — < z — or • > » M O -* O ♦ CO >- M < > Q or O > UJ • o • x • o o x z »- O 3 > > o C O OD 0. (* it it •♦ z •• or z o. o ► h- < < or a. • CO t- ♦ a <* "-> — a ►- x < o or cu o z or >-• i- a U < < a. uj or z < 3 UJ o _J O O CD X < UJ it a or it » o » or »- it H- CO •» it <* J- » CL UJ u < * or » Z — « m » z O X — CO • •hlil (VJ ~> < _) o "> a cc » < -a z>- o uj < or _) UJ _) > < •- o UJ Z O CO or i- co o CO CO CD ooou < < < X o _i UJ a a o - o — o or o n a ii •• •• or UJ CO O CO _J UJ _l UJ CO UJ 3 — — I CO II II UJ •• •• x _) or UJ Q Z Z Z UJ UJ ►h r i UJ a. o r> _i — a _J JUO • UJ or z UJ z h- a uj z a •-• u. a. <-> u. » -» XI z * •— o * a o a a « u. « « z « o a * o a. » ~ u, * u. * Q UJ » z 3 * O or * co 3 * CO LU CC o CO 3 UJ * z — Or — z o •- o CO UJ i- CO ♦ X o - o < z I X. < ♦ z -> » -> — II II <\J (\J O _1 x n ii a < Q Q •• * Z > > * * o o z ■-« ii m ii a. a ►-•x o o o ic it -< i\j o o cu >t it u o _i _i CD U. 1 — it ^ X Z it t o co UJ CO a * z it UJ Q Z UJ O UJ UJ r * uj •-• ft* fw Iff t& tf* BR ff* &* "* ->(\jnji/i^)Mi)i>o«Mnji/ij)N aoc*0"HMf)jin^)NaiO'0 — Mnji/i\DNaiO'o « h- 3 O « 3 at •» O ac Q « rr 3 Z LU * CD 3 CO CO I Ffi Ifi * * t\) n * in >0 h- .#,*,»,»inininininmininininin •* oooooooooooooooooo o -r *>o>C'C'C>0'()on«M(io- • m in >c m — -< .» r>- a ~ o ooooooooooooooooooooooooo o ooooooooooooooooooooooooo o ooooooooooooooooooooooooo o ooooooooooooooooooooooooo o ooooooooooooooooooooooooo n — ~-«ojojojmr>n«.»-.*.*.»^<»ir>ininininminmin o ooooooooooooooooooooooooo t^ IT r» f» r- r» r» r» r»- (VJ *t in in in in in in in l» r» i«- !»■»>» f>- ^- r»- r- o o e o o o o o o o o o o o o o o o o o •• o o o o o o o o o o o o o o o o o o o o o o o o o <» n — ■--"Mnn n o o o o o o o o o oooooooooooooooooo o o ooooooooooooooooooooooooo o oooooooooooooooooo o o ooooooooooooooooooooooooo o h»oh ojro^m ^ in * f- aoo > ©»-'0jri.*ino y o««oj n -»-fintninininininmmin'£<£c^<£ »© >o >o>or'-^'^r > -i , -t , -*-r»r-r»aoeooBaoaococoooooaoo k o , o > »• oooooooooooooooooo o o ooooooooooooooooooooooooo o oooooooooooooooooo o o ooooooooooooooooooooooooo o oooooooooooooooooo o o ooooooooooooooooooooooooo o oooooooooooooooooo o o ooooooooooooooooooooooooo o o o o o o o o o t O CD (*i in in •* cc o o o o O O o o o o o o o o o o 0> o o o o o o o o r- r> r<- ^ o o o o o o o o o o o o o o o o o o o o o o m o «- O ^ O O t> o o o o o o o — — o o o o o o o o o o o o o o o o o o o o o 4 .-. «-. 2 II UI 2 or UJ if UJ I IS z z z IS UJ CD 2 ~ — I o if UJ *: rr — o m a — UJ 1 o < o 2 X if O * if x- — XT w O _J >-t _) rn 7> 2 o 2 II o n UJ u CO II •• or if II a •• o O n o — UJ H- a ♦ — • _l — ui -~ a _j o -" x: a O t- XT if X ♦ — *r _ — (/) jr — _i a • a ♦ • m I- ■— UJ h- cr X a I I * O ~ — *: X — — _ » cr _J l-l -4 ♦ a. -J Q tn •» a "< o a it >- x 4 — x; — • .- ~ « I -. .» ja- ♦ ♦ in ~< a if _J a. _l H- if a •• + a " it uj x: » r> >- x: o it — o to — o — — • » m » ► or — UO.XIU 4 h Q ♦ — O <~ X O — _J O X *: x or »- x St if ♦ ♦ a: » ic — — — X. >-. * _i — _i in n •» x: >- «- II »- a. k if or in •• or • ♦ oj a. »- n ii — *: l! xr .. M OJ — X ►- OP r*i x: ►- if UJ 2 cr UJ UJ X •» h- _J u. a. o * o 2 CTff'C-Mn^l/IOMBO'OrtMn*!/! -»^inLnmmmir>inmininc>o>c>o Q 2 Ui < 3 o rr cc 3 i/> U. o a z 2 o ~ 2 m < en o o ►- < 2 "J o uj a. i— o o a. a. - x > o > o o < UJ 2 2 3 « O >- or 3 (D O -D a in CD d in in ►- x x « •£ -J iC ♦ — K "-• 1£ m — a. « ► in uj a. a • o uj x a ► o — x a. -j »- i a. I nr ~ ♦ « z x ♦ is y: if uj — — CD « "- in m o a a o ► » UJ UJ — a o i o o < i X 2 » - • 2 cr UJ 1C a X — h- in a u. • o UJ o o o 2 X 2 -« r - — _j o ►- uj or CD o a. O *: if — •f «-t x m » a a o o « + I if ■x. n — . i— < ui * — — a _i •► -•• ^ — if x — ^ < if H- x UJ "- * in -> a — i a. —> ♦ _j >- ♦ x _i if a. yr if — it — w |/i ~ a in i a " — or • ♦• UJ _l o a o * X if 2 or UJ if •» » or •=■ o: o •♦ o h- x ►- oj < ii a y: cr ii in z •• — if — •• z x — U II II < II z •-> ii •• a •• ►- •• «- x •• o uj o if ■» it o — rvj UJifUif_l»-« h- if ♦ -> — ii — « •• o: _J _l H- O. — a. a if — if — it if if — if ii < — a •• h- < o UJ •- o z n UJ _l — (- • O UJ CD — O — m .j a t- ~ •» .. a • — UJ if _i o *: a no if oj m # •• X II if »- »- » •• — -• ii ii n ^ «— ^-t •• •• *• ••■ if CC X o — >- x: if -- oj z co cc y; if h- h- uj a 2 o z ^3Xir--r-r~r~r^r-^-r~-r-r^oDccoDaDcDaOcDct!DcDCO v C7- > Ct a. UJ 2 -• 2 I- m 3 O O UJ cc m * cc 3 o m o in ■D m UJ a UJ r CD o u 3: o > UJ X m UJ u. I- u. < >-■ -j a o o _l 2 < < U > > > or o o. < i/i >e s e o> o » ^ ^ ^ C^ ff oo 65 10 lO CO 00 — « L0 L0 vO O O — MM ooooooooooooo ooooooooooooo ooooooooooooo ooooooooooooo ooooooooooooo onmrn-j-tini/ii/iininirir ooooooooooooo (\JITN n n ni/i >c o* o o o o o _ — „ -m — ,. -- _m -HO>r-oMoop-r^-HO>* GOGOoO'-* 0*t7 s C7 s 0^0 > C7*0' s 0^0 f *0*0 , 'OO©OO mm mm mm OOOOOOOOOOO — ^-hmmmmmm-mmm ooooooooooooooooooo ooooooooooooooooooo ooooooooooooooooooo ooooooooooooooooooo ooooooooooooooooooo MM-** ___---_,.-,,-,,-. _ ■ n- o r»> m N-h-r-r>-N-f--r~f^r-ooo'-< MHXMKKpli» cc ff'OHiMnjir'CNeaeHUjri^ir^N cc a o -< m oooooooommmmmmmmmm -<>-»< mm MMMMMMMMMMMMdrPmnocicio f) r*> -» -J ■* ooooooooooooo ooooooooooooo n^ir-or-cru-o— z + N * 13 ^M * O Q. « z it a •• to ft z ^* X * Ml i^ * <"« s 10 z *r UJ * z w « NJ z •• z *r 1- * z (V * o o c w ft ■ MM a ft H- to •• M> u UJ MM 1 t o X ft Z to ■~ M II T a x 9m ft » UJ CD UJ .. ft » o o vC n * UJ M» cr ft — a « a a Q ** o ►- MM ►- a * •— ft u + lO a ■f in > < U Z » MM z » t- _l v in o O Z *— « UJ IS *: + M^ » z o M- in uj 1 l B •• t- * or UJ ♦ 1— UJ » *^ to (\J LO t- X •«: UJ < UJ * -3 CO < ^M < z « o rvl in o ♦ MM Q MM -J a z • h- Z it -1 a •— • ft a V »• O in ►- o X it o it UJ MM » < o 1 it •• UJ t- » u CD (_) ft .» m II o p ■a *: X * ^ z a z UJ • » at UJ o X to MM z a z UJ o o » * a „ u <\J — to o in M MM z l/l MM < UJ r O * a. ^ < < ¥ UJ I a: ft to to ►— o •s. LO (J 1 < MM ►— a .£ h» or • X 1 z a it •• it 1— CO ft to a z ft — in < it a a ••■ UJ X CD » UJ •♦ < ♦ »- W -3 ft •— « »— 1 o o — *■! _j < uj a Z II >- X UJ 1 to * •* •M M » + * X I UJ 1 ••■ # a. UJ UJ UJ Z (J ►- MM z • • » H- 3 < « K i/i M O ••■ MM < II UJ t- o < MM UJ « 1— •ft X •• •• X < > < n 1 (- II UJ a z UJ « at UJ u > -j » z MM • • H or Z Z i » UJ < or o I\J M O UJ OtLO II o < MM D Lt h- X « a. 1— > O CK ►- o II c_> u. k- Ml < ►- * z _l a ft NJ X 1 _l « n II Ms a. * or o II _i t- » 4 O ft a < II •• ■•J II o II -J N ft *— o m in OOOO M *: ii MM K MM t— o • UJ _J ft t- > a •• it II ^: • • •• o < u. ft h- o _J • > > • o mM * * _J II * ii &> MM UJ u. « z 3 MOO ii * *: • • if Ifi f*1 uj a o * 3 -I a o o O -" CD O Z ♦ LO *: Z o « MM z U M ►- •• MM ^M z II ft O < » w ** II cM a a a * UJ < UJ •- it M> « 1— ►-" -1 O II ii uj a a a co ^ •* ■— i it •• n» « or l_> *~* ii ii II II II 1- o o X * o a. < O O ►~ a # « -3 O < II ooo X < it Q 1— UJ ft CD 0. „M 4 o o Z UJ o h- i— O z < u. z « O UJ <_> • • NflOO o z uj a MM z < u_ o o » 3 to z M^ (\j <*> •» u a. _J _i t- H» x UJ UJ X UJ a UJ M» * or IB MM O O X _l _i i- t- 1- UJ a *— 1 o z « to to '- , i- U o UUIil o Q « CD ►- o o X UJ •» « MM o z o UJ z » O or UJ o « O UJ ••1 o cc UJ « « CO a. cc z UJ ft « a CO a X * * if) * Jfi # «B #>*# rd H> m n J in sC r^ cr o- o ^ <\j n * in >C N- 00 o>o« m n vf in j) 1^- oo 0> o „M m n j- Lfl ^5 f>- CD o- o — M ro ct LO >£> r>. co o o Ml OJ ro * to o o O o o o o o "* — MMMMMMMMMMroeiooonn r> in m J- -J -» * •» J- -» * * « in to in to to in 66 onr>-Mr^ — -jr-r)o^4 , (vjtv(oooo» cf> -* in oooooooooooooooooooooo oooooooooooooooooooooe oooooooooooooooooooooo oooooooooooooooooooooo roroororo(*>c*)f>f*>-^>^i/iiP'C«o«o» o o o o o oooooooooooooooooooooo oooo ooo o oooooooooooooooooooooo oooo ooo o >OMS(ro-'M*i^i/i-«MO'o-(\jri^irvCN »i>o-« <\j e> .* m inininin^)C'C4><£<£^Kr > -r>-r>r^r>r>r- r»r»cooo cocoao co ao oooooooooooooooooooooo oooo oooooooooooooooooooooo oooo oooooooooooooooooooooo oooo o o o o CO o UJ •-4 _- w z w X • a _J » — . UJ h- -?• -~ * ae U *: UJ ♦ + * X ♦ >- (V u * i u. * — # o • + •— • X l a M a a z *^ — i or *-• _) IVJ UJ fc •-« z a I- •• z z * 1 — a a 1— 1 *: in »- V o + rn CD « _i UJ N4 i_> < a o cc Q. 1 a -I ii z eft X + • z o UJ z or z ^^ i- in o im co UJ < co >« Q — > ■X- — - ^ a o _i •» o hH ■x ii •• in ♦ a o o X X ♦ •• ■* UJ 0m, z — ♦ o » * or U X »— l UJ UJ N-t — — 1— < < * 0. a. ^ a i z «-* Q. •-" 1 !■« z ♦ — z X 9 ►- »— < ♦ a < « * M X UJ UJ u. UJ h- X UJ * - z »■* ™) a • ■• X h- -» o Q •• (V 1 o < O UJ or •• » ~5 w UJ --4 1— <* »♦ O UJ 1 o or •» o a H- «-■ o II X a z II UJ o X D < or o T O •» < » ■• ** o -- a • • r> It! _l z »» -» «- Or z CO o UJ » I a o II _l i (- a ^ a ij Ct _i ^N >- =5 or D — » •» < ii ii •• a. ■— » < _i r*» »- x ♦ ♦ — ' II _l (/) a a «~ •■* o Z •• •• u *: II i— > a O it ii * * •— *■* _l • • o •• »- -I — II — *: <_> k • • ** ii UJ ii ii •• a a i- -^ UJ U. Li. < H- _J • • II z z z i •• + • • ii •• Ct Z o o Z II a- *- *— 1 • • -. a i— • a. — a a >— UJ — » UJ •-H •• ii ii II ■^ it •» «• ac X H- o o ooo I cr o Q. o X o •♦ i— o »5 If ii ii * * < o UJ O UJ o z UJ o u w o X. * z a _i •-• o < u. z .. uj •• ii * t: a _i m _l oo _i t- + X •— » X X ^ ^ UJ a a a. z a *— t UJ •» • O •• o UJ o o — O _j a Ul z z a x a o. cr UJ UJ or o o — • oj m j- r- r*- co oo co co co < o in o or o • • • * o O I/) z o X o ~~ O UJ o> in o y~ r^ in II -> r- uj O o (_) UJ V O O t- •— or o »- - a. 7 O UJ < o in in ►- o o o z o z z > o — in in o z O ui or o or in < ~t o x *-■ ■» n M mm u. o -* O O O t^ O a - • — - • uj in rvj • O O co uj a i/i O UJ x o > C in o < _j a ii a Z X o o in < p—t N. - O UJ uj — in _i uj in y- O ^ o cr o o u v a- UJ •— » c_i v r> 1- II tr < cr o UJ uj UJ »— « o o O isi ii -J X HH o _l UJ II in m T i— ■ T UJ rr «I T O X O • • UJ i- or < >- or t- or a • • a o uj o UJ < o z o _i cr o u. a l-H en o -• o a u. >— i UJ t- _j t- cr uj UJ < _j UJ o o o X — cc a cr a — a X D 3 (J 1- X OOO < m o z in in x UJ o 67 $.k ASK Program I Kernels 68 oooooooooooooooooooooooooo4Noni/ii/iuiirifii/MniriinLnuii/iuiinini/i^^ini/i OOOOOOOOOOOOOOOOOOOOOOOOOOOO--"— •—•—■ — —'•-•— • — —t — ____.-■_____ — oooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooo oooooeeooooooooooooooooeoeoooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooo ooooooocoooooooooooooooooooooooooooooooooooooooooo o^<-*^^^^ — #^ — — — — — — ** — — — — — (Vinj(vi(Vi(^(^^OfOf^("i(*if r )f r >(*)fO(*i(*)(*>(*)fO< , ')(*i( w l(*)f r )f*i(*)ci oooooooooooooooooooooooooooooooooooooooooooooooooo o o o o o © -< M n o o o o o o o o o o © o © © © OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOwi oooooooooooooooooaoooooooooQooooooooooooooooooo * i#\ .*■% »*- rr, r** *— , . /\ i #»s * if\ . /-\ •*_ /w. /^ *— * OOOOOOOOOOOOOOOOOOOOOOOOOOOO — ooooooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooooo I o or a < < z (M u. •»■ o o •• or u ** UJ o Z o ■» • O a n • • (*) 3 •— « n n- UJ 0» z z z o " H >- 0, 1— • » * 01 —< o >- or — * 3 UJ _l -J > > or UJ O o 4 I o 3 t— 10 or >r> tt) UJ > 3D UJ or u. < 1—1 w > 3 < O o V (_> z -> » < (/) 10 z .— ■ o < a: o z o a l\J * rvi Q * > O >- * • UJ <\j X * X 1- Q • > or o » » UJ » z » < or Q M* M o Q. or CD < a U.I > o Z X X Q z o o •■ UJ * z UJ v0 •■ •■ tn r * r M isi D Z y- UJ ►- 10 o z o ** • Or < t— u. (_> in Z o z a » * » 10 *— • ^ M )~ X z t- < < u. Mi »- fsl » (M 10 « UJ a LJ ony« c z * a z » p 1/1 • or t— * ►- or in UJ >- ^j z -< UJ z UJ < in t- » X o rvi o 9 t— ' »- a ■i < a » o n H o o z UJ -J- 1— » (VI > l/l -J rf* * a. UJ »— < »— k> UJ NJ 10 o UJ • • o z •■ o- ■*r y « a *— t z I n l\J ♦ U (VI UJ *: »— » » in UJ < i— a X » ^H *■ » t u. 3 ^ or * r Q _ O (VI »— » UJ u. t- < 00 UJ • lO » *r< r or u. HH a s— H >— z — < *: o »- •-H or » • o o — a. iT H z o 3 _i — * -H •♦ • » o UJ » 10 H^ < 1— Q. Z or INJ > » ^ o UI in CD I o a o o *- •» *: UJ a ►- UJ o -J UJ >— • ►— » LO 3 z -1 < t- ■i < > M < u < ^1 <- a 0. 1-4 ID Ui • a. or O Q or » 2 z « *» z t— 06 H^ •■ 9 » > UJ n •■ ^-4 to u. o 3 UJ 10 — t x O * u z 1- UJ • u o o or ui a. 1— o » O •■ » < _l 1-4 or 4 a. < • t- X 2 r\J -> 0. cr. « o UJ CD •» or a i— t > a r> O -5 < z 3 ir> 7 o >— o > o » z •-* UJ ■— < in z * i- o O OD i-^ ae < or > UJ t- •-• u o i— (_J UJ UI ■a o z 3 *i * UJ < _l O _l > cc, 1— • o o a > a. < _l UJ o < h- or i _( UJ UJ < >— O CD 3 Tl z «* -J I o _) z UI Z OD Q or « o 3 — or o < uj < < or —* < •a or in o o u. or ►- UJ UJ CD UJ * CD uj o o z QC _i 3 cr 00 O UI a Z> 10 cc a ui o ^- o u o o < X a 10 i— » a i or UJ O < < t- •a I t- a 3 a re i- CD u. ui LO 3 ••■ (VI OJ Q CO ■••»•»•♦•• CO CO ••• o xrvi< •• -«•►•» ro -j in .».*••■ — • — — • ^C >UJ II * Q II * <* rf»Q(«-»Ot/>t« oo>z •/» — — — w Z i— II II II < *■« — — (VI — (VI ~ ~— ►-iZ mo- - — < — (*)d«-(vi — m — '--' — oo ^ ^ — • IM UJ IM"-J"J , '-'-00<'» UJ^^OUUICDI-Q-KOI-QHO-O — Q CD 1 a >-<<_j«-i«ioQOC:_jQin_ic3 O _IOO_IOQr _!••<_! •- U. O Y- io u _i or — (vi(*i^m>f)^-cc(T>0'-< (vi(^^invn^coo^o^"(viri>»in^5r^coo > '0--(viri^in^)r^cro x o--(viri-*in\nr>-a'(>o „_^,„___^^^, (\j(ViOjoj(vi(V|(V (Vi(Vi(VifOrororo(^d(*l(*i(*>(^ •» >t -* -» -* -» -* -J -*■ -* in 69 incncncniriniPcnLncocncncnincncnL/icncoLncocncn ooooooooooooooooooooooo ooooooooooooooooooooooo ooooooooooooooooooooooo ooooooooooooooooooooooo ooooooooooooooooooooooo ooooooooooooooooooooooo ooooooooooooooooooooooo r^r^r^r^^t^r^^noininiru^iiiuiiPiPi/iiPuii/ii/ii/iLnini/iiriiP^u^LriLnLriiriLfi (Vjrvj(\j(\j(\j(Vj(\j^i/iN.r-h-r^-r~t«-^.r-r^h-r-f^r~r^r«.r~r-r«-^.r^f^r^r-.r^r^r^r»- oooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooo -■•"(viiviiviftinnnnrinnrinnnnnnnnnnririnnnnnnnnnn oooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooo ooooooooooooooooooooooo ooooooooooooooooooooooo ooooooooooooooooooooooo ooooooooooooooooooooooo ooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooo -*ir-cr-0f>-cc-fijc';-»ir*cr~a-a'O*-<<\jr'>~*irvcr"-cccj' r**f*-r*^-^^aoff?cDa)(CcoaccpcocD(j*^cT , o v (>OOOCT , (7 v oooooooooo OOOOOOOOOOOOOOOOOOOOOOOOOO— ' — — —• — — ~^— — — oooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooocooooo OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO'"*'"^''"* o o o in oj o o o o < o UJ UJ o o X •» oo u. ~ — < ...... O O (M O UJ OQ — • OJ — tA -* U » O •» O •• *» •» u O Q •» *» Q t* •* O •» — * t* m .— •* t^ *^ t* n •• a ia — .-» o or o o — oj •••»•• od t_> ~ co — < «~ m oj w--wm>' — o x z a Z — Z O Z ZCOZ — O ►- UJ Z crco_iorocDQ'-X — .» ¥ ro or UJ * z < LO >- it •» < z a ►- UJ n I— « + • i 4 m CD o n ~ •' co ►— Z < *: X ~ a u_ O * o ~) *: * XL ■x. CD a a a UJ o (/I 'Z, UJ CO z a 3 CL 1/1 r> z *• a. II • Cl z * t- > 2 o " UJ Q * ^ o » < l_> X O X X CO UJ CD UJ z *: * J^ * * w *? 4 UJ z t— .» _J j_. CD a a? .» « NH 3 n ►- co i •* -^ 1^ * CO J- z t« ** t* — . -~ — •• r\J »• ^^ 9 a ■D 1 • • < l-H m* *-* •— < o — . o #* •— < < '/i « a •-* » •» ■« m CO z II CO o -— ^* — m CO ^- — • o w O CO O t« < t#. CO < CO OJ » 3 M • ■ ro UJ — ■ —' — » M a o _l — _l ** a _1 t« a*»ii- I/) CO o n >- UJ CD »- Q ■-' *■» w •— O i- o z z »-4 UJ <_> Q »-H < _l _i or _l O O O O CO • • a. _l a co _i < or r CD o _i o o o o o a < or < o ►- o t- D Q t- Q t- ►- u 10 -I -J _l_J_IUOOO_l :> < a CO _l Ct _J CO a .. ,0 •• ~ x » or — • •• z «#> < *> — c>x>*o>o>£>vOvC^^>^f"'^^^"- r^^.f~r>-r>-r > -oocDooaoaoooooeooDoO!y , iJ > O v ChOC>oo , 0!? , oooooooooo 70 r~r-r-r^r>-r-r-r~r»r-r~r^r~t»r»-f~r-f»f>-r-r-r»h-r-h-^^r»r-'^-^r>-^r- oooo«)-»•».».».».».*.».»-».».*• oooooooooooooooooooooooooooooooooo oooooooooo — — — — —• — -"—• — — — —•—• — — oooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooo 0000000009000000000000000 0000000000000000000000000000000000 ooooooooooooooooooooooooo 0000000000000000000000000000000000 ooooooooooooooooooooooooo 0000000000000000000000000000000000 0000000000000000000000000000000000 o — (\jn^ir^ip-eDor^oDCT'0»-fvjr)^ir>of"OP^o — (vjn ooooooooooooooooooooooooo ooooooooooooooooooooooooo -tir^^ooO'O — Mn^ir^f^oocro — oj<*)^ifi u T UJ I- Z CD a Ld cr o > s a UJ 3 o or CD 3 .» .» n — — — « ,£) .. .. -, «r t* •• *H * ■• •» • rt •» t/i oj •» •• a: — < l/l O: CD *#» ro »p — • *-. < cr ^ i^ ►- <* # <««« 1— ►- rvj *» <#» — ■ Z Z — — Z X _1 < in jaairit jin< jo: OhO e>-_jocrooooo_) _i a _j jur ji/ij j j j ji .» .» (\J O UJ .. o •• — •»»(_) < •• •• O <« C) O •» O O •» •• .• _ rn .. .. rf> — ■ ^ I*) — !* —~UJ ••i/)o-»-»H-cri/) -»>i <_>>-« ~ooo~ nj t« ~ < CD ^*«nifl««i/)»n»<'OQ 1- >- *> & oc n — ae") a. n -» o x o Z z ►-zz — o — z — o t- UJ aaaci/> » > • < UJ 9 Z 3 * O a « LJJ « 1/1 X „ I -■» ¥• <-* *— * 1— ■ S£ l/l w a 1— * » (/) UJ a a » UJ x » -— X •* ■^ * (VJ _i —- H- H- ^~ » a. _J *■« ►- >— 1 or J^ «■, 1 en -^ a • X *■* 4 ¥ k H- V * UJ — ■ — * Tl (/) i/i a Q UJ » * U1 UJ UJ O .0 O •* O *« X I 0C II 1PG3 •► a' —> or ro o •* t- x h- •• o rvj < a * a «s II (/> z — *■ — — .. Z — * UJ l_> II II < II * > z Z — II ....►_.. w < -. »- x •• uj « 1/1 o f) n ■ o * -J * — < rvj h- ui -hmooj-j- UJ ¥ U * ►- « HliJUjait-Q— -■» — l-Ql-O a c *-«i_i_jo_joaco o _icoo_joa_lOO(_>U •* -» IT S -3 nC (\J O (\j o O r* *» *) ~ ~ c — . o — — 71 cococoaDaoooooaoaO(\jr--h-h-r^r--r--r^i^r^r--r'-r^f-h-f-h-r^ ini/>lflLOLriLflLninLOCDCD(X5C000CD000O0DCOCD(C0DCDCDC0'OCD oooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooo 00000000000000090000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 000000000000000000000000000 000000000000000000000000000 000000000000000000000000000 000000000000000000000000000 000000000000000000000000000 000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 o- o — (\jr>^irvfir^oc(j-o — <\jo-»iri©»-(v.'o,tin>oh-ooo > o \Of-r-r^r , »r^r»-r-r-r-r-aoaooooocoaoaoapaoaoo > o v o^o*o > 'O v o x o , 'O > >0>o OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOO ooooooooooooooooocooooooooo OOOOOOOOOHrt-iHHH--.--(UMI\JI\|(\|IMIMM rurvjrvjr\jrvjrvjrv/rjr>j(\jrvjr\j<\jf\j(\j(\jrvi\j OOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOO o — * o o UJ z or UJ z o o & CD O in z o u II o o z a: UJ UJ UJ X o — (\j in » O in > h- > or o >• < 0T h- IA UJ z z cc a CO _J in t in < to Q. t*> *4 cd a < O O Q > > •» •« • ♦ O ^ .. 00 — •► •• < — . .» o —1 <_>>-« o » — .. o o •* o *» •» o <_> h> < rvj .► >o •» •* t* n t« <• t« t* — •• CO t— » or •» • •• CO •• » in •» <-> -> o o ort*uj'- % ' ^ rf» h- Irt W h- h- Oh- o — o (\J >^ x zz z 2 z - Z — © ~-h- morcr_jorec_i 11 UJ z * h- M co 0. z z * ce O Uj 1— « « #r > ^ h- •> UJ CD * > IS) U — * or a UJ u. h- u. < l-> > O a Q I UJ •♦ * III — •» ■* IT »0 -* ■£) 1*3 * UJ _J <\j h- O iCMOOMQ ••■ 7 D —* M O >fi tfi tA »- ^ <_> « M 7 UJ M — ~ — O •* h- _l z 11 10 z .. — ~ O — O — Q O • •D O < < •• 3 — n -«-« OO — O — u Z z O UJ -^ O MOO J _l ~ 1- _J lil III * or co > (_> UJ UJ — — — h-OCOh-O no > > C DD _J<_>_l00300in tn or a a < O u o_joor0 •• _J > .» o o -~ (_> nO O t« ♦ — in (_)—•<« a uj x uj _i O Q t- o _i or iff <* # j* * eff .. » Or or in (« z < _i ct Oh IT _j or in OO- (\jnjl/l^)NCDO>0'-M(*l*lfl>Oh-CDO>0-<(VJ'*l*l/l^lSeDI>0 \Or--r^r^r^r--p>-r-N-i>-r-ooooaooocooocooooocoo > 'O v o^O v O N N o , 'O v o >> >, o -jrvjt\jrNjrvjf\jr\j(\j(\j(\jt\jrvji\jf\j 72 r»r-r^r > -f»-r"-r»r>-r"-r>-r*r-r»r>-r"-r-h-r-r-^r«-r-r'-f>- o > ^CT , ^O > ^^^>^«>c?>©—«(vim.»ui«£ir-coa©~ mo (M(\i(VI(VJ(VJ(\JOJ(VJ(\i(\l(M(VJ(\i(\)(\J(V(\jr\ilM(M(\)OJ(\i(\i oooooooooooooooooooooooo oooooooooooooooooooooooo oooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooo 4IT *Mtff o- iMn^iTi*Ncc(ro>" Oon-jLT-C r- co a © — rvi o .» iri >c r- ce (\irwrvj(\jr»jfvjojf\jfyrvi(Vjfvjftjr\jrvjrv)f»jr>jrvi(\j(Vfvjfyfvjru^fVJ(NJ^fUfvjfvjfvifvj^j ooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooo o o J- o (M o z IX UJ sc .. o rvi — o — •* o. x — UJ n t- _l l/l O Q (VI ■• a U UJ * I- z z a a _l 0D 5" CO < to UJ z a a o o _i < 1/1 i/i < < a a 1/1 ar a t- Q - * <*) o -. *> n — z _j a c _l _i x a to o «u o o * •- •» f. .. -& .. 1/1 _ m ~ or «* — — - co > an a UJ u. at 3 a 1- u. •* a l/l < >-> •» ** » UJ -J r\j •• u. z 3 t_) — — UJ O M 2 U D *> t- X 7 Z » 3 or Jl/I*- UJ UJ » 1/1 0. < o l/l I— i/> o z a z UJ 7 a UJ o z r>j a - x — — UJ — (VI t- (VI O •• • <_) > 00 > o a- < o * a a * h- > ►- IMDO Nh UJ Z <* •» ■"» U II II l/l » » o — ~o — II •• •• 3 O ~ 00 — .. rvi r> ujoo_j _l — -uuunr--^oiEKO O C U _l O C 3 O O O _J O Or « i/l Or < (J <_> _J O <_><-><_> O •» * w) c<"i\inj^^Mriffo- i\iivncinnnninnnn44J*'«'}44't'tirir rvj(vrur>jrv(vi(V(Vi(Vj(Vj(vrv'(\j(Vj(vi(V)fViru(V(Vi(V(V(vfvj (Vii^-*Lfi^f»onr>o— <(Vin^Lfi^)r-cr:cT>o—>(Viri>tif>'/if~-cccT>o — (\:( v i-.tin>f l/llPlfll/lUlLTiriP*C^sO'C^»0»0»0€«ONN^-NNSNNNP fc ICPXXXXX (Vi(Vj(Vjrvirvj(vi(virvj(Vj(vj(Vfvj(vi(Vi(vi(vi(V(Vj(Vioj(V(vir\^ 73 M M M M \0 m m m rvi tvi m m M M oj o o o o o o o o o o o o o o o <*> co r> n o o o o o o r)r>mrnronnor r )ro>o>Of^ooooeoo , o — m ro CD 0* 0* 0* 1 0* M (\J M M f\J o o o o o o o o © o o o o o o Q UJ * 2 2 III >- * « * Z> o • •• •♦ a. t— UJ ffl a QC o o a a. CE in « » H- * ••■ •* II u. « -~ *- UJ • • o * o o O UJ « w w o O # » H- X. u o « H- y •• » < _l o o » t- X ^ 2 in ►- UJ UJ » • * * * ■1 o a UJ 2 o ID to o a o z > -J o in o ♦ M X a o 2 3 O CD 3 o -I < u U1 2 i/l i-i — o o uj a cd I •• O M » M in o • > o O in in m in m in in in m in .» in — ji o in v in -. in < m o — UJ 2 •» T < mow x I -J a © o > • o o -« CD a •♦ o UJ •■ 3 — or — (/> 3 <\l M I co <_> o II w a UJ •a x X O M II tf> II o M Q O UJ <-> < _i a m — x I rvj m a* o — ► o f\j t* o.Mi\j(vi(vjM(*>n~-~-< a n n — Q .. ., z dm — m — -* — • o m o » M m M CO M CO O — MOO O O II t* O »(«*« t#( tf W — UJ 2 a UJ X tfl II II II II II — M r> >* U O O a < m ii .. UJ or o a. o u x 2 O K- O — < -I O in _i t- O I- — < — JOJ in _i in o CO < 3 o in i _i o i — o 1- o — < _J (J M ro .. — . o — o own w n w — — — & u o ri —. —. «^ »» ~ -. r> m t#» ~ * — .«,» — — — — on— *»~ — n _j — — — »- o — — «- » — <_> — n n — ►- »- o — — _i _j uauj — 2 — 02 0(TJHm o _i _ J o — CO CD CO O O M M M M M i\j»itfiri<)scD(>o>H(vin < »in«^*ii>o>N(vir)*ifl*s(DO>0' m r> o o o o o o m "3 — rvj rvj o -> .. -. — (V — •• ^ r*i *-< •* | *•* •» •* ■—« — ■ .. o U — i/l »— • o ~ < »_i (#>oi#>tra:o ro t— 2- ~ Z Z t >i 1/1 tfixjirnrxjui/xj O _l o 200C_ia^OP-QCO>- _l < _1 _i<_i_)5;_i<_ja_j_j_iQr 1/1 a o o a rvj r> z -~ z z z — uj »-_iaz — z -. _£. or_jorxoi.j_ior_JCDUJ m — i#( O — <"> on— i — o — ■ a u a uj T _) Z or in •— — x - cc a r> •• — t O D 3 » O ^» 1/1 II u. _ _ o - 'Z — ., # r — uj ui ►_ ►_ a- o ■• _j — O o c x _) >- <_> z t- l/l 1/1 UJ o z UJ z o o o NiO'O'-ivrijinoNoiao-Hwnjip^Notin'O'^ivwrfir^h-oci^o-'^n^uivDNiriTc-" rvi m -t in %r r^ cr a* ■}J4^nl/ll/ll/ll/lJl|/ll/ll^l/l^CJl^c*^OlD^ClCJ)^o^^^^^^^^>■^^IIl^l«lEflO(t(Eccx(^ff(J(J•U'al^o l a'J' nnnrnnnnnnnnnnnnnnnnririnnnnriinnririnrii'innr'irinnrinr.ni'innnnnnnn o — o o 75 5-5 ASK Program II Kernels 76 I Z o or b. o Z oooooooooooooooooooooooooooooo-t^ofiff-nomnnnnnnnnnronn OOOOOOOOOOOOOOOOOOOOOOOQOOOOOOOO**»4f')<*^<*<*<*<*<*<*-#<*-*<*-»-4''* oeoeoooooeoeoeooeoooeooeeoooooeoooooooooeeoooooooe oooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooo oooooeoooooooooooeoooeoeoooooooooooooooooeooooooee OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOQOOOOOOOOOO oooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooo eooooooooHMHXMx«4MXMAj(vj(yiMM(vt(\iiviivii\jnnnnnnnnnn4444 4't44't4in oooooooooooooooooooooooooooooooooooooooooooooooooo ooeoooooooooooooooooooooooooooooeoooooooeeeoeooooo oeooooooooeoeeeoeeoeeooooooeeoeoooooooooooooooooeo oooooooooooooooooooooooooooooooooooooooooooooooooo -I z a a. < z e> u. (VI o •« ft* * or UJ z ■« • o or n • • n ■» »■* m h- UJ z z z ~~ V 0. *— • If 1/) r-> cj >- or — « o UJ -J _J > > or UJ J < r 3 *- in or •c no UJ > x> UJ or u. < *" *~ V -3 < Q V to UJ » X > * » UJ _l (\J X -1 • X h- O ft u. * > • a or O < a. UJ LO * z a» > < 1-4 M UJ O or • co < z • z _ a to ft z UJ UJ z • z UJ sD » 3 O 1 ►— » * r m N Z z ft* CL i\j « (_> « ** < < * u. ft- IM r> » cr 7 or ■> 10 UJ •• UJ Q tO — Ui •*■ O ft* z « a •> •> Z (VI * *r ►- z •* « t- or z h> <\l <_><_>-» » 1—* uj or — ^ z UJ Z to UJ •- X » > in _J O ft- a. II * ft* t- t— 1 or ►» < a rvj < a O to z »» • • •* UJ » K •> to •• or x. tf» UJ UJ z or a. UJ CD z t— j- UJ M Z (VI UJ •jC •ft h" ft* II > » UJ UJ K ft O O — » » _l z or M UJ a a ft* b. ►- Z » N •> » u 1*) >— 1 ^ ft* UJ UJ _l to » to » ft- < n a X — * » uo z < U > UJ -J ■> u. 3 or «— 1 or 1— x O to — < *. a. UJ z z to UJ UJ u. z • or < » UJ • z — or •x » a uj o to » u. ►- _j 3 0. M 1— 1- O UJ » or _l »- ft* h- * O ft > » -t: 1— H- or to UJ 11 9 z UJ UJ en _i * ~* •» » MOM •~ x: < (/) UJ or uj •• •-* CO to UJ < ^H a Z or O •• en X ^-* cr <■ UJ 3 z CD ft- 2" a ►- M < < * UJ z U. UJ II CL ►- •- ft* O UJ 1— » > O IX » z —4 or •• Z * (J z> -~ >- -J _J H- < < O > UJ » z < u _l UJ a a D O < ft a ac ► O •• <_> X -^ z — X •«* z -* (V O UJ 1— * * * X » *-^ •■ ft ►- to or z h- u. 1 1 or UJ a l/l r* v X to <\J -) < UJ O UJ UJ * u. 03 or Q. ft- t— t- < s 0. _l u. co a T m ft* z — z> < UJ < • > > or » CD h- ^0 * UJ ft *ft to a. a a 1— » O UJ a* or z < K> f> z •-H •• O ^ • 1— UJ HH > •» »• •• •• •— < ft* <_> t- -l UJ _l < u. or _l UJ * z 3 X rvj II < ** •ft O ■-* ft* .» 4- tn — ,» ~» J* or UJ < -j < t- O > «► ft* O < • • -*. O co (V r- sOMOONO z O UJ > a. > *: uj f\J tA .ft uo«o O tftl o« «% 7 UJ D CO •• > z *ft ft* b« a* (/» -« — »— 1 a: _j z uj _l z •ft t- z a « ■D z «— • 11 II II 0. < «— » ft- *^ -* ^* (M . rvj — O < ►- < < CD CD CD < U CD or to ft* 1 to •» ft* (VI -» m ~ n ~ ~ — (V (VI -» (VI UJ O u. cr z UJ UJ OOO ft* CL u. tn *: i: •* (VI UJ _l _J w (VJ — <\j — — (VI _l • _J — CD or O or _) =3 t- _i _l -1 to to _l _l _l u ***** * * * * * * ft*(\jri-*LO.i3r^oo^o>*ojri^Lnor-®^o-*(>j(^ -*ft--*-*^ft*-*«ft*-*r»j(vi(vi(Vi(vi(Vi(Vi(vi(vi(vi(nn(^( , >(*)i*ii»)(*)ri'*ij' -» * .* -» ^ ^ ** -» -» to 77 oooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooo 00000000000000000000000000000000 mx r^r^rocoroo'iroc'icTcc^ooooooojooooooooOoojoooooooo O OOOOOOOO— <-«—•»-<'- — ^— •—>—•-<-• — -< — — -h o ooooooooooooooooooooooooo o ooooooooooooooooooooooooo o ooooooooooooooooooooooooo o ooooooooooooooooooooooooo o ooooooooooooooooooooooooo o ooooooooooooooooooooooooo oooooooooooooooooooooooooooooooo o oooooooooooooooooooooooooooooooo o — rvjr>^iri > cr-«(T-o-«(\.n^ir>£ir~eD»o»-cr>-oco>o — fvj m iPuiini/"iir>inini/iir>vO^'©vONO>0'fio-f>-r»r»r^f-r».f^r , »r»a)coco oo oooooooooooooooooooooooooooooooo o oooooooooooooooooooooooooooooooo o oooooooooooooooooooooooooooooooo o oooooooooooooooooooooooooooooooo o ooooooooooooooooooooooooo ooooooooooooooooooooooooo -j-ir>or-«>0'o — Nn^iTvCMta o- oo n .* in >c r- cc COCCCOOOOOCOO*CfiCJ*C} h C3 fc O > CT'lTC^CT'000000000 oooooooooooooooo>-«— <—«-" — —< — —•-> ooooooooooooooooooooooooo ooooooooooooooooooooooooo ooooooooooooooooooooooooo z o < o UJ < UJ r * ^ 3- Ct M< " _J _l -J » CD UJ M-i — « LU UJ UJ ►- I/) MX 2 z 2 9 • » a MX Cr rt a 1— z + 1 Ul UJ Ul 3 < "3 ^ Or *• X X UJ z * O CD 2 _i + ►- UJ UJ UJ M i— ( o II Z -H *: • r X r a h- » ►- u • • >- X w- n t- fr- i- z UJ 3 O * z < ir o * UJ Sd on •> U. it. •» u. or o ^ X >- a M 3 o o 00 o ♦ CO o UJ .. O l/l + »- UD o M» Q Q < 2 2 o ^^ * o > o • • 1 Q + t— 1 Z 2 •» o # It a Q o < O »— < Ul >x MM! • M Q < M— 2 X X a O a •M. o •» * z <■ UJ X » • X •> UJ UJ o o u. *: UJ z i: PH MX i: a X ■• •« CD — < u. •• UJ »-H i' •> ** •— * •■ ■• •• O CO .• ., ■p 11 u MM- MM »X *? z t- o _l •— • _i ** • » o •M •• o >* • » MVrt ff CO i\j vO .* 3 |» CT MX •«- o ♦ • t— 1 o •» II t- L/l •> •• ■s Ul MX >-► * MX ^ DUO ■X u .» o MM mm4 t/1 •» ••■ o •X o no * * 1- o n .. ct a CC xC rv. c a 00 o O ^ to rc MX rft O tfl .* l/l Q tt M t*> «M> Q i« l_J *Mj ro O .» •« o »» i*. •» <_> M> II « z> or on *: O t« t* t« & o ■#* O *-* M —. M m I") o Hfl m o .O >/> — M •■ n >« •*■ .— _ t* m-m UJ MM M* o CD z ll UJ Z t^i — * •* *" ^ ■— 1 MM ** o M»j ■X •Mi -* u ■« • » — * M t or u -». in o n oj a »-< o 9 cr 3 (_> a •• l/l MX o --" »MM c *— ** MX < l/l • » M ~ O — < Mi rn O O o t* •• in < o a a KMt IE t* s« •« #MJ m w ■— w «MM M-» o X z CD l/l 2 ii o 3 O »X *x o O "M" o O LA o •MM a »• MX — O ~ o O 1*1 ~- ~ ri o: i^ >/» « *» M n •o _i m — « o o »X X o X. UJ e D "—i •• O ri UJ o _l ~ ** _J — x" 0. _j — i ►— D — O -J — 1 a 2 O ~- 2 •~ 2 2 w o 2 mm* ►" iL l/l i/> o n _l i- UJ CC *x 1- Q Q t— O Q *- 2 O _J O in _i o a. o in _i a X ex in CO j < _J -J CE a X JQCC CO < JJD «■ •■H UJ <_> c _l o o o O Q O tn •• _J -(jX 2 r CC o Q cc < < a < < O l- Q cr Q 1— U _J o _l Li. _i u < (_> _l _l I JJJJ4 _j _i or < i _l _JU«_ll/l_J>-liJ h- o JUU o u <_) u _l > Q -I tn _l in xMn^ui>OMr)OoxMnjiflj)Nai(fox(\jnjin*senO'OxM LOiriLrLOLriLOLnLOLOiOvOiOvOJjiO>OiONOvDf^r--t^r»-f^r^r>-r«-r»r«-cococo rfimiNiiiO'OxMnjKivDNaiO'oxnjn.tifijisir COQOCOCDCDCOCTiCTCTCT'CTCTC^OCTiCT'OOOOOOOOO 78 ojf>jj<\j^4(Nj(\jf\jf>jf^ o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o © © o ooooooooo ooooooooo ooooooooo ooooooooo ooooooooo ooooooooo o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo o o o o o ooooooooooooooooooooooooooooooooooooooooooooooooooooooo (ro-« (vn^u^vcr^oc<7'0«(\jn^ir-(\)f r )^irxir-ccO'0«(\jr)4ir*^-oDO'o»"(vj«*)^ir> a. i | .» .» — .. .« (/) rf> 1— l/l r\J •-•«-«•»«» >-i >o •» vO •» (\J vO t* — i ►iq: — . .»„_.._ *« in a » i/> i/i i/> ec i/> » •• •» -o •• •» •••a:— • •» i/i m •* • •• s i » cr -- •» •• ~ a. * •» ^t-a: •• a - a; *» ~ r> < (V » ..j *> » a « t/> i- ^ t- t* *» t* * & rr * M » H- ** b» * o .»•••» ar <* — <#* ►— h **h ~ >- x •• n Z Z Z Z — Q < ~ «so:Q:Q:a)i/) — •' •* •— — ouJ l/lo~ O a. * (\j o 5 o Z i- o Otl/l< J J J _l O t- h- I- X Q 5" _i l/l I/) l/> t- Z 79 o o o o _ «^-«^.-H«--rvj(vj(vi(Virvj(Vjrvjrvj(Vj(Vjoochi>i?-(? 1 (7 , 000(7 , <7'OOOooooooo— .—,,— — — — »-«.-«,— h*(vi(\ji\j(\j(\j(Vj<\i _ _ _ _ _ _ _ _ _ _ _ _ M HHMiHiKaoNiMM ««^« — — ^rNj(\j(\jojrvjf\jrvojrvjrg(\jrvj<\j(\jfufNjrvi(\j(\j(\jrvjr\j(\i(\jr«j(\jf\j oooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooo — 1 Cf" a- oo :> o < UJ z c 7 aJ * « # 2 o • ft I- * < or * o > 2 » I— * r •♦ or » ~ Ul CD K- « 2 * ►- * o uj Q. t- * U O a. a. » — r > o » > o o * < UJ 2 » >-l UJ I- * 23 "- o » t- or D CO * O 3 a. to * X 3 CO * 1/1 •-» X 2: » * *% * *~ HI _) eft ♦ a. K » M- UJ *- Q M O l/l r Q. » • ■^ UJ •• ** a F^ _i o 1— ►- X * or » (VI 2 I — * O * UJ — JO — I/) o a •■ UJ -• Q 1 O < I l/l Q. UJ Q O I 2 ~ «-) I © (VJ to < 2 2 CJ I II II •• II or h- «• >- x or a jt h- — it or II < II .. i- .. UJ <\l CO O < * ui * > o > _J o < © •• "■» n to ► a or * m or O or h- ~» •♦ CD •♦ •» WUJ-M Wrt< h- h- ►- tfil 2 2 2 i or or CD < or to to CD _J Q t- CD I- O : to i _i to to to _i — <\j © — «-■ to to a a. * 2 < or O CD _t to o .. < or *> 2 or x _i JOh r _i or i •» to to •* or t« a < i/i * t* 2 < o: or to O o a o _j < _j _i 1 -i — o to t#> •» a or * — *» (VI 2 — < or _i o co a _j to _l # * i* * -^ (VJ (*1 * r«- i>- r^ r~ to^r^co^o-^^r^^i^vC^ooo^OH-^M^LO^^eoo^OH-lVJ^^LOvCr^oD^o^^^^Ln^f^co^o t^K.h.r , >-^nocoaDODCDoDeooooocotT v t>t>o N > 'O x tT , t>C' v t>©o©©©©©o©©- H ' - '^'-' ^<^«^<— <-<-<(vj(vi(Vj(\jrvj(\j(Vj MHMHrtnrtnMM^MMMMMM«MHHHrtMH|V||\J|\J(VjlMI\J(Vll\jlVllM(VIIVJl\JlVjMIVllMMIVJMMM(\lM(\lMM 80 r»r>-r-f-f-r>-p-Kr-r»-r-^r*-r-f~'f»>r'-r»f»r» s 0* O* O* 0** 0* C^ 0^ 9* 0^ 0^ O* 0* 9 1 C^ G* 0^ 0^ 0* 0^ (\J(M(VJ(\J(M(M(Vjrvi(M(\i(\i(\J(\J(M(VII\J(VJ(\tOJ(M oooooooooooooooooeoo oooooooooooooooooooo oooooooooooooooooooo oooooooooooooooooooo oooooooooooooooooooo ooooooooooooooeoeoeo \n h-t«-h-r-h-h>h-r^ot\jr-o«er)nnr)nr)nnr)Mn»*)nr>nr)r)r>nr)ennr)n o ooooooooooooooooooooooooooooooooooooo o ooooooooooooooooooooooooooooooooooooo e OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO O OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO o oooooeooooooooooooooooooooooooooooooo •• •• •• •• •• t* •• •• •• •• •• •• •••••••• ♦• •• •• •• •• •• •• •• •• •• •• •• •• •• •• •• •• •• •• •• •• •• o oooooooooooooooeooooooooooooooooooooo oooooooooooooooooooo oooooooooooooooooooo r-jLr>>«r^(DO'O — m r> •» X> — O • II O «■ Q * •» - .. •• i* n * «»—uj>-' in .. u .» —nooT ^.►ct—i^oj — n — — Oi: z — z - a t- (txi^ jia jq< jo aoooo.jaoj(vi(vjM(\jr\j(\jM * > a * a UJ z * i-i H- » 3 O * or CD Z * 3 « (/) O * UJ CD 3 in UJ or UJ r CD o a: o > < • _i > 3 > o o _J < < u o z • < CO 3 U. l/l u. i/> o X u. t- o a > o •• * ~ m ► II -< n u u > •• O •"■ t o ru > — o <_> « o a z t- < i ii — * _j o a ~ » ii UJ M •• H- ~i ». -• o z a ii -« » « H> X ~« « •- u a. in •♦ * uj z i/> ~ 3 O •• UJ _) UJ CD Q X O Q U -I •* J/1 .. .. o — Q OJ a a o — — -. o «•» — •~~»ooo — o© O J — «- — J — h- o o o a < i u u CD H- 3 O i/) or u o a a a a < < o — m I/) w < a < k a UJ -I to •• Q > _j or a o Q •» - Z Jtt O _J -I X o >o >-" — • •♦ «• » | .» .» » 3r < a jo •* Z ax ji mjngOj(\jrvjfvjr'«p-occro-<<\jr)«»ir dl(CC0S)ffi^^^^{MMMM^I^OOOOOO MtviMfvjrvjivjojMfvjojrvjMOjfvjiNjnriPonno ooooooooooooooooooooo ooooooooooooooooooooo ooooooooooooooooooooo •» a) ■O ■£' ■* -t o o o o o o o o o o m r> o o o o o o vO f»- o o m r> o o o o o o o o o o o o in in (Vi M Q *& ^ QD *& S ^ & if* & & O* & & & & & & & O* O* & O* & &* &< O* & -»-*-»-»-*-»-»-*-* , >* , -»-»ininininmmmmmininmininininmmminininm ooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooocooo ao'o-Ot*~ CO -i Z Z i/» ~ < W — .» < <_> lu uj -Q< JOQ zm<_i_)- •» O ~m •» lu or UJ > — (VI 3 CD •» uj a UJ 1 or 3 — H ••> a a o < t- CO H «* A _i » or 2 ll QOO •» »* i— •■ u. (* O — #% #« LU ll -l UJ o t* < •» m o o •• a a — t- ,-. w «■» O -. UJ o * n — uj n (J z o 2 z — LU ~- a. ►- -< * •» •* _l UJ < u IJOK o O Q O >- _J O X 2 < u. 2 Z _l _J to o o »- WlM LU UJ • UJ o • or UJ — » 3 co a. I— z « < O UJ * or a >- UJ * « a. ~ (VI * z i a. » UJ •» < z * h- ■• M> t— « — 2 LU « «• -H -< (VI •■ H- 9 »— m • 2 (VI O •» *H » ce UJ u. — <_>;> _l ► LO a. ►- U_ i- > o or t~ O < » < ►-» < o » a < ii a. UJ _i a a • i- > a •• i- O 2 3 ii rvi a o ii it S NH o o •• (VI 1- UJ * (— _l 2 LU O II ii lu Q. m « 3 < < Q II •• •• O O 3 9 O 2 O o •• (vi n o o » or .— • 1— z — u o Z _l UJ « CD o »- > o Q 3 UJ or o O to CD a < O ■> UJ Z a LU UJ r li- es O LU .» .. o •• — o — •• .» in —• >o -» — 0(VlOOO(VIOQ Q lAlA M »* <« Z t* ~ ~ »— i •• o -~ ~ ~* o ~~ ~ 0~-~ — 000»-00 WOO J-~- J-» CD hOOBhQQ 0-10003000 _jdor< 'o-H(Vjro^invor~oDO > -o — (vici-^m ON(r(>o^(o oo"<».».rt-.»a , C»*OOC*C*-*<\IMC»>.*.#.»in>0«r-00>0000©00©©00©©00©00©0000 inininininmininin^>ao>oe'0 «-^-h-r»f»f»r-r>-r-r»f>.r»-r»f^ ooooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooo -.0000000000000000000000000000000000 OOOOOOOOOOO 1 OOOOOOOOOOO 00 ooooooooooo OO -j-~»-*-»-»-*-»i/>i/>inin in in OOOOOOOOOOO -O O OOOOOOOOOOO OO OOOOOOOOOOO OO O OO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCOC ■c r-~ co o- o ~ (vn-jLTi^Of^ooao-'Ovin^iri^cr-crao — cvm-jir^r^cco-o-- m^^itcmi^o 000000000000000000000000000000000000000000000 OOOOQOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO N IV UJ Or •» (V) UJ I Z> < a z oB — — 000"0 ~(#>»-ft*>~ — O— >UJ — 1-1- »- 3: l_> z ~ Z Z h- ** *: •» _jctQ:aa<_jc:»- c o_joi-oi-xz«u.z _i s _jin-uja.>-iuj 3 o .. ac lu in 3 3 a: i/i ►- 11 u. •• o UJ O IP o a: — o z * Z a O « ~- » ^ * < e 3 Q 9 z « UJ 9 » *• in CO 0m 2 » • rsi z •• u 9 » t- i/- •» —* < 9 Z m *« -* * » t— « 1— 1 OJ ~0 a 9 O INI — ■« a 9 a ft a »■■ » 9 + in _i 9 a rvj IT a 9 » z >< J"l » 9 X H* a in »-H 5 > ~- J1 a * ►- -J V in * 9 z O — LO N 9 1— 1 in oj LP 9 N LP UJ * a > O LP •• O in 9 (_> T •♦ UO -~ O ^> 3 a CM ~* in »— « ••■ 9 •^ 1— t X O LP •» a <— • ** 9 l/l 1/) a V. lT * 1 ro 9 1/) a. « «« LP — * UJ < OJ 9 1— 1 •3 < Lfl »— • z 1 9 in lD O ■— a •• • cc 9 a UJ UJ UJ Z * X _i »-" — ^ 9 H- '* z • » •» z < •» • • t— » ■* 9 UJ < nc O M (VI UJ — « —* «j 9 z _l ft « rsj X 1 -I LU — -^ a cr 9 •—1 3 m iflQQ 3 _i _j 11 II a 9 h- O _J • > > • O (X 1- K •• • • < 9 3 _j a OOO ~* x> ••■ 1- a ac m* •• * 9 O < » »■» <■* < ♦ + Z Z UJ 9 a — < II II II II II z 11 _i a PH a t— < > 9 CD ft •• »- 11 < 9 3 z in ^H (\j O -» II 11 n < .. UJ ^> 9 in »— » in t- (_> O U UJ • • UJ •• •• ft _i CD 9 1— « Z UJ 9 UJ O ►-< t— 1 _j a 9 cr ft. ft I a z a a o cvj O a .. •» •• •• ^ •• •• c> •• •• •• •» •* •• D c\J CO ~* <*) O O •♦•••» O O •• O •»>'-* O C\.' .. _x3rviO— II (/tOOvCCMOOOOrMOcnOO II tf> (fl — — ftC\jf\j(Vjr\jrO' v 1'*)»- — «»«.^-h-«~»-^-»^h^^« — n-«_i •«-_! — t-Of-OH-OT ►-OTOOI-OCC— t-Q x«uijououinm_i o UJ CD u rjirjiNCTO'O'Hivjri -»-*-j-».».».»inirLnin ^ in in in ^r^ccoo — r\j(^vtLn^r-crc>o»-r\jpi>»in*^cPe>o-»ivcn.*in>jDr~cnr>o-<^f»i*!nvcr^o^^^^vOf^K^^^^^^^f w flOoococccocoaoccs)XC7 s cj > c>cj > cj v cj , tT'0'(j'J'o nnnnnnnfinnnnnnnrinnnnnroi , )ririririnnMf , innnmnnr,ni , innnn4 83 oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooocooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooo - oesesooooooeaoooooooooooooooooc© ooooooooooo ooooooooooo— ooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooooooooooo oooeeooooeeoeoeoooooooooooooooooooooooooooooooooooooo z UJ a UJ X o o z z z i» ■« O — <*) — UJ v0 .. — i o • MM DO •« •♦ OJ .» o .. .» r> — > — • (ViOO n •» -n o — M M o ► (* <* ■» * • • r> . o o w» <*> ~i ,. (\J .. O tA UJ ** -~ •» <_> «« m * — U (VI •» — ' k« 3: —4 m (« o © * — •» ►-• #* --* -— — . n 10 * -» • — o — < ^ i— ** IMi #4 o m •~ ^ _ „ ro — oo » <\j m a ei m o ►— ^* w w o -~ o -h n m — tv — «• t* or — _l _l o a. UJ — z — o z — or t- »— 1 1 - O (- — tn_IQOOOQQ_JQ _l l/> _l _l OJ J JIJU0 JUJ •» Q (VJ -« * ~ o I -H t* — .» (\J .» o •♦ M O —.» «W»~0 •«■ O •»vOQ •- •• t* ci -« •• l ^«» o»«n o o — to ► — ►CEOlOWU »_j **o*ctor-«©-. r ~ z z o cd z - z z z crx_iceaorx_JOco:Dt/i<_ia:_iQrxcE_j_ior QQQ_)QOO>-<0(/>QOh-OQ_IQQQQ-l C O n •• » w n o <-> o co o *» »« ii ~ n a z - z r or co _i or o x < c CD ") to or _) to .» CO < o m (^ t/* ■o II n "i < ~x in < <_; _j i i a h- o to _i to O o rt(\jri^in^scoo»o«wn*i/iiCN*o>o«i\i^*i/i>or > -aii>0'»(vin.*i/i^)h-iiO | 0'"i\ji*i»i/iiCf~oD(>o ooooooooo — — -« «»« — ^«««rvj(>j(Nj(\j(Vjoj(\jr\j(>jfVjrnrororo(n(Ofnrofon^^^^^-**>t^*uiifitni/iirifiuiiriir Qk oooooooooooooooooooorvj ooooooooooooooooooooo ooooooooooooooooooooo ooooooooooooooooooooo ooooooooooooooooooooo ooooooooooooooooooooo ooooooooooooooooooooo j- oo vO •£ vD n it in en in r»- r- r- r^ 1- o o o o o o o o o o o o o o o •• •• o o o o o o o o o o •• •• n n — — t —4 o o o o o ooooooooooooooooooooo oo ooo ooooooooooooooooooooo oo coo -«f\j<"-.*iri -<\jr!.»ui0'C^vOvOX' • • i* X w UJ UJ ii _J • • O or 0. o a UJ _i **• * (— »- or O •• O UJ a. r _i 2: UJ C/1 X _l X X _l X a -I — o o ~* UJ o # D u o o o •— i ►- O Q 1— i t— t- a h- X _i i- !J 2 o u. -i u _j _i X CO _| _| X to 0T _l l/) 1- U0 CO p«< *r •• z •► o • •• a 1- c Q Q *. 2 <3 u 2 z Q Z sD UJ a >— < UJ UJ Z UJ r»i UJ CD O * rfl O CO O Z O UJ o h- II •-> n uj u o ►- z <_> < CO h- cD 7 z >• •-1 co z a a < e •» Ifl m u. o o o —■re. m^iOynr^aroo-HMf^-rfiPv/it^apoo-^ (\l 00 >* if) & ac ao at co ec •4- -a- ~J ~J -J or » UJ '71 CO UJ 5 ID 77 < 2 X '- , • Q o Or o <3 o CJ o II •o O oc UJ ■3 t— o CJ O UJ t- II UJ UJ O NJ — . LO LO IT o r or < or rr Ul C o u. rr o a a UJ UJ u ■x a I 3 D O Z CO < o CO a or o • * o z ^4 ■-« - uj o CJ c c x • a UJ Q CO O Q CJ Z O CO o O UJ or co o » n fH o o ^ o • OO < o » (VI • O Q CD CO O UJ o c co or or II a a. cj co < x < H- _l »- r z UJ z v uj <— It 2 1/1 or or uj O a >-i or z v z >- o z a r> cj UJ > O UJ 1/1 _J UJ '71 * CD OC CJ V O — ■ CJ >• It Or < Or -h U.' — O c II _J I □ JUJ II or i— t uj «r y u .. UJ <-~ v or h- •• Or O U.' < O Z _i or o U_ •— UJ *- UJ < _J U O X •— or a -< a. 3 o t- r o < co o co r uj o UNCLASSIFIED Security Claaaification DOCUMENT CONTROL DATA R&D (Security elaaallleatlon at till*, body of abmtrmel and Indamtng annotation mil ba antmrad whan tha ovarall report It elatmlllad) I. originating ACTIVITY (Corporal* author) Center for Advanced Computation University of Illinois at Urb ana- Champaign Urbana, Illinois 61801 S REPORT TITLE 2*. REPORT SECURITY CLASSIFICATION UNCLASSIFIED 2b. CROUP A Study of the Efficiency of ILLIAC IV in Hydrodynamic Calculations 4. descriptive notes (Typa at raporl and inelualwa dataa) Research Report 5 authoR(S) (Flrmt rtaata. mlddla Initial, laat nama) Masako Ogura, Michael S. Sher, James H. Erickson S. REPORT DATE December 11, 1972 7«. TOTAL NO. Or PACES 93 7b. NO. OF REFS 9 • a. CONTRACT OR CRANT NO. DAHCOU 72-C-OOOl 6. PROJEC T NO. ARPA Order No. 1899 •a. ORIGINATOR'S REPORT NUMBER(S) CAC Document No. 59 96. OTHER REPORT NO(S) (Any otfiar numbers that may be atmlfnad thit raport) 10. DISTRIBUTION STATEMENT Copies may be requested from the address given in (l) above, II SUPPLEMENTARY NOTES 12. SPONSORING MILI TARY ACTIVITY U. S. Army Research Office-Durham Duke Station, Durham, North Carolina 13. ABSTRACT A two-dimensional Bernard-Rayleigh convection problem is solved numerically as an initial-and boundary- value problem on a network of (M+2) x (N+2) grid points. The purpose of this paper is not to discuss the result of numerical integrations, but to investigate the efficiency of ILLIAC IV for this class of hydrodynamic problems. Two cases are considered: The first case is a program for N<62, and the second is a program for arbitrary N and M. In neither case is the use of auxiliary storage systems considered in general, although an example of ILLIAC IV Disk is discussed. The efficiency of ILLIAC IV in the convection problem is investigatec in the following ways: (a) The program is written in a high level language for ILLIAC IV (GLYFNIR) and, using the assembly codes generated by the GLYPNIR Compiler, the clock time is estimated for a mesh size of YJ x 6^-. This clock time is compared to the computer time required for the same problem on the CDC 6^+00 using a FORTRAN code. The ratio is found to be approximately 1:1^0 for the first case and 1:130 for the second case. (b) The main part of the pro- gram within time iterations is written in the ILLIAC IV assembly language (ASK' and inserted into the original GLYPNIR-generated codes. This partially ASK- coded program is found to reduce the total estimated clock time by about 6of . The execution time ratio of the partially ASK-coded program to the CDC 6^00 FORTRAN code is about 1:370 for the first case and 1:300 for the second case. DD ,'.r..1473 UNCLASSIFIED Security Classification UNCLASSIFIED Security Classification KEY WORDS Meteorology ILLIAC IV GLYENIR ASK Numerical Integration and Differentiation Ordinary and Partial Differential equations Computer Efficiency and Benchmarks Input/ Output UNCLASSIFIED Security Classification 3c -tlAYY] ADDENDUM 21 Table i indicates that Prcfcram II takes 28% more time than Program I when comparing GLYPIOP cocjes and k0% more time vhen comparing partial -ASK eodedj for the prognostic] equations. This compares to a difference of % for GLYFmii ^ ig% ±n partial _ ASK fQr Poisson ^ equation. The reason for these differences is that Program II requires additional PE indexing in the prognostic equations whereas in Poisson's equation the need for PE indexing is nearly the same in both Programs I and II due to the SOP algorithm employed. PE indexing in GLYPMTR is discussed in Section 7.1.