- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Im running ifort 12.0 with command:
ifort -r8 main.f90 -lmkl_core -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_lapack95_lp64
and all is ok with a fortran95 call to the lapack routine gesv. However, if I replace gesv by calls to getrf and getri, it tells me these are "Undefined symbols". Why does it recognise gesv but not getrf or getri?Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Do you have the
USE mkl95_lapack
at the top of the calling subroutine? It should result in getrf and getri being translated to other functions, eventually down to the f77 ?getrf and ?getri which are provided in libmkl_lapack95_lp64.
You may need to assure that you have the include path (-I) for the mkl/include/lp64 in your installation.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Oh dear, it's an old code, so I only just noticed it has at the top "use lapack95, only: gesv", how embarrassing... In any case, is there a difference between "use lapack95" and "usemkl95_lapac"?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
That's a good point. USE lapack95 and mkl95_lapack should work interchangeably in this case.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page