ACML ERROR with LAPACK
Q. I have used ACML and compiled successfully but while running pwscf error *** ACML error : ------- 4 invalid parameter -----. Why do I get this error.
Ans. Most probably you have AMD APU ( I had this and got same error). Old version of ACML probably may not be compatible with pwscf and AMDAPU combination. Updating the ACML 6.0.6 has solved the problem for me.
ACML 6.0.6 or higher are support for heterogeneous computing. It used CL version of BLAS (clblas) and FFT (clfft) libraries which transfers your CPU load to GPU and you get enhanced performance.
example code to compile pwscf with opencl is as follows:
./configure BLAS_LIBS="/opt/clAmdBlas1.10.321/lib64/libclAmdBlas.so.1.10.321" FFT_LIBS="/opt/clAmdFft-1.10.321/lib64/libclAmdFft.Runtime.so.1.10.321" LAPACK_LIBS="-L/opt/acml-6.06/gfortran64_mp/lib/x86_64 -lacml_mp"
I have used latest version of clAmdBlas, and also clAmdFft and given path to shared library
for LAPACK I have given path to latest ACML library.
you can make all or make pw
If you get *****.so library not found in /--/--/--
and then export corred LD_PATH
copy the following and paste in your .bashrc file present in your home directory. It can be made visible by ctrl+h
export LD_LIBRARY_PATH="/opt/acml-6.06/gfortran64_mp/lib"
in case in your .bashrc file LD path is predefined for other library, you can include this by adding ":" between the new library path and old library path with a space and without any punctuation marks
export LD_LIBRARY_PATH="/xx/xsomepath -1/lib/x86_64/ :/opt/acml-6.06/gfortran64_mp/lib"
Then open terminal and type source .bashrc
in case you some error type cd
and then repeat type source .bashrc
now pwscf runs without any error and also puts some load on GPU.
Ans. Most probably you have AMD APU ( I had this and got same error). Old version of ACML probably may not be compatible with pwscf and AMDAPU combination. Updating the ACML 6.0.6 has solved the problem for me.
ACML 6.0.6 or higher are support for heterogeneous computing. It used CL version of BLAS (clblas) and FFT (clfft) libraries which transfers your CPU load to GPU and you get enhanced performance.
example code to compile pwscf with opencl is as follows:
./configure BLAS_LIBS="/opt/clAmdBlas1.10.321/lib64/libclAmdBlas.so.1.10.321" FFT_LIBS="/opt/clAmdFft-1.10.321/lib64/libclAmdFft.Runtime.so.1.10.321" LAPACK_LIBS="-L/opt/acml-6.06/gfortran64_mp/lib/x86_64 -lacml_mp"
I have used latest version of clAmdBlas, and also clAmdFft and given path to shared library
for LAPACK I have given path to latest ACML library.
you can make all or make pw
If you get *****.so library not found in /--/--/--
and then export corred LD_PATH
copy the following and paste in your .bashrc file present in your home directory. It can be made visible by ctrl+h
export LD_LIBRARY_PATH="/opt/acml-6.06/gfortran64_mp/lib"
in case in your .bashrc file LD path is predefined for other library, you can include this by adding ":" between the new library path and old library path with a space and without any punctuation marks
export LD_LIBRARY_PATH="/xx/xsomepath -1/lib/x86_64/ :/opt/acml-6.06/gfortran64_mp/lib"
Then open terminal and type source .bashrc
in case you some error type cd
and then repeat type source .bashrc
now pwscf runs without any error and also puts some load on GPU.
Comments
Post a Comment