±±¾©Ê¯ÓÍ»¯¹¤Ñ§Ôº2026ÄêÑо¿ÉúÕÐÉú½ÓÊÕµ÷¼Á¹«¸æ
²é¿´: 358  |  »Ø¸´: 2
¡¾½±Àø¡¿ ±¾Ìû±»ÆÀ¼Û1´Î£¬×÷ÕßµÆËþÊØÍûÕßÔö¼Ó½ð±Ò 0.5 ¸ö
µ±Ç°Ö÷ÌâÒѾ­´æµµ¡£

[×ÊÔ´] ¡¾·ÖÏí¡¿Building VASP with MKL

Building VASP

Build FFTW wrapper library for Intel® MKL
Change directory to /interfaces/fftw3xf.
Assuming default installation-- $cd /opt/intel/mkl/10.0.2.018/interfaces/fftw3xfBuild the fftw 3.x Fortran wrapper library for Intel® 64 (previously known as em64t) platform using the Intel compilers. $make libem64t compiler=intelThis will create the fftw wrapper library "libfftw3xf_intel.a" in lib/em64t directory of your Intel® MKL installation.



Build libdmy.a
Change directory to vasp.x.x.lib.
Run the following command from vasp.x.x.lib, using the Makefile for linux using the Intel compiler.
#make -f makefile.linux_ifc_P4After a successful compilation, libdmy.a will be built in the same directory.


Build VASP
Change directory to vasp.x.x.
Edit the makefile.linux_ifc_P4 to link with Intel® MKL libraries.
Go to the section where BLAS, LAPACK and FFT libraries are specified and change as below, assuming the default installation /opt/intel/mkl/10.0.2.018 for MKL 10.0 update 2.
BLAS=-L/opt/intel/mkl/10.0.2.018/lib/em64t -lmkl_intel_lp64 -lmkl_blacs_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread
LAPACK=-L/opt/intel/mkl/10.0.2.018/lib/em64t -lmkl_intel_lp64 -lmkl_blacs_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread
FFT3D= fftmpiw.o fftmpi_map.o fft3dlib.o /opt/intel/mkl/10.0.2.018/lib/em64t /libfftw3xf_intel.aModify Fortran compiler flags line to include fftw3.f from Intel® MKL include directory as below:
FFLAGS= -I/opt/intel/mkl/10.0.2.018/include/fftw -FR -lower_caseThis will eliminate compilation errors pertaining to "cannot open include file `fftw3.f' when Intel® MKL FFT is used rather than VASP's own FFTs.
To use Intel® MKL ScaLAPACK, modify additional options for CPP for parallel version adding -DscaLAPACK to the CPP line and specify Intel® MKL ScaLAPACK as below:
SCA=/opt/intel/mkl/10.0.2.018/lib/em64t/libmkl_scalapack_lp64.a /opt/intel/mkl/10.0.2.018/lib/em64t/libmkl_blacs_intelmpi_lp64.a
To use Intel® MPI specify Fortran compiler as FC=mpiifort.
Run the following command to build vasp:
$make -f makefile.linux_ifc_P4This will create the VASP executable in the current directory.


Step 5 - Running VASP
Run vasp by executing the following command with your workloads:
$mpirun -n 4 ./vasp

Appendix A - Performance Results

Below are VASP benchmark results for HG. VASP version is 4.6.28 on an Intel® Xeon 5400 series Harpertown machine.

Two Quad-core Xeon EM64T (harpertown) 2.83GHz CPUs
2 x 6M Cache
16G Bytes Memory
1333MHz FSB
OS:

RedHat Enterprise 4 U4
Libraries used:

Intel® MKL 9.1.023 (including BLAS, LAPACK & FFT which are be used in VASP)
Intel® MPI 3.1
Compiler to use:

Intel 10.1 C/C++ complier for EM64T
Intel 10.1 Fortran complier for EM64T
Running time (seconds)
Process Number Baseline program Tuned program with MKL
1 81.84 70.96
2 42.80 35.01
4 29.89 25.84
8 19.35 17.55



Appendix B - Known Issues and Limitations

When the Intel® MKL FFT is used instead of VASP¡¯s own implementation of FFT, it will give compilation errors similar to these:

fortcom: Error: fftw3d.f90, line 501: Cannot open include file 'fftw3.f'
include 'fftw3.f'
---------------^
fortcom: Error: fftw3d.f90, line 510: This name does not have a type, and must have an explicit type. [FFTW_FORWARD]
FFTW_FORWARD, FFTW_ESTIMATE)To eliminate the above errors, do one of the below mentioned workarounds.

Copy fftw3.f from /Intel® MKL include/fftw to the vasp.x.x directory.
$cp /include/fftw3.f /vasp.4.6OR

Modify makefile to include fftw3.f from Intel® MKL in the FFLAGS line:
FFLAGS= -I//include/fftw


ÄÚÈÝÀ´Ô´ÓÚhttp://software.intel.com/en-us/ ... g-intel-mkl-in-vasp

[ Last edited by mingdong on 2009-9-14 at 16:57 ]
»Ø¸´´ËÂ¥
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

superest

½ð³æ (СÓÐÃûÆø)


¡ï¡ï¡ï ÈýÐǼ¶,Ö§³Ö¹ÄÀø

Õâ¸öifort 10.1²»ÊÇÓдíÎóô£¿ÅÜbench Hg,½á¹û¶Ôô£¿
2Â¥2008-11-17 21:56:49
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

realac

Í­³æ (СÓÐÃûÆø)


hoho,ifort»¹ÊÇÓÃ9.1µÄ£¬10.1ºÃÏñ±àÒëvasp»¹ÊÇÓÐÎÊÌâ
3Â¥2008-11-18 07:30:45
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ µÆËþÊØÍûÕß µÄÖ÷Ìâ¸üÐÂ
¡î ÎÞÐǼ¶ ¡ï Ò»ÐǼ¶ ¡ï¡ï¡ï ÈýÐǼ¶ ¡ï¡ï¡ï¡ï¡ï ÎåÐǼ¶
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] »¯¹¤Çóµ÷¼Á +9 ÀóÏã֥ʿҬÄÌ 2026-04-03 9/450 2026-04-03 17:17 by chran16
[¿¼ÑÐ] 303Çóµ÷¼Á +9 DLkz1314. 2026-03-30 9/450 2026-04-03 16:59 by lijunpoly
[¿¼ÑÐ] 0854Çóµ÷¼Á +3 assdll 2026-04-03 3/150 2026-04-03 14:32 by fxue1114
[¿¼ÑÐ] 344²ÄÁÏÓ뻯¹¤µ÷¼Á +5 µ÷¼ÁÉϰ¶«^ 2026-04-03 5/250 2026-04-03 14:32 by Mistake-J
[¿¼ÑÐ] µ÷¼Á +4 asdasdassda 2026-04-03 5/250 2026-04-03 14:02 by °ÙÁéͯ888
[¿¼ÑÐ] »¯Ñ§308·Öµ÷¼Á +19 ÄãºÃÃ÷ÌìÄãºÃ 2026-03-30 20/1000 2026-04-03 11:34 by rjnabociow
[¿¼ÑÐ] ²ÄÁÏ¿ÆÑ§Ó빤³Ì¿¼ÑÐ +7 Õü¾ÈÆ¤ÌØÍÐÏÈÉú 2026-04-02 7/350 2026-04-03 09:37 by zllcz
[¿¼ÑÐ] Ò»Ö¾Ô¸Ö£ÖÝ´óѧ²ÄÁÏÓ뻯¹¤085600£¬Çóµ÷¼Á +15 ³ÔµÄ²»ÉÙ 2026-04-02 15/750 2026-04-03 09:32 by jp9609
[¿¼ÑÐ] 285Çóµ÷¼Á +14 AZMK 2026-04-02 14/700 2026-04-02 15:54 by ÉϾÅÌìÀ¿Ô£¨ºÃÔ
[¿¼ÑÐ] 282Çóµ÷¼Á +13 ºôÎü¶¼ÊǼõ·Ê 2026-04-01 13/650 2026-04-02 14:10 by baoball
[¿¼ÑÐ] ÄÜÔ´¶¯Á¦ µ÷¼Á +3 ²»ÆÆ²»Á¢0 2026-04-02 3/150 2026-04-02 12:46 by ffffjjjj
[¿¼ÑÐ] ²ÄÁÏÇóµ÷¼Á Ò»Ö¾Ô¸¹þ¹¤´ó×Ü·Ö298·Ö£¬Ç°Èý¿Æ223·Ö +12 dongfang59 2026-03-27 12/600 2026-04-02 12:26 by ms629
[¿¼ÑÐ] Ò»Ö¾Ô¸±±½»´ó²ÄÁϹ¤³Ì×Ü·Ö358 +3 cs0106 2026-04-02 5/250 2026-04-02 11:37 by olim
[¿¼ÑÐ] 279Çóµ÷¼Á +7 Īxiao 2026-04-01 7/350 2026-04-01 22:05 by ¿Í¶ûÃÀµÂ
[¿¼ÑÐ] 307·ÖÇóµ÷¼Á +14 (o~o) 2026-03-31 15/750 2026-04-01 20:43 by longlotian
[¿¼ÑÐ] µ÷¼Á +5 ºÃºÃ¶ÁÊé¡£ 2026-03-28 7/350 2026-04-01 15:32 by ÍõÁÁ_´óÁ¬Ò½¿Æ´ó
[¿¼ÑÐ] 291Çóµ÷¼Á +3 ÃÔÃÉľľ 2026-04-01 4/200 2026-04-01 11:07 by ÄæË®³Ë·ç
[¿¼ÑÐ] ºÏ·ÊÇøÓòÐÔÖØµãÒ»±¾ÕÐÊÕµ÷¼Á +4 6266jl 2026-03-30 8/400 2026-03-31 18:43 by 6266jl
[¿¼ÑÐ] 081200-314 +3 LILIQQ 2026-03-27 4/200 2026-03-28 09:41 by ±£»¤µØÇòÄãÎÒ×öÆ
[¿¼ÑÐ] 085405 ¿¼µÄ11408Çó¸÷λÀÏʦ´ø×ß +3 Qiuѧing 2026-03-28 3/150 2026-03-28 09:19 by ÀֺǺǵÄ×·ÃÎÈË
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û