Appendix. HPCC Thesaurus (preliminary draft) Application areas: aerodynamics astrophysics atmospheric dynamics chemistry molecular dynamics molecular mechanics quantum chemistry cosmology gravitational interaction electromagnetics environmental science global climate modeling weather forecasting financial modeling first order logic fluid dynamics hydrodynamics magnetohydrodynamics radiation hydrodynamics geology lattice field theory materials science molecular biology protein crystallography particle dynamics quantum mechanics structural mechanics Problem area: asynchronous problem (Fox & Coddington) automatic theorem proving computational geometry (INSPEC) (GAMS P) computer vision connected component labeling differential equations ordinary differential equations partial differential equations elliptic partial differential equations diffraction modeling elementary vector operations (GAMS D1a) finite difference approximation finite element analysis (INSPEC) difference equations (INSPEC) image processing irregular problem loosely synchronous problem (Fox & Coddington) matrix transpose (GAMS D1b3) multiblock problem multigrid problem (USE multigrid method?) N-body simulation neural network numerical differentiation (gams H1) optimization nonlinear optimization particle dynamics radiation transfer random surface model ray tracing signal processing sparse linear systems spin model synchronous problem (Fox & Coddington) vector quantization volume rendering Algorithms: adaptive mesh method Barnes-Hut algorithm block truncated Newton method conjugate gradient method fast multipole algorithm grid method UF grid based application iterative method Levenberg-Marquardt method Metropolis algorithm multidirectional search parallel direct search multigrid method particle in cell method particle mesh method simulated annealing trust region Newton method variable metric method Data structures: distributed array structured grid UF regular grid unstructured grid UF irregular grid Function: animation data analysis data visualization particle data visualization volume visualization domain decomposition UF data partitioning tiling error analysis execution analysis debugging parallel debugging execution monitoring trace file generation execution trace visualization mesh generation UF grid generation performance analysis performance monitoring performance tuning performance visualization simulation software development sorting source code analysis dependence analysis source code restructuring visual programming Resource type: archive historical archive benchmark application library parallel application library application program communications library message passing library MPI compiler parallel compiler parallelizing compiler compiler generator domain specific language emulator example program functional language operating system parallel operating system programming language parallel programming language HPF numerical library parallel numerical library object library parallel programming environment parallel programming library parallel processing tool routine numerical routine runtime system parallel runtime system template Architecture: sequential architecture parallel architecture SIMD machine MIMD machine distributed memory multiprocessor processor array machine USE distributed memory multiprocessor; SIMD machine shared memory multiprocessor virtual shared memory vectorprocessor machine cluster workstation cluster massively parallel multiprocessor Properties: (of what?) architecture dependence architecture independence UF portability coarse grain parallelism data locality data parallelism fault tolerance fine grain parallelism load balancing nonuniform memory access UF NUMA parallel processing (INSPEC) partitioning data partitioning UF data distribution work distribution resource allocation static resource allocation dynamic resource allocation processor allocation synchronization barrier synchronization process synchronization task parallelism UF functional parallelism UF thread parallelism