Fortran/C/C++ Compilers & Debugging Tools

Resources

Windows | Macintosh | 32-bit Linux | 64-bit Linux | Debug | Sales

      Buy now, contact Sales,
      Questions about your order,
      
Resellers, Partners,
      
Partial customer list

      Compilers
, Debuggers,
      Tools and Libraries,
      Cluster Software

      Commercial, Academic,
      Cluster Software, Upgrades
      Multi-platform Bundles

      Contact, FAQs, User Forum         Downloads, Registration

Product Information

IMSL math/stat libraries
VAST-F/Parallel
VAST-F/Vector
Fx & Fx2 debuggers
Cluster products
Documentation
Companion Products
   

Dr. Craig A. Hunter's altivec results:

Bench Mark Graphic

Jet3D is a jet noise prediction method. It allows us to take a computational fluid dynamics (CFD) simulation of a jet exhaust flow from an aircraft, and predict how much noise it will make. This is generally targeted towards exhaust nozzles on commercial aircraft, in the interest of understanding and reducing community noise around airports. As we move towards faster aircraft and more air traffic, noise will be a bigger and bigger issue. Thus, we need tools like Jet3D to quickly and efficiently evaluate jet noise and design quieter aircraft.
Just as CFD is the computational analog to a wind tunnel or flight test, Jet3D is the computational analog to making microphone measurements in an acoustic jet noise lab or making microphone measurements of a real aircraft during a "flyby". As you can imagine, it is much faster, safer, and cheaper to simulate this stuff on a computer than to run an experiment or conduct a flight test.
Jet3D is written in standard FORTRAN 77. I ported it over to OS X using the Absoft compiler, which has been working great. After getting the scalar version of the code running, I worked on the AltiVec version. I was able to replace key computations within the code (about 10 lines of code) with subroutine calls. These subroutines are written in C, and actually do the number crunching with AltiVec instructions. I compiled the C subroutines with the standard "cc" compiler that comes with Apple's Developer Tools. I had to "backtrack" a little to manipulate the data into vector form and pass it to the subroutines, but the resulting performance boost from AltiVec more than made up for the difference (I got roughly a 9X boost in performance using AltiVec). Very impressive. Though it took me about a week to implement AltiVec in Jet3D, it was simpler than I thought. Next time around, I could probably do the same amount of work in a few hours.

 

© 1996-2004 ABSOFT  Corporation 2781 Bond Street Rochester Hills Michigan 48309   Voice: 248-853-0050   Fax: 248-853-0108 

            Contact | Newsletter | Career | Legal | Terms of Use | Privacy