HOWTO LAPACK/CLAPACK for Windows

Open discussion regarding features, bugs, issues, vendors, etc.

Did it work?

Yes
39
75%
No
13
25%
 
Total votes : 52

Re: HOWTO LAPACK/CLAPACK for Windows

Postby graphicsRat » Fri Nov 06, 2009 10:36 am

flexo1234 wrote:Is there any way to compile the gotoBLAS without cygwin so the cygwin1.dll isn't needed to use it? Because I'm having troubles to call the gotoBLAS library in a MEX file in Matlab, it crashes Matlab when I run it. I think it's because of the cygwin1.dll because calling the standard BLAS library does work.


I thought you already had GotoBLAS working ...

Its been moths since I last compiled it, and when I last did, step 4 of the HOWTO helped to produce a library that' did not dependent on cygwin dlls -- this may have changed since writing the HOWTO, I guess need to compile the latest version of the library to be sure.

In the interim, I suggest you try step 4 and see what happens (I'd like to know). You may also run dependency walker on your gotoblas dll. Dependency walker will show what dlls your gotoblas dlls depends on. Mine depends only on: KERNEL32.DLL, MSVCRT.DLL, and NTDLL.DLL only (no cywing dll :)

Suggestion: if you've done the above and and impatient/can't wait for my update, try compiling gotoblas in (MINGW) MSYS

MSYS: a "fork" of Cygwin which has absolutely no dependency on Cygwin .dll
graphicsRat
 
Posts: 84
Joined: Wed Mar 25, 2009 3:08 pm

Re: HOWTO LAPACK/CLAPACK for Windows

Postby flexo1234 » Fri Nov 06, 2009 11:31 am

I think the problem is something else. To let the gotoBLAS work in visual C++ I needed to put project properties->linker->optimization->References to "keep unreferenced data" because else it gave some memory errors for some reason. But now with compiling with the MEX command in Matlab I don't know how to put the references right, do u have any idea maybe?

Also I don't have to do step 4, the .lib and .dll are already in the exports folder after step 3. I did delete them once and then did step 4 but it gave the same size of .lib and .dll so they are the same I think.

Dependency walker says it depends on cygwin1.dll and many more (too much to all write them here), it also gave some error:

Error: Modules with different CPU types were found.
Warning: At least one delay-load dependency module was not found.

In an other window it says "error opening file MSJAVA.DLL"
flexo1234
 
Posts: 7
Joined: Mon Sep 28, 2009 8:18 am

Re: HOWTO LAPACK/CLAPACK for Windows

Postby graphicsRat » Fri Nov 06, 2009 12:09 pm

flexo1234 wrote:I think the problem is something else. To let the gotoBLAS work in visual C++ I needed to put project properties->linker->optimization->References to "keep unreferenced data" because else it gave some memory errors for some reason. But now with compiling with the MEX command in Matlab I don't know how to put the references right, do u have any idea maybe?


I don't know anything about MEX, but I may be able to help with the visual studio project settings (I ought to have included them in the HOWTO.)(Note to self: update HOWTO)

Give the following visual studio project settings a try (source):

Project options -> Configuration Properties -> C/C++ -> Code generation -> Use run-time library
->"Multithreaded-Debug (/MTd)".


Also, you may wish to start from an empty visual studio (C++) console application. When you get the console application to work, migrate the code to your MEX(?) project -- that's how I work. (BTW, I'm using LAPACK/GotoBLAS in an Autodesk Maya plugin.)

flexo1234 wrote:Also I don't have to do step 4, the .lib and .dll are already in the exports folder after step 3. I did delete them once and then did step 4 but it gave the same size of .lib and .dll so they are the same I think.

Dependency walker says it depends on cygwin1.dll and many more (too much to all write them here), it also gave some error:


It appears that the GotoBLAS build system has changed. But I'm surprised that the output dll still requires the cygwin dll. I need to try this for myself, and get back to you.

flexo1234 wrote:In an other window it says "error opening file MSJAVA.DLL"


That's weird. Is this a dependency walker error? ... You shouldn't require all those dlls.
graphicsRat
 
Posts: 84
Joined: Wed Mar 25, 2009 3:08 pm

Re: HOWTO LAPACK/CLAPACK for Windows

Postby flexo1234 » Fri Nov 06, 2009 12:46 pm

The "Multithreaded-Debug (/MTd)" option doesn't make a difference for me, only the references I need to change to let it work.

Yes it's really weird it needs so many dlls. I'm gonna try compiling it with MSYS tomorrow then (I hope I will find out how it works :P) because the compiled gotoBLAS is also much slower than Matlab and it really should be faster normally.
flexo1234
 
Posts: 7
Joined: Mon Sep 28, 2009 8:18 am

Re: HOWTO LAPACK/CLAPACK for Windows

Postby graphicsRat » Fri Nov 06, 2009 5:25 pm

I'm having difficulty logging on to the gotoblas site and downloading the source. Does anyone else have this problem?
graphicsRat
 
Posts: 84
Joined: Wed Mar 25, 2009 3:08 pm

Re: HOWTO LAPACK/CLAPACK for Windows

Postby flexo1234 » Sat Nov 07, 2009 9:00 am

Yes, same problem here.
flexo1234
 
Posts: 7
Joined: Mon Sep 28, 2009 8:18 am

Re: HOWTO LAPACK/CLAPACK for Windows

Postby graphicsRat » Sat Nov 07, 2009 10:52 am

flexo1234 wrote:Yes, same problem here.


That's comforting to hear. Let's hope the problem gets sorted out soon.

In the interim, if you wish, I can send you the source of the previous version (on which the HOWTO was originally based). Just send me a private message with your email address.
graphicsRat
 
Posts: 84
Joined: Wed Mar 25, 2009 3:08 pm

Re: HOWTO LAPACK/CLAPACK for Windows

Postby graphicsRat » Fri Dec 11, 2009 1:11 am

Good news. I've finally figured out how to compile GotoBLAS2 for windows. There seems to be an an error in an auto-generated source file (dllinit.c) that's required in order to build the dll (I know how to fix this error). I've just written the developer of the library about this, and I hope to begin updating this HOWTO after I receive word from him about the error.

Note that there appear to be two versions of the library. Therefore, the current HOWTO applies to (the basic) GotoBLAS, and not GotoBLAS2. The next HOWTO will attempt to describe how to compile GotoBLAS2.

[ GotoBLAS 1.00 - 1.26 ] http://web.tacc.utexas.edu/resources/software/
[ GotoBLAS2 1.00 - 1.09 ] http://www.tacc.utexas.edu/resources/so ... are-login/
graphicsRat
 
Posts: 84
Joined: Wed Mar 25, 2009 3:08 pm

Re: HOWTO LAPACK/CLAPACK for Windows

Postby Andrew » Mon Dec 14, 2009 5:27 am

CPPLapack has a very user-friendly interface as same as ordinary C++ matrix libraries.CPPLapack uses BLAS and LAPACK functions in the background though programmers just need to write simple codes.The advantage of using CPPLapack are not only user-friendly interface and fast computational speed but also saving memory space.In case of large-size matrix calculation, the number of copy times of objects affects required memory space and computational time materially.
Andrew
 
Posts: 3
Joined: Sat Dec 12, 2009 9:24 am

Re: HOWTO LAPACK/CLAPACK for Windows

Postby Andrew » Mon Dec 14, 2009 5:32 am

CPPLapack has a very user-friendly interface as same as ordinary C++ matrix libraries.CPPLapack uses BLAS and LAPACK functions in the background though programmers just need to write simple codes.The advantage of using CPPLapack are not only user-friendly interface and fast computational speed but also saving memory space.In case of large-size matrix calculation, the number of copy times of objects affects required memory space and computational time materially.
Andrew
 
Posts: 3
Joined: Sat Dec 12, 2009 9:24 am

Re: HOWTO LAPACK/CLAPACK for Windows

Postby Vadfloyd » Thu Dec 17, 2009 3:29 am

graphicsRat wrote:I'm having difficulty logging on to the gotoblas site and downloading the source. Does anyone else have this problem?


Me too! How can I solve the problem?
Vadfloyd
 
Posts: 1
Joined: Thu Dec 17, 2009 3:06 am

Re: HOWTO LAPACK/CLAPACK for Windows

Postby graphicsRat » Fri Dec 18, 2009 1:02 am

graphicsRat wrote:Note that there appear to be two versions of the library. Therefore, the current HOWTO applies to (the basic) GotoBLAS, and not GotoBLAS2. The next HOWTO will attempt to describe how to compile GotoBLAS2.

[ GotoBLAS 1.00 - 1.26 ] http://web.tacc.utexas.edu/resources/software/
[ GotoBLAS2 1.00 - 1.09 ] http://www.tacc.utexas.edu/resources/so ... are-login/


Update: according to the author of the library, GotoBLAS has now been superseded by GotoBLAS2, as such the older version of the library will no longer be available for download.
graphicsRat
 
Posts: 84
Joined: Wed Mar 25, 2009 3:08 pm

Re: HOWTO LAPACK/CLAPACK for Windows

Postby graphicsRat » Fri Dec 18, 2009 1:06 am

Vadfloyd wrote:
graphicsRat wrote:I'm having difficulty logging on to the gotoblas site and downloading the source. Does anyone else have this problem?


Me too! How can I solve the problem?


Perhaps you're trying to download GotoBLAS2 with your GotoBLAS site password (thats the problem I had). Oddly both pages have different passwords. Try (re)registering at the GotoBLAS2 page. Anyway, the GotoBLAS page has now been redirected to GotoBLAS2.

Edit: GotoBLAS2 can be compiled for Windows using MINGW. Note that the resulting library has lots of dependencies.
graphicsRat
 
Posts: 84
Joined: Wed Mar 25, 2009 3:08 pm

Re: HOWTO LAPACK/CLAPACK for Windows

Postby graphicsRat » Tue Jan 19, 2010 7:06 pm

graphicsRat wrote:Edit: GotoBLAS2 can be compiled for Windows using MINGW. Note that the resulting library has lots of dependencies.


I'm pleased to announce that the latest development patch of GotoBLAS (to be soon made available I hope) now compiles on MINGW/MSYS, and no longer has MINGW dependencies (i.e. the library no longer refers to MINGW's oddly named version of printf). Also, the library no longer has the "billion" other (dll) dependencies earlier versions had.

This means GotoBLAS2 can now be used in Visual Studio (C++) projects. BTW, one of the nicer features of GotoBLAS2 is that it readily allows the library to be compiled for other target machines i.e. you don't have to be on a machine in order to produce an optimized BLAS for it.

I'll rewrite the HOWTO, which will now be considerably shorter as soon as the new version of GotoBLAS is made available.

Many thanks to Kazushige Goto for putting up with my many, many "complaints" :)
graphicsRat
 
Posts: 84
Joined: Wed Mar 25, 2009 3:08 pm

Re: HOWTO LAPACK/CLAPACK for Windows

Postby vitaly333 » Thu Feb 11, 2010 5:08 pm

In lastest versions of gotoBlas missing file getarch.c:
make : *** No rule to make target 'getarch.c' , needed by 'getarch'. Stop.
vitaly333
 
Posts: 16
Joined: Mon Oct 19, 2009 9:57 am

PreviousNext

Return to User Discussion

Who is online

Users browsing this forum: No registered users and 1 guest