Re: OpenMX 3.1 on IBM P595 ( No.1 ) |
- Date: 2007/03/16 20:48
- Name: Vasilii.Artyukhov
- I think that you should see the 'Selection of LAPACK routine' part of the manual, there are two others that you can choose from.
|
Re: OpenMX 3.1 on IBM P595 ( No.2 ) |
- Date: 2007/03/19 09:51
- Name: Jyh-Shyong Ho <c00jsh00@nchc.org.tw>
- Thanks, I tried all three and they all failed:
** On entry to DSTEVX parameter number 14 had an illegal value
** On entry to DSTEDC parameter number 8 had an illegal value
** On entry to DSTEGR parameter number 17 had an illegal value
I think something might be wrong in my installation of CLAPACK?
|
Re: OpenMX 3.1 on IBM P595 ( No.3 ) |
- Date: 2007/03/19 11:49
- Name: Jyh-Shyong Ho <c00jsh00@nchc.org.tw>
- Hi,
I tried again and compiled everything in 32-bit (CLAPACK, FFTW3.1.2 and Openmx 3.1) on our IBM P595, now the program works normally.
Something is wrong in my installation of the 64-bit version of CLAPACK.
|
Re: OpenMX 3.1 on IBM P595 ( No.4 ) |
- Date: 2007/03/19 19:28
- Name: Vasilii Artyukhov
- Perhaps you should attach your CLAPACK makefile. Also, why not try using the ATLAS library, it should work faster, and the installation is pretty straightforward. Actually, I believe that any sort of LAPACK should do, so you just have to find one that works okay.
|
Re: OpenMX 3.1 on IBM P595 ( No.5 ) |
- Date: 2007/03/20 10:15
- Name: Jyh-Shyong Ho <c00jsh00@nchc.org.tw>
- Thanks, I tried ATLAS and LAPACK (64-bit) libraries, but all failed at the link stage, all
LAPACK subroutines (dggevx, dstegr, dstevx, dstedc, ... etc.) are missing.
At the moment, my compilation of OPENMX 3.1 on IBM P595 only works with CLAPACK, I don't know why.
Do you know how to link 64-bit LAPACK/ATLAS library in building OpenMX 3.1 on IBM AIX computers?
On our 64-bit Linux cluster, I built OpenMX 3.1 with Intel MKL library, it works normally.
|
Re: OpenMX 3.1 on IBM P595 ( No.6 ) |
- Date: 2007/03/20 10:38
- Name: alex <a@alex.net>
Dear Jyh-Shyong Ho,
Usually on IBM platforms it is more convenient to use ESSL library which usually gives better performance. In this case you don't need to compile CLAPACK. Did you try it?
alex
|
Re: OpenMX 3.1 on IBM P595 ( No.7 ) |
- Date: 2007/03/20 12:19
- Name: Jyh-Shyong Ho <c00jsh00@nchc.org.tw>
- Dear Alex,
Yes, I did. nothing is working except CLAPACK.
Jyh-Shyong Ho, Ph.D. Research Scientist National Center for High Performance Computing Hsinchu, Taiwan, ROC
|
Re: OpenMX 3.1 on IBM P595 ( No.8 ) |
- Date: 2007/03/20 19:58
- Name: Vasilii.Artyukhov
- I don't think that ESSL can be used at all since it doesn't contain the required LAPACK routines, correct me if I'm wrong. On the other hand, it could be used as BLAS when compiling LAPACK.
And about the linking, it seems to me that something is wrong with your calling conventions between Fortran and C, you might want to check this out. Actually, I have trouble linking the libs to OpenMX on an IBM cluster as well, so I'd appreciate if you kept me up on your progress.
|
Re: OpenMX 3.1 on IBM P595 ( No.9 ) |
- Date: 2007/03/21 01:01
- Name: alex
- As a matter of fact, I was able to compile and link latest version of OpenMX on our Power4 cluster. I don't remember about missing LAPACK subroutines which should be used in OpenMX, because I always use (-llapack) together with ESSL library.
Linking part is a little bit tricky, but in 'makefile' there are two section referred to IBM configuration. I followed it and succeeded.
|
Re: OpenMX 3.1 on IBM P595 ( No.10 ) |
- Date: 2007/03/24 17:21
- Name: Jyh-Shyong Ho <c00jsh00@nchc.org.tw>
- Hi,
In the makefile, CC is defined as CC = mpcc_r -q64 -O3 -qstrict -I/package/chem/fftw/include
In the linking stage, all LAPACK subroutines used in the program are missing: ld: 0711-317 ERROR: Undefined symbol: .dggevx_ ld: 0711-317 ERROR: Undefined symbol: .dstevx_ ld: 0711-317 ERROR: Undefined symbol: .dstedc_ ld: 0711-317 ERROR: Undefined symbol: .dstegr_ ld: 0711-317 ERROR: Undefined symbol: .dpotrf_ ld: 0711-317 ERROR: Undefined symbol: .dpotri_ ld: 0711-317 ERROR: Undefined symbol: .dgesvd_ ld: 0711-317 ERROR: Undefined symbol: .zgetrf_ ld: 0711-317 ERROR: Undefined symbol: .zgetri_ ld: 0711-317 ERROR: Undefined symbol: .dsteqr_ ld: 0711-317 ERROR: Undefined symbol: .dsysv_
However, the 64 bit LAPACK library liblapack.a does have all these subroutines: ar -X 64 t liblapack.a ... dggevx.o dstrvx.o dstedc.o ...
All the subroutine names have no suffix underscore.
I wonder if the suffix underscore of the subroutine names caused the failure of the linking? Is there a compiler option or parameter which takes care of this problem?
|
Re: OpenMX 3.1 on IBM P595 ( No.11 ) |
- Date: 2007/03/25 10:55
- Name: T.Ozaki
- Hi,
> I wonder if the suffix underscore of the subroutine names caused the failure > of the linking? > Is there a compiler option or parameter which takes care of this problem?
Yes, there is a compiler option to take it into accout, which is discussed in http://staff.aist.go.jp/t-ozaki/openmx/node3.html
The relevant option is -Df77, -Df77_, -Df77__, -DF77, -DF77_, or -DF77__
Regards,
TO
|
Re: OpenMX 3.1 on IBM P595 ( No.12 ) |
- Date: 2007/03/26 14:49
- Name: Jyh-Shyong Ho <c00jsh00@nchc.org.tw>
- Hi,
Thanks for the information. Finally I was able to build 64-bit OpenMX 3.1 on our IBM P595 (AIX 5.3). Here is the settings in the makefile:
CC = mpcc_r -q64 -O3 -Df77 -qstrict -I/package/chem/fftw/include LIB = /package/chem/fftw/lib/libfftw3.a -L/package/chem/gnu/lapack -llapack -lblas /usr/lib/libxlf90_r.a
FFTW-3.1.2 and LAPACK 3.0 were all built with 64-bit. I have successfully run serveral test cases in directory work.
For some unknown reason, using 64-bit CLAPACK library does not generate a working openmx binary, all test cases failed at some matrix calculation, although 32-bitversion opr OPENMX with 32-bit CLAPACK does work normally.
Regards
Jyh-Shyong Ho
|
Re: OpenMX 3.1 on IBM P595 ( No.13 ) |
- Date: 2007/03/26 21:13
- Name: Vasilii Artyukhov
- Congratulations! Did you make any use of Altivec?
|
Re: OpenMX 3.1 on IBM P595 ( No.14 ) |
- Date: 2007/03/26 23:04
- Name: Jyh-Shyong Ho <c00jsh00@nchc.org.tw>
- No, I didn't do anything special to build the code.
Building 64-bit OpenMX 3.1 on Linux cluster is much straightforward than the IBM AIX computer.
|