You are hereForums / DIANA / User Supplied Subroutine with unsupported Fortran Compilers

User Supplied Subroutine with unsupported Fortran Compilers


By ljvandermeer - Posted on 17 August 2010

Has anyone (successfully) tried to run DIANA with a User Supplied Subroutine with a different Fortran Compiler than the one recommended and supported by TNO DIANA (Intel Visual Fortran Compiler)? For example with Salford Fortran 77 Compiler or with Mingw g77 Fortran compiler? 
I run DIANA 9.4.2 on 64-bit Windows 7. The Intel Visual Fortran Compiler for Windows is a commercial software, while there are numerous freeware Fortran Compilers that comply with the ANSI Fortran 77 standard.

Tags

We tried with an evaluation version of the Intel Visual Fortran 11.1.065 compiler together with Microsoft Visual Studio .NET 2003. After a few day's discussion with DIANA we concluded today that we need to upgrade Microsoft Visual Studio from .NET 2003 to 2008 SP1. This information was not on the supported platforms page a few months ago. Indeed this doubles the required software purchase to get user-supplied subroutines to work! Furthermore, I suppose that whenever DIANA upgrades its compilers, we have to do so too (and invest accordingly). This is something to be considered carefully.

Besides Intel Visual Fortran Professional you also need Microsoft Visual C++ or Microsoft Visual Studio which is also commercial software. Without those two I don't think you will be able to get USS to work.

The reason we use Intel Visual Fortran Pro to build DIANA is because the Intel Visual Fortran Pro compiler creates faster executables. Intel compilers are known to generate fast executables. If you check out websites that compare hardware performance you will always see that they build the test software using the latest Intel compilers. We have seen examples where DIANA jobs ran 30% faster just because we used Intel Fortran instead of a public domain fortran compiler. It also gave us the oportunity to use the highly optimized Intel Math Kernel Library to improve performance. A clear example is the Intel Pardiso solver that we included in DIANA. 

Arno, thanks for the advice. You mentioned that Microsoft Visual Studio is required as well. Some licenses for the Intel Visual Fortran Compiler include a Visual Studio Shell. Does this suffice to use User Supplied Subroutines? Or is a full installation of MS Visual Studio Professional necessary? 

Sorry, my version of Intel Visual Fortran Pro comes without Visual Studio Shell. Therefore I cannot test if this is working but my first impression is that it will not work. User supplied subroutines are linked with cl.exe which is the Visual C++ compiler. I don't think that will be part of Visual Studio Shell. If you have Visual Studio Shell you can have a look if you can find cl.exe in there.

I did some research on the web and I think that MS Visual C++ Express Edition (freeware) includes cl.exe whereas the MS Visual Studio Shell doesn't. It's really quite difficult to find out which licenses are required to get DIANA to work with User Supplied Subroutines!

I tested the MS Visual C++ 2008 SP1 Express Edition in combination with Intel Visual Fortran Pro 11.1.065. Unfortunately I cannot get User Supplied Subroutines to work with this combination. vcomp.lib is missing in the MS Visual C++ 2008 SP1 Express Edition. vcomp.lib provides OpenMP functionality (multithreading) which is used in DIANA by for example the Intel Pardiso solver.

You said: "It's really quite difficult to find out which licenses are required to get DIANA to work with User Supplied Subroutines!" I don't agree. On the supported platforms page this is clearly stated what you need.

the Diviner RDBMS also supports locally managed table spaces which can outlet space direction content in bitmaps 640-816 in their own headers rather than in the Group table space as happens with the option dictionary-managed table spaces.1Y0-A18 Edition 10g and later introduced the SYSAUX table space which contains any of the tables erst in the Grouping table space.

Thank you for testing. I agree that the platforms page states which software is necessary. I just wanted to check all my options, before buying two additional licenses. 

Nice work. According to the Intel release notes it seems that MS Visual C++ 2008 Express Edition could be used to build a 32 bit executable from a command box like we do with DIANA. I will test that here. I'll get back to you with the result.