From NWChem
Viewed 2043 times, With a total of 7 Posts
|
|
|
|
| 1:22:00 PM PDT - Thu, Mar 31st 2011 |
|
I've seen a posting about using BLAS here, but there was no answer. I can build NWchem-6.0 with GotoBLAS and Intel compiler, using the build_nwchem script with added HAS_BLAS=yes and BLASOPT="/mypath/libgoto2-intel.a -lpthread". It does link OK. But then almost every QA test fails for bad DGEMM in the autosym procedure. Is it possible to fix this?
--
With best regards,
Grigory Shamov
|
|
|
-
Niri Forum:Admin, Forum:Mod, NWChemDeveloper, bureaucrat, sysop
|
|
|
Gets Around
Threads 4
Posts 114
|
|
| 9:39:05 PM PDT - Thu, Mar 31st 2011 |
|
Hi Grigory,
Can you send us your output file ?
Best,
-Niri
Niri Govind
NWChem Developer
niri.govind@pnl.gov
|
|
|
|
|
|
|
| 11:35:57 AM PDT - Mon, Apr 4th 2011 |
|
Dear Niri,
Thank you, I've just sent my output and build_nwchem to your email!
--
With best regards,
Grigory Shamov
|
|
|
|
|
|
|
| 3:10:56 PM PDT - Thu, Apr 7th 2011 |
|
Same thing with gfortran and corresponding GotoBLAS2
|
The BLAS library seem to be OK in itself, for I was able to build GAMESS-US with it.
--
With best regards,
Grigory Shamov
|
|
|
|
|
|
|
| 1:56:20 PM PST - Fri, Jan 13th 2012 |
|
Could be an i8 problem in GotoBLAS
|
Quote: Apr 7th 10:10 pmThe BLAS library seem to be OK in itself, for I was able to build GAMESS-US with it.
--
With best regards,
Grigory Shamov
|
|
|
|
|
|
|
| 1:59:32 PM PST - Fri, Jan 13th 2012 |
|
Could be an i8 problem in GotoBLAS
|
| GotoBLAS by default is compiled with the -i4 option (or the corresponding option) and therefore won't take 64-bit array pointers.
|
|
|
-
Edoapra Forum:Admin, Forum:Mod, bureaucrat, sysop
|
|
|
Forum Regular
Threads 1
Posts 271
|
|
| 5:42:16 PM PST - Fri, Jan 13th 2012 |
|
How to link NWChem against GotoBLAS on 64-bit platforms
|
There are two alternatives for linking NWChem against GotoBLAS2 on 64-bit platforms
1)
Install GotoBLAS2 with 64bit integers. This is accomplished by compiling the GotoBLAS2 library after having by edited the GotoBLAS2 Makefile.rule file and un-commenting the line containing the INTERFACE64 definition. In other words, the line
#INTERFACE64 = 1
needs to be changed to
INTERFACE64 = 1
On the NWChem side, you simply need to set the environmental variable BLASOPT to the GotoBLAS2 library location
2)
If GotoBLAS2 has not been compiled with 64-bit integers (and I cam guessing it is the case for Grigory), then you need
to use the 64_to_32 procedure described in the $NWCHEM_TOP/install file
1) cd $NWCHEM_TOP/src
2) make clean
3) make 64_to_32
4) make USE_64TO32=y HAS_BLAS=yes BLASOPT=" optimized BLAS"
e.g. for IBM64: make USE_64TO32=y HAS_BLAS=yes BLASOPT="-lessl -lmass"
More details were recently discussed in the following post
http://www.nwchem-sw.org/index.php/Special:AWCforum/sp/id979
|
|
|
|
|
|
|
| 3:04:30 PM PST - Mon, Jan 30th 2012 |
|
Thanks,
|
Dear Edoardo,
Thank you; I've compiled NWChem specifying the 64bit pointers explicitly in MKL, as follows:
export BLASOPT="-L$MKLROOT/lib/intel64 -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread -lm"
And it seems to work now. Previously, I let the compiler choose with simple -mkl switch, and it perhaps picked the 32bit ones.
--
Grigory Shamov
|
|
|
AWC's:
2.5.10 MediaWiki - Stand Alone Forum Extension
Forum theme style by: AWC