+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= The Latest News from Applied Parallel Research... +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= November 1993 As we enter our third year, we are more excited than ever about the latest additions to our FORGE family of products, and the growing number of vendors and programmers who are using them. =-=-=-= MAGIC =-=-=-= At the top of our list of new things we want to tell you about are our new MAGIC batch parallelizers that we are announcing at Supercomputing 93 in Portland. FORGE Magic/DM Parallelizer (dpf) for distributed memory is able to automatically (automagically?) partition data arrays and distribute loops based upon a static analysis of the source program. Or, you can supply a serial timing profile to direct the automatic parallelization right to the hot spots in your code. With FORGE Magic/SM (spf) for shared memory systems, data arrays are automatically padded and aligned for optimal cache management, and DO loops are parallelized by target system compiler-specific directives. It would be outrageous of us to claim that our MAGIC technology can automatically produce the best parallelization strategy for all applications, and we won't. But the one important claim we do make is that it is an incredible way to get a first rough sketch at a parallelization. This may be especially useful with large, unwieldly codes when, most likely, you would not have a clue as to where to begin. A parallelization report shows you in great detail which loops parallelized and which data arrays were partitioned, and how this was done. More importantly, it shows which loops/arrays could not be parallelized and the inhibitors in the program that prevented this. An output option annotates the original Fortran 77 program with parallelization directives that you can amend to refine the parallelization. Our intention with these MAGIC parallelizing pre-compilers is to provide facilities similar to what we used to vectorize code not too long ago. Each can be used to generate instrumented programs for serial runtime execution timing. FORGE Magic/DM (dpf) can also instrument the generated parallelized code to produce parallel runtime performance profiles that identify communication bottlenecks and losses due to poor load balancing. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= High Performance Fortran, HPF =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Our new FORGE HPF batch pre-compiler, xhpf, is now available with an optional MAGIC automatic parallelization mode as well. xhpf with MAGIC is able to take a serial Fortran 77 program and automatically generate a parallelized code with Fortran 90 array syntax and HPF directives. Our HPF pre-compiler has a number of capabilities that may prove invaluable. For example, the HPF consistency checker assures that the parallelization directives you supply are legal HPF and are consistent with themselves and the program. Also the parallelization is viewable from our interactive FORGE/DMP Parallelizer through is compatible database. And, if your target system does not yet have an HPF compiler, xhpf, like dpf, will generate a SPMD Fortran 77 code with explicit message passing calls interfacing to PVM, Express, Linda, etc. You may know that other companies are struggling right now to provide HPF compilers on a number of systems. However, we can report the following regarding APRs HPF tools: * They are available today. * We generate efficient Fortran 77 code from the HPF that is immediately compilable and optimizable by most native f77 compilers. * We parallelize Fortran DO loops as well as Fortran 90 array syntax. (HPF compilers only parallelize array syntax.) * MAGIC on xhpf will generate an initial HPF parallelization automatically for you to start with. * You can review and analyze the parallelization with our FORGE/DMP interactive tool. * You can instrument the parallel code and obtain a parallel runtime performance profile that includes measurement of all communication costs and bottlenecks. * With our unique parallel runtime library, we can interface to all major multiprocessor systems and workstation clusters running PVM, Express, Linda, IBM EUI, nCUBE, Intel NT, you name it!. We welcome the opportunity to demonstrate our HPF capabilities to you if you give us a call. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= FORGE Motif GUI Fortran Explorer =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Another major development is the release of our first interactive product to utilize the Motif graphic user interface. FORGE Explorer, based upon the FORGE Baseline Browser, is now available on IBM RS/6000, DEC Alpha, and HP workstations supporting the Motif GUI. It presents an easy to use and mostly intuitive approach to interprocedural program data and control flow analysis, tracing, and global context searching. We are moving to transform all FORGE interactive products into the world of Motif by the end of next year. FORGE Explorer is actually fun to use... you've got to see it! =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Advanced Shared Memory Parallelizers =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= The last area of product development wed like to mention is the release of advanced, new shared memory parallelizers that are able to optimize program cache management by padding and alignment of global arrays automatically. We also have developed a Global Index Reordering (GIR) restructurer that can make a positive gain on performance by automatically reordering the indices of arrays in inner loops to eliminate inappropriate striding through memory. This restructuring, which is so tedious and error prone when attempted by hand, can render a successful parallelization out of a marginal performer. =-=-=-=-=-=-=-= Vendor Support =-=-=-=-=-=-=-= A growing number of supercomputing vendors are now actively supporting the ongoing development of APRs products for their shared and distributed memory multiprocessor systems: IBM (SP1, Power/4, and RS/6000 clusters), Fujitsu (VPP500), Intel (Paragon), nCUBE, HP, DEC, Cray Computers (Cray 3). We also offer our products directly to end users of SGI, Cray Research, and Convex systems. =-=-=-=-= Further! =-=-=-=-= We look forward to a new year of challenges to provide the ultimate tools for parallel processing, and hope to be speaking with you soon. If you will be attending SuperComputing 93 in Portland, stop by and say hello and catch a demonstration of these products -- we will be in booth 401. John Levesque, President, Applied Parallel Research, Inc. ...for the APR Staff Applied Parallel Research, Inc. 550 Main St., Suite I Placerville, CA 95667 916/621-1600 forge@netcom.com