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

Compiler Bug (?)

WSinc
New Contributor I
1,138 Views

NEVER MIND - I SEE the ERROR.......................

But it does not explain how to access the :LAPACK routines.

That include file doesn't work.

 

subroutine solve(a,x,b)

parameter nrhs=1;m=4;n=10

real*8 a(m,n),x(m,nrhs),b(m,nrhs)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!

lda=m;ldb=m

call gelss(m,n,nrhs,a,lda,b,ldb)

end

0 Kudos
11 Replies
Steven_L_Intel1
Employee
1,138 Views

You have semicolons in the PARAMETER statement instead of commas. That causes m-4 and n=10 to be interpreted as assignments.

0 Kudos
Steven_L_Intel1
Employee
1,138 Views

First of all, you'd need a USE LAPCK95 and would have to enable the "Use MKL" option in the Visual Studio project. Second, your call to gelss doesn't match either the "Fortran 77" or "Fortran 95"  argument list for this routine.  See the MKL documentation for more information.

0 Kudos
WSinc
New Contributor I
1,138 Views

Maybe I don't know where to look, but I searched all thru the

documentation, and could not find those options.

Where are those discussed?

Shouldn't it be more obvious? Like in the INTRODUCTION?

0 Kudos
WSinc
New Contributor I
1,138 Views

I could not find where to set USE MKL.

Is that in the "project properties" setup?

They should have an article called "How to use MKL libraries."

How about a sample 10 line program ?

Rather then leaving us guessing - - -

0 Kudos
Steven_L_Intel1
Employee
1,138 Views

Bill, there is an entire "book" in the on-disk documentation called Intel MKL User's Guide, which has a Getting Started chapter (directly after "Overview"), a chapter on "Programming with Intel Math Kernel Library in Integrated Development Environments", and much more information.

The "Use MKL" is "Use Intel Math Kernel Library" under Fortran > Libraries.

You can then look up gelss in the index and find the documentation for that routine. Lastly, if you need help with MKL, ask in the MKL forum.

0 Kudos
WSinc
New Contributor I
1,138 Views

Do you mean I have to have the DISK?

I was using the Web site documentation, so

I can't find it there?

What about the HELP LIBRARY AGENT?

It's not there, either.

The "HOW to use MKL Libarary" had me going in circles-  - - -

0 Kudos
WSinc
New Contributor I
1,138 Views

I found out where to turn on the fortran choices,

but I get 4 choices. How would I know which one

to use? Sequential, parallel, or "inherit" ?

Does it matter?

0 Kudos
Steven_L_Intel1
Employee
1,138 Views

In Visual Studio, select Help > About > Intel Visual Fortran Composer XE 2013. The Help Library will come up with all the documentation. If you prefer the web, use http://software.intel.com/sites/products/documentation/doclib/stdxe/2013/composerxe/mkl/mkl_userguide_win/index.htm

Yes, deciding on which MKL library type to use can be a bit of effort, but the MKL User's Guide explains it well. You probably want to start with "Sequential". When you see "Inherit from project defaults", that means reset to the default (which is No in this case.)

0 Kudos
WSinc
New Contributor I
1,138 Views

I got it to link, but it crashes.

so apparently the documentation is not consistent with the

way it is actually used.

According to what it says,, I can get by with only two input arguments, and it

is supposed to select the routine based upon what input type is being used (REAl or DOUBLE)

Should I take this over to the MKL forum? It doesn't do what it says.

I am assumng a FORTRAN 95 interface, since I now have Build 2013.1

 

0 Kudos
Steven_L_Intel1
Employee
1,138 Views

Yes, please take this to the MKL forum and provide your actual code. Make sure you have added USE LAPACK95 after your subroutine or program statement. My guess is that you didn't. You aren't using the "Fortran 95" interface unless you have the USE.

0 Kudos
WSinc
New Contributor I
1,138 Views

Oh, yes, I added that to the code before I tested it.

But I doesn't work the way the documentation says.

A very simple test case.

Anyway, I put it there.

0 Kudos
Reply