|
From: | Fredrik Lingvall |
Subject: | 64-bit GOTO BLAS and 2.9.8 (was Re: 2.9.8 Build problems on Opteron...) |
Date: | Thu, 07 Sep 2006 14:02:11 +0200 |
User-agent: | Thunderbird 1.5.0.5 (X11/20060802) |
John W. Eaton wrote:
On 6-Sep-2006, Fredrik Lingvall wrote: | > | F77=gfortran CPPFLAGS="-I$HOME/work/OPTERON/usr/local/include" | > | CFLAGS="-O3 -m64 -Wall -funroll-loops -march=opteron -mtune=opteron | > | -pthread" CXXFLAGS="-I$HOME/work/OPTERON/usr/local/include -O3 -m64 | > | -Wall -funroll-loops -march=opteron -mtune=opteron -pthread" | > | FFLAGS="-I$HOME/work/OPTERON/usr/local/include -O3 -m64 -Wall | > | -funroll-loops -march=opteron -mtune=opteron -pthread" | > | LDFLAGS="-L$HOME/work/OPTERON/usr/local/lib" | > ./configure --enable-64 | > | --prefix=$HOME/work/OPTERON/usr/local | > | --with-blas=$HOME/work/OPTERON/usr/local/lib/libBLAS.so | > | --with-lapack=$HOME/work/OPTERON/usr/local/lib/libLAPACK.so | > | > Are you sure you want --enable-64? Did you note the warning | > issued by | > configure when you use it? | > | Yes and yes. I used gfortran from gcc 4.1.1 and Goto BLAS v 1.04 so I | hope its OK. At | least I do not get any core dumps or other errors. Was your copy of Goto BLAS compiled such that it will use with 8-byte integers for dimension and index values? Also, I don't see a -fdefault-integer-8 option for gfortran. To make Octave work properly with --enable-64, you must have 8-byte integers for any dimension and index values used for numeric arrays. I contacted Kazushige Goto regarding this issue and if I set F_COMPILER = GFORTRAN INTERFACE64 = 1 in the Makefile.rule file then Goto Blas should have 8-byte
integers for dimension and gfortran -c -O2 -Wall -fPIC -m64 -fdefault-integer-8 -o chpmv.o
chpmv.f so it seems OK. I then configured Octave with ./configure F77=gfortran FFLAGS=-fdefault-integer-8 (and some more
flags) /Fredrik
As the warning said, this is still an EXPERIMENTAL option. It is a work in progress. If the conditions above are not met, then there may be mysterious failures, including incorrect results that could occur with no warning. | Yes the patch made 2.9.8 compile nicely. Seems to run fine too. Thanks! | I did not get these errors on my 32-bit Gentoo laptop. Do you know why | it failed on the 64-bit machine? Because on all systems, nzmax in the MEX inteface is always an "int" object, which is typically 4 bytes wide even on 64-bit systems, but on 64-bit systems with --enable-64, octave_idx_type is an 8-byte integer. jwe |
[Prev in Thread] | Current Thread | [Next in Thread] |