±±¾©Ê¯ÓÍ»¯¹¤Ñ§Ôº2026ÄêÑо¿ÉúÕÐÉú½ÓÊÕµ÷¼Á¹«¸æ
²é¿´: 1115  |  »Ø¸´: 0

A±¦Â»¼ÆËã

Òø³æ (³õÈëÎÄ̳)

[½»Á÷] VASP µÄ OpenACC GPU ¶Ë¿Ú

ÔÚ VASP.6.2.0 ÖУ¬ÎÒÃÇÕýʽ·¢²¼ÁË VASP µÄ OpenACC GPU ¶Ë¿Ú£ºÕýʽµÄÒâ˼ÊÇÎÒÃÇÏÖÔÚÇ¿ÁÒ½¨ÒéʹÓÃ´Ë OpenACC °æ±¾ÔÚ GPU ¼ÓËÙϵͳÉÏÔËÐÐ VASP¡£
VASP֮ǰµÄCUDA-C GPU ¶Ë¿Ú±»ÈÏΪÒÑÆúÓ㬲»ÔÙ»ý¼«¿ª·¢¡¢Î¬»¤»òÖ§³Ö¡£´Ó VASP.6.3.0 ¿ªÊ¼£¬VASP µÄ CUDA-C GPU ¶Ë¿ÚÒÑÍêȫɾ³ý¡£

ÄÚÈÝ
1¸öÒªÇó
1.1Èí¼þÕ»
1.2Ó²¼þ
2¸ö½¨Öþ
3¸öÌØµãºÍÏÞÖÆ
4¸öÔËÐÐ OpenACC °æ±¾
5¸öѧ·Ö
6¸öÏà¹ØÎÄÕÂ
񻂗
Èí¼þÕ»
±àÒëÆ÷
Òª±àÒë VASP µÄ OpenACC °æ±¾£¬ÄúÐèÒª×îа汾µÄNVIDIA HPC-SDK (>=21.2)¡£
Ô­ÔòÉÏ£¬ÈκÎÖÁÉÙÖ§³Ö OpenACC ±ê×¼ 2.6 µÄ±àÒëÆ÷¶¼Ó¦¸Ã¿ÉÒÔ×öµ½ÕâÒ»µã£¬µ«ÎÒÃÇÖ»³¢ÊԺͲâÊÔÁËÉÏÊö±àÒëÆ÷¡£
×¢Ò⣺NVIDIA HPC-SDK °æ±¾ 22.1 ºÍ 22.2 ÓÐÒ»¸öÑÏÖØµÄ´íÎ󣬽ûÖ¹Óë OpenMP Ïß³ÌÒ»ÆðÖ´ÐÐ OpenACC °æ±¾¡£Ê¹ÓÃÕâЩ±àÒëÆ÷°æ±¾Ê±£¬ÄúÓ¦¸ÃÔÚûÓÐ OpenMP Ö§³ÖµÄÇé¿öϽøÐбàÒë¡£´Ë´íÎóÒÑ´Ó NVIDIA HPC-SDK °æ±¾ 22.3 ¿ªÊ¼ÐÞ¸´¡£
ͼÊé¹Ý
ÊýÖµ¿â£ºFFTW¡¢BLAS¡¢LAPACK ºÍ scaLAPACK¡£Èç¹ûÄúʹÓõÄÊÇNVIDIA HPC-SDK£¬Äú±ØÐë×Ô¼º°²×°µÄΨһÊýÖµ¿âÊÇFFTW¡£ºóÈý¸ö£¨BLAS¡¢LAPACK ºÍ scaLAPACK£©Ëæ SDK Ò»ÆðÌṩ¡£»òÕߣ¬Äú¿ÉÒÔÁ´½Óµ½ÌṩËùÓÐËĸöµÄIntel oneAPI MKL¿âµÄ°²×°¡£
NVIDIA CUDA ¹¤¾ß°ü(>=10.0)¡£ËùÓбØÒªµÄ CUDA ¹¤¾ß°ü×é¼þ¶¼×÷Ϊ NVIDIA HPC-SDK µÄÒ»²¿·ÖÌṩ¡£
MPI µÄ CUDA ¸ÐÖª°æ±¾¡£Óë NVIDIA HPC-SDK Ò»Æð´ò°üµÄ OpenMPI °²×°ÊÇ CUDA ¸ÐÖªµÄ¡£
NVIDIA ¼¯ÌåͨÐÅ¿â (NCCL) (>=2.7.8)¡£Õâ¸ö¿â²»ÊÇÒ»¸öÑϸñµÄÒªÇ󣬵«³öÓÚÐÔÄÜÔ­ÒòÇ¿ÁÒ½¨ÒéʹÓÃËü¡£ºÏÊ浀 NCCL °²×°×÷Ϊ NVIDIA HPC-SDK µÄÒ»²¿·ÖÌṩ¡£
˾»ú
ÄúÐèÒªÒ»¸öÖÁÉÙÖ§³Ö CUDA-10.0 µÄ CUDA Çý¶¯³ÌÐò¡£
Ó²¼þ
ÎÒÃǽöʹÓÃÒÔÏ NVIDIA GPU ²âÊÔÁË VASP µÄ OpenACC GPU ¶Ë¿Ú£º
NVIDIA Êý¾ÝÖÐÐÄ GPU£ºP100 (Pascal)¡¢V100 (Volta) ºÍ A100 (Ampere)¡£
NVIDIA Quadro GPU£ºGP100 (Pascal) ºÍ GV100 (Volta)¡£
×¢Ò⣺ÔÚÆäËû NVIDIA GPU£¨ÀýÈç¡°ÓÎÏ·¡±Ó²¼þ£©ÉÏÔËÐÐ VASP ÔÚ¼¼ÊõÉÏÊÇ¿ÉÐе쬵«²»¿ÉÈ¡£ºÕâЩ GPU ²»Ì«Êʺϣ¬ÒòΪËüÃDz»Ìṩ¿ìËÙË«¾«¶È¸¡µãÔËËã (FP64) ÐÔÄÜ£¬²¢ÇÒͨ³£¾ßÓиüСµÄûÓоÀ´íÂë (ECC) ¹¦ÄܵĴ洢Æ÷¡£
½¨Öþ
Òª¹¹½¨ VASP µÄ OpenACC ¶Ë¿Ú£¬×îºÃ½«ÄúµÄmakefile.includeÎļþ»ùÓÚÆäÖÐÒ»¸öÔ­ÐÍÄ£°å£¬²¢¸ù¾ÝÄúϵͳµÄ¾ßÌåÇé¿öµ÷ÕûÕâЩģ°å¡£
ÌØµãºÍÏÞÖÆ
VASP µÄ´ó²¿·Ö¹¦Äܶ¼ÒÑʹÓà OpenACC ÒÆÖ²µ½ GPU£¬µ«Éæ¼° RPA µÄËùÓй¦ÄܳýÍ⣺GW ºÍ ACFDT¡£ÕâÊÇÕýÔÚ½øÐеŤ×÷¡£
³öÓÚÐÔÄÜÔ­Òò£¬Ó¦±ÜÃâʹÓò¨º¯ÊýµÄ²¢ÐÐ FFT ( NCORE >1)¡£Ä¿Ç°£¬¼´Ê¹ÔÚINCARÎļþÖÐÁíÓÐÖ¸¶¨£¬OpenACC °æ±¾Ò²»á×Ô¶¯Çл»µ½NCORE =1 ¡£
ÓÉÓÚʹÓà NCCL£¬VASP µÄ OpenACC °æ±¾Ö»ÄÜʹÓÃÿ¸ö¿ÉÓà GPU µÄµ¥¸ö MPI µÈ¼¶À´Ö´ÐУº
ÔÚ´ó¶àÊýÇé¿öÏ£¬Ê¹Óà NCCL ¾ßÓкܴóµÄÐÔÄÜÓÅÊÆ¡£µ«ÊÇ£¬ÎÒÃÇÖªµÀÕâÑùÒ»¸öÊÂʵ£¬¼´¶ÔÓÚСÐÍϵͳÉϵļÆË㣬±£ÁôÈöà¸ö MPI ¼¶Êý¹²ÏíÒ»¸ö GPU µÄÄÜÁ¦½«ºÜÓÐÓ㬲¢¼Æ»®Ê¹ NCCL µÄʹÓóÉΪ¿ÉÑ¡µÄÒÔÏû³ý´ËÏÞÖÆ¡£
ÔËÐÐ OpenACC °æ±¾
1.ÿ¸ö GPU ʹÓõ¥¸ö MPI µÈ¼¶£¨Ä¿Ç°£¬NCCL µÄʹÓÃÅųýÁËÿ¸ö GPU ʹÓöà¸öµÈ¼¶£©¡£
2.³ýÁË MPI µÈ¼¶Ö®Í⣬»¹Ê¹Óà ​​OpenMP Ïß³ÌÀ´ÀûÓøü¶à¿ÉÓÃµÄ CPU ÄÜÁ¦¡£OpenACC °æ±¾Ä¿Ç°½öÏÞÓÚʹÓà 1 ¸ö MPI-rank/GPU£¬ÕâÒâζ×Å¿ÉÄÜÓÐÏ൱¶àµÄ CPU ÄÜÁ¦Î´±»Ê¹Óá£ÓÉÓÚÈÔÈ»Óв¿·Ö´úÂëÔÚ CPU ¶ËÔËÐУ¬Òò´ËÔÊÐíÿ¸ö MPI µÈ¼¶Ê¹Óöà¸ö OpenMP Ï߳̿ÉÄÜÊÇÓÐÒæµÄ£º
oÒªÁ˽âÈçºÎʹÓà OpenACCºÍOpenMP Ö§³Ö¹¹½¨ VASP£¬Çë²é¿´makefile.include.nvhpc_ompi_mkl_omp_accÎļþ¡£
×¢Ò⣺ÕâÀïÎÒÃÇÁ´½ÓÁËÓÃÓÚ CPU ¶Ë FFTW¡¢BLAS¡¢LAPACK ºÍ scaLAPACK µ÷ÓõÄÓ¢ÌØ¶û MKL ¿âºÍÓ¢ÌØ¶û OpenMP ÔËÐÐʱ¿â ( libiomp5.so ¡£ÔÚΪ Intel CPU ±àÒëʱǿÁÒ½¨ÒéÕâÑù×ö£¬ÓÈÆäÊÇÔÚʹÓöàÏß³Ìʱ¡£ÎªÈ·±£ MKL ʹÓÃÓ¢ÌØ¶û OpenMP ÔËÐÐʱ¿â£¬ÄúÐèҪͨ¹ýÒÔÏ·½Ê½ÉèÖû·¾³±äÁ¿£º
export MKL_THREADING_LAYER=INTEL
»òÕßͨ¹ýÌí¼Ó£º
-x MKL_THREADING_LAYER=intel
×÷ΪÃüÁîµÄÑ¡Ïîmpirun¡£
o½« OpenMPI µÈ¼¶ºÍ OpenMP Ïß³ÌÕýÈ··ÅÖú͹̶¨µ½ CPU ÄÚºËÉÏ¿ÉÄÜÓе㼬ÊÖ£¬ÕâÈ¡¾öÓÚʹÓÃµÄ MPI µÄÌØ¶¨·ç¸ñ¡£
3.Òª»ñµÃ×î¼ÑÐÔÄÜ£¬Ã÷ÖǵØÑ¡ÔñKPARºÍNSIM·Ç³£ÖØÒª¡£²»ÐÒµÄÊÇ£¬ÀíÏëÖµ½«È¡¾öÓÚÄúϵͳµÄ¾ßÌåÇé¿ö£¬°üÀ¨¹¤×÷¸ºÔغÍÓ²¼þ£¬Òò´ËÄú½«²»µÃ²»³¢ÊÔ²»Í¬µÄÉèÖᣵ«ÊÇ£¬¸ù¾Ý¾­Ñ飬¿ÉÒÔ˵£º
o½«KPARÉèÖÃΪÄú½«ÒªÊ¹ÓÃµÄ GPU ÊýÁ¿£¨= MPI-ranks£©¡£²»¹ý£¬Õâ½öÔÚ¼ÆËãÖв»¿ÉÔ¼kµãµÄÊýÁ¿»ò¶à»òÉٿɱ»KPARÕû³ýʱ²ÅÓÐÒâÒ壬·ñÔò MPI µÈ¼¶ÉϵŤ×÷·Ö²¼½«ÑÏÖØ²»Æ½ºâ¡£ÕâÒâζ×ÅÄúÔÚÑ¡Ôñ´Ë²ÎÊýʱµÄÑ¡ÏîÓÐЩÊÜÏÞ¡£
oNSIMÈ·¶¨ÔÚÐí¶àµç×ÓÇó½âÆ÷£¨ÀýÈç RMM-DIIS ºÍ blocked-Davidson£©ÖÐͬʱÓÅ»¯µÄ²¨¶ÎÊý¡£×÷ΪһÏî¹æÔò£¬Óë CPU ¶ËÖ´ÐÐÏà±È£¬Ó¦¸ÃÑ¡Ôñ¸ü´óµÄ²ÎÊýÒÔ»ñµÃ GPU ÉϵÄÁ¼ºÃÐÔÄÜ¡£
×¢Ò⣺ΪÁËÓÅ»¯ VASP µÄ CPU ¶ËÖ´ÐУ¬Í¨³£Ò²»á¶ÔNCORE½øÐв»Í¬µÄÉèÖᣵ±ÔÚ GPU ÉÏÔËÐÐʱ£¬Èκβ»Í¬ÓÚNCORE =1 µÄ¶«Î÷¶¼»á¶ÔÐÔÄܲúÉú²»ÀûÓ°Ï죬²¢ÇÒ VASP ½«×Ô¶¯Çл»µ½NCORE =1£¬¼´Ê¹ÔÚINCARÎļþÖÐÁíÓÐÖ¸¶¨Ò²ÊÇÈç´Ë¡£
»Ø¸´´ËÂ¥
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ A±¦Â»¼ÆËã µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] ²ÄÁϵ÷¼Á +13 СÁõͬѧ߹߹ 2026-04-06 14/700 2026-04-06 19:43 by µç³Ø°¢°×
[¿¼ÑÐ] ÉúÎïѧ308·ÖÇóµ÷¼Á£¨Ò»Ö¾Ô¸»ª¶«Ê¦´ó£© +8 ÏàÐűػá¹ââÍòÕ 2026-04-06 9/450 2026-04-06 18:38 by macy2011
[¿¼ÑÐ] 277Çóµ÷¼Á ÊýÒ»104·Ö +9 Æ¿×ÓPZ 2026-04-05 11/550 2026-04-06 17:07 by À¶ÔÆË¼Óê
[¿¼ÑÐ] 301Çóµ÷¼Á +13 121. 2026-04-04 13/650 2026-04-06 14:20 by lqwchd
[¿¼ÑÐ] 081700»¯Ñ§¹¤³ÌÓë¼¼Êõ Ò»Ö¾Ô¸Öк£Ñó 323 Çóµ÷¼ÁѧУ +18 ÅûÐÇºÓ 2026-04-03 18/900 2026-04-06 13:55 by BruceLiu320
[¿¼ÑÐ] Ò»Ö¾Ô¸Äϲý´óѧ£¬085600£¬344·ÖÇóµ÷¼Á +9 µ÷¼ÁÉϰ¶«^ 2026-04-05 10/500 2026-04-06 09:30 by dongzh2009
[¿¼ÑÐ] Ò»Ö¾Ô¸ËÕÖÝ´óѧ²ÄÁϹ¤³Ì£¨085601£©×¨Ë¶ÓпÆÑо­ÀúÈýÏî¹ú½±Á½¸öʵÓÃÐÍרÀûÒ»ÏîÊ¡¼¶Á¢Ïî +10 ´ó»ðɽС»ðɽ 2026-04-05 10/500 2026-04-05 19:58 by СÎÏţСÎÏÅ£
[¿¼ÑÐ] 282Çóµ÷¼Á +7 aaa³µÁ¾ 2026-04-02 11/550 2026-04-05 17:24 by yulian1987
[Óлú½»Á÷] ¼×´¼/¶þÂÈ 1:15¹ýÖù×Ó 5+3 a°¥yßÏwι 2026-03-31 3/150 2026-04-05 10:42 by 88817753
[¿¼ÑÐ] 266·Ö£¬Ò»Ö¾Ô¸µçÆø¹¤³Ì£¬±¾¿Æ²ÄÁÏ£¬Çó²ÄÁÏרҵµ÷¼Á +11 ÍÛºôºßºôºß 2026-04-01 12/600 2026-04-04 23:17 by ÓÀ×ÖºÅ
[¿¼ÑÐ] ÇóÉúÎïѧѧ˶µ÷¼Á¡ª¡ª364·Ö +7 ÔÆ¶äåÞÍäÖ¸ÄÏ 2026-04-04 7/350 2026-04-04 22:49 by zhyzzh
[¿¼ÑÐ] 325Çóµ÷¼Á +4 ´º·ç²»½èÒâ 2026-04-04 4/200 2026-04-04 14:46 by ÏæÅ©´¢ÄܲÄÁÏ
[¿¼ÑÐ] ר˶085601Çóµ÷¼Á +7 suyifei 2026-04-03 8/400 2026-04-03 14:00 by ÐÀϲ777
[¿¼ÑÐ] ÉúÎïѧ˶341Çóµ÷¼Á +4 ÄãЦÆðÀ´ÏñÔÆ¶ä 2026-04-03 4/200 2026-04-03 10:32 by macy2011
[¿¼ÑÐ] 085801 ×Ü·Ö275 ±¾¿ÆÐÂÄÜÔ´ Çóµ÷¼Á +19 bradoner 2026-04-01 23/1150 2026-04-03 10:07 by linyelide
[¿¼ÑÐ] ũѧ¿¼ÑÐÇóµ÷¼Á +3 dkdkxm 2026-04-01 3/150 2026-04-02 16:04 by wangjagri
[¿¼ÑÐ] 321Çóµ÷¼Á Ò»Ö¾Ô¸ Õã½­¹¤Òµ´óѧÉúÎïÒ½Ò© +5 ºÙºÙHC 2026-04-01 6/300 2026-04-02 15:23 by sophie2180
[¿¼ÑÐ] Çóµ÷¼Á +4 DADA¹Ö 2026-03-31 4/200 2026-04-01 14:30 by ZXlzxl0425
[¿¼ÑÐ] ÍÁľ304Çóµ÷¼Á +5 ¶¥¼¶²Á²Á 2026-03-31 5/250 2026-04-01 08:15 by fdcxdystjk£¤
[¿¼ÑÐ] ¿¼Ñе÷¼ÁÇóÖú +7 13287130938 2026-03-31 7/350 2026-03-31 16:39 by 690616278
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û