Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28621 Discussions

compiling an Alpha routine on Windows

laptop_01
Beginner
570 Views
Hi;

I am trying to port to Windows a Fortran routine which was developed for the Alpha system. I am using Compaq Digital Fortran. The original routine uses system Header files such as SSDEF.H and FABDEF.H. These header exists on the ALPHA and are C coded.

I am looking for an advice on how to handle a situation like this?

- Is there an equivalent system library in Compaq Digital FORTRAN that define the same common!!! If there is, where can I find it.

- Has anyone faced a situation like this? What was the best course of action? Rewrite the code! patch as you go!

Thanks
0 Kudos
2 Replies
Steven_L_Intel1
Employee
570 Views
SSDEF and FABDEF are from OpenVMS. I'm a bit puzzled at your description as the .H files are definitely for C, not Fortran, but that's a minor point.

If you want to port your program without rewriting the OpenVMS-specific code for Windows, there are two companies offering OpenVMS compatibility libraries for Windows - Sector 7 and Accelr8 Technologies. Contact them for more information.

I'd suggest seeing if you can rewrite the code to use native Windows calls instead. These companies also offer consulting services for application porting.

Steve
0 Kudos
james1
Beginner
570 Views
Fortran code cannot use .H files but rather the appropriate Fortran equivalents. In this case, you probably have statements such as include '($ssdef)' and include '($fabdef)'. These system include files are used under OpenVMS to support various system routines.

You can search for strings that include SS$_ SYS$ FAB$ in the code for example. You then need to understand what these routines are currently doing, then provide the appropriate Win32 functionality.

Another approach is to see why the system calls are being used in the original code. Sometimes this was done to increase performance rather to gain functionality. In that case you could try replacing with portable Fortran, after all your target platform is probably much faster than the platform under which the code was originally created.

James
0 Kudos
Reply