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

Intel ODE Code

JohnNichols
Valued Contributor III
3,460 Views

I have spent several fruitless minutes searching for the old Intel ODE Solver code -- does anyone know where it can be found - or is it now rolled into the MKL libraries?

JMN

0 Kudos
17 Replies
jimdempseyatthecove
Honored Contributor III
3,459 Views

From: https://weekly-geekly.github.io/articles/229435/index.html

I find:https://software.intel.com/en-us/articles/intel-ordinary-differential-equations-solver-library

Jim Dempsey

0 Kudos
JohnNichols
Valued Contributor III
3,459 Views

I have hunted all through that site -- cannot find anything on ODE -- it appears to have disappeared

0 Kudos
jimdempseyatthecove
Honored Contributor III
3,459 Views

Does traversing the links in the first link yield an alternate repository?

Jim Dempsey

0 Kudos
JohnNichols
Valued Contributor III
3,459 Views

Jim:

No I spent several enjoyable minutes chasing down all of the links. They always return to the site below.  I chased the software links on the site below as far as I could see and you return to that page or it suggests you use the Forum pages -- had a chuckle on that one..  I found samples of people who had used the code, but not the code. 

Bother 

I put the following note on the MKL Forum

Thanks again

John

------------------------------------------------------------------------------------------------------------------------

Dear Intel Humans:

A few years ago Intel Posted Code from an Intel ODE Solver.  There are many links to this program on the web from people who used the code. 

Following all of the links I could find leads always to the site https://software.intel.com/en-us/intel-sdp-home

Please does anyone know what happened to these solvers, I would really like to compare them to the recent developments of some code. 

Regards

John Nichols

 

0 Kudos
Steve_Lionel
Honored Contributor III
3,459 Views

When Intel merged the Windows and Linux/Mac Fortran forums, many old URLs broke. IDZ Support claims that all correctly redirect, but I found that is not true, and I had to spend time locating some my old saved pages. This wouldn't (shouldn't) affect the MKL forum, though.

But more insidious is that IDZ has deleted a bunch of old articles, assuming that they were no longer relevant. I'm guessing that's what happened here. They even deleted some of my Doctor Fortran posts, as well as often-referenced articles I had written about Intel Visual Fortran. They cannot be recovered.

0 Kudos
JohnNichols
Valued Contributor III
3,459 Views

using an old saying as a model -- Intel giveth and Intel taketh away. 

Is there anyone I can talk to about the ODE Code -- it should not be lost -- this is to important long term. 

0 Kudos
Andreas_Z_
New Contributor I
3,459 Views

Not directly related to the Intel ODE solver, but if you are generally looking for 'modern' Fortran source code of families of ODE solvers, I recommend having a look at the FATODE website and code, which comes with a nice collection of ODE solver varieties, a brief manual and examples: http://people.cs.vt.edu/~asandu/Software/FATODE/

Andi

0 Kudos
Steve_Lionel
Honored Contributor III
3,459 Views

I was hoping that the Internet Archive had saved it. While the web page describing it is there (https://web.archive.org/web/20130625000726/https://software.intel.com/en-us/articles/intel-ordinary-differential-equations-solver-library), but the downloads themselves weren't saved (or so it appears).

0 Kudos
JohnNichols
Valued Contributor III
3,459 Views

thanks - Intel says on MKL Forum that it is not available 

0 Kudos
Brian_Murphy
New Contributor II
3,456 Views

I have a file named w-ode-a-1.0.0.006.zip downloaded in 2018.  I am using a few of its routines as replacements for similar IMSL routines.  Go to www.xlrotor.com and send me an email using the link at the bottom of the page.

The FATODE mentioned in quote #8 might be a better option.  When I get time I intend to check it out.

0 Kudos
JohnNichols
Valued Contributor III
3,456 Views

Thank you Brian for the copy of the code. 

I have looked at a lot of ODE code in the last few months.  I can see why Intel did not release the code, but it is a really good teaching tool for people trying to learn Fortran and ODE's.  

I was able to get the code running using IFORT and it appeared to run ok. 

I put the code into VS 2019 and get linker error on _printf -- 

I simply do not use libraries that often so I am a bit lost on how to fix this error.  I enclose the ZIP file with everything in it. 

I know - IFORT is one way of Fortraning but I like VS -- I wonder if that is the first use of Fortran as a verb?

I can remember when VEDIT would run MS3.03 Fortran as a program within VEDIT -- it was great.  

 

0 Kudos
jimdempseyatthecove
Honored Contributor III
3,456 Views

Change your Platform from x86 to Win32

 dodesol results

 ipar(2)=           0 , ipar(4)=           0
 t=   160.000000000000
 Solution  y1=   1.87788028033983        y2= -0.743197835489861
 -----------------------------------------------------
 CPU time=  4.6800300E-02  seconds
 =====================================================


 dodesol_rkm9st results

 t=   160.000000000000
 Solution  y1=   1.88041267551845        y2= -0.741501526604044
 -----------------------------------------------------
 CPU time=   1.419609      seconds
 =====================================================


 dodesol_mk52lfn results

 t=   160.000000000000
 Solution  y1=   1.87779132897330        y2= -0.743251474109463
 -----------------------------------------------------
 CPU time=  9.3600512E-02  seconds
 =====================================================


 dodesol_mk52lfa results

 t=   160.000000000000
 Solution  y1=   1.87779331311573        y2= -0.743250084491735
 -----------------------------------------------------
 CPU time=  9.3600631E-02  seconds
 =====================================================


 dodesol_rmk9mkn results

 t=   160.000000000000
 Solution  y1=   1.87788028033983        y2= -0.743197835489861
 -----------------------------------------------------
 CPU time=  3.1200171E-02  seconds
 =====================================================


 dodesol_rkm9mka results

 t=   160.000000000000
 Solution  y1=   1.87788028742031        y2= -0.743197775690907
 -----------------------------------------------------
 CPU time=  3.1200290E-02  seconds
 =====================================================

 ========================
 DODESOL FORTRAN example successfully PASSED through all steps of computations

0
Press any key to continue . . .

Compiled and Linked no problem with Debug, and Win32

Microsoft Visual Studio Professional 2013
Version 12.0.40629.00 Update 5
Microsoft .NET Framework
Version 4.6.01055

Installed Version: Professional
...
Intel® Parallel Studio XE 2019 Update 3 Composer Edition for C++ Windows*   Package ID: w_comp_lib_2019.3.203
Intel® Parallel Studio XE 2019 Update 3 Composer Edition for C++ Windows* Integration for Microsoft* Visual Studio* 2013, Version 19.0.6.12, Copyright © 2002-2019 Intel Corporation. All rights reserved.
* Other names and brands may be claimed as the property of others.

Intel® Parallel Studio XE 2019 Update 3 Composer Edition for Fortran Windows*   Package ID: w_comp_lib_2019.3.203
Intel® Parallel Studio XE 2019 Update 3 Composer Edition for Fortran Windows* Integration for Microsoft Visual Studio* 2013, Version 19.0.0051.12, Copyright © 2002-2019 Intel Corporation. All rights reserved.
* Other names and brands may be claimed as the property of others.
...

Jim Dempsey

0 Kudos
mecej4
Honored Contributor III
3,456 Views

The Intel ODE code was put up in 2008. Between then and now, Microsoft changed the VC libraries that IFort also uses. As Brian found out, if you get a linker error saying that _printf is missing, add legacy_stdio_definitions.lib to your linking command.

0 Kudos
JohnNichols
Valued Contributor III
3,456 Views

Looking on line I stumbled across a suggestion that I have to include a link legacy_stdio_definitions.lib. 

I found the library and it now works.  Actually VS installs 3 copies of the same file - no wonder our hard drives are full 

I still fail to understand how IFORT found the legacy_stdio_definitions and VS does not? 

Why am I linking in a C library to a Fortran program?  

John

 

0 Kudos
jimdempseyatthecove
Honored Contributor III
3,456 Views

>>Why am I linking in a C library to a Fortran program?

Fortran uses many of the CRTL routines.

BTW - For IVF on Windows Visual Studio select Platform: Win32 .OR. x64
Do not select x86. x86 is used by C# and C++ that can produce a single executable that will run on both 32-bit O/S and 64-bit (only) O/S (IOW both platform binaries or portions thereof contained within same image). This mucks things up for IVF applications. It is likely that the x86 default runtime library is not a C Runtime Library, and thus does not include _printf (which was demoted as being potentially unsafe due to possible internal buffer overrun), The "safe" version is printf_s which may be the only entry in CRTL on x64 (but note the supplied .dll is calling the printf function)

Jim Dempsey

0 Kudos
JohnNichols
Valued Contributor III
3,456 Views

Thanks -- I still have to link in the legacy lib

0 Kudos
JohnNichols
Valued Contributor III
3,456 Views

mecej4 wrote:

The Intel ODE code was put up in 2008. Between then and now, Microsoft changed the VC libraries that IFort also uses. As Brian found out, if you get a linker error saying that _printf is missing, add legacy_stdio_definitions.lib to your linking command.

 

I missed this one -- thanks again.  I just had to add the WDK for another program and it broke some things on ODE, now fixed, but I needed to add rc.exe and urctd

The ODE solver is a great training tool -- the only interesting issue is you cannot print out the intermediate results without a bit of effort and recalculation -- but for a class this is great.  It is definitely better than the ACM sample. 

0 Kudos
Reply