Obliczenia równolegÅe w chemii kwantowej - ICM
Obliczenia równolegÅe w chemii kwantowej - ICM
Obliczenia równolegÅe w chemii kwantowej - ICM
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Obliczenia</strong> równoległe w <strong>chemii</strong><br />
<strong>kwantowej</strong><br />
Łukasz Walewski<br />
ljw@icm.edu.pl<br />
Interdyscyplinarne Centrum Modelowania Matematycznego i<br />
Komputerowego<br />
Zakład Biofizyki, Wydział Fizyki<br />
Uniwersytet Warszawski<br />
Jadwisin, 9 marca 2007 – p.1/15
Przeglad<br />
˛<br />
• Na czym polega złożoność obliczeń ab initio?<br />
• Infrastruktura obliczeniowa<br />
• Przykład zadania obliczeniowego<br />
• Skalowanie metod dynamiki molekularnej<br />
Jadwisin, 9 marca 2007 – p.2/15
Density Functional Theory<br />
Gęstość elektronowa:<br />
∫<br />
N dr 2 · · ·dr N |Ψ(r,r 2 ,...,r N )| 2 = n(r) =<br />
N∑<br />
i=1<br />
|Φ i (r)| 2<br />
Ψ(r,r 2 ,...,r N ) – N -elektronowa f. falowa<br />
n(r) – jednoelektronowa gęstość (Hohenberg-Kohn)<br />
Φ i (r) – jednoelektronowe spin-orbitale (Kohn-Sham)<br />
Jadwisin, 9 marca 2007 – p.3/15
Reprezentacja orbitali KS<br />
Rozwinięcie w bazie fal płaskich:<br />
Φ j (r) = √ 1<br />
G∑<br />
max<br />
Ω<br />
G<br />
c j (G) × e iG·r<br />
G – wektor sieci odwrotnej<br />
G max = 1<br />
2π 2 Ω E 3 2<br />
cut – ilość fal płaskich w rozwinięciu<br />
Ω – objętość komórki elementarnej<br />
CP: potraktować c j (G) jako klasyczne<br />
zmienne dynamiczne<br />
Jadwisin, 9 marca 2007 – p.4/15
Złożoność obliczeniowa<br />
• N = 8<br />
• a = 5 Å<br />
• E cut = 70 Ry<br />
⇓<br />
• N occ = 4<br />
• Ω = 843.5 Bohr<br />
• G max = 4 193<br />
Optymalizacja 4 193 × 4 = 16 772 współczynników.<br />
Jadwisin, 9 marca 2007 – p.5/15
Jülich MUlti Processor<br />
John von Neumann Institute für Computing (NIC)<br />
Jülich, Niemcy<br />
Oddany do użytku w 2004 r.<br />
Jadwisin, 9 marca 2007 – p.6/15
Jülich MUlti Processor<br />
Charakterystyka węzła IBM p690 Regatta<br />
• 32 processors, Power4+, 1.7 GHz<br />
• Main Memory: 128 GB, 567 MHz<br />
• Internal L1 cache: 64 KB instruction, 32 KB data<br />
(per processor)<br />
• Shared L2 cache: 1.5 MB (per chip = 2<br />
processors)<br />
• Shared L3 cache: 512 MB (per frame)<br />
• Peak performance: 218 GFLOPS<br />
Jadwisin, 9 marca 2007 – p.7/15
Jülich MUlti Processor<br />
Charakterystyka klastra JUMP<br />
• Total number of p690 frames: 41<br />
• Total number of processors: 1312<br />
• Aggregate peak performance: 8.9 TFLOPS<br />
• LINPACK performance (41 nodes): 5.568 TFLOPS<br />
• Aggregate main memory: 5.2 TByte<br />
• Global disk space (GPFS): 8 x 7 x 14 x 72 GB = 56 TB<br />
• Cluster interconnect: HPS - High Performance Switch:<br />
• Bandwidth > 1400 MB/s per link<br />
• Latency < 6.5 us<br />
Jadwisin, 9 marca 2007 – p.8/15
Czas obliczeń – przykład<br />
8<br />
7<br />
CPMD<br />
PIMD<br />
6<br />
∆F [ kcal / mol ]<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
reaction coordinate<br />
n CPUs 128<br />
czas CPU na krok CPMD 1.9 sek<br />
czas CPU na punkt 03:06:00 h<br />
czas ELA na punkt 03:20:00 h<br />
128 × 3 h = 384 h = 16 dni<br />
Jadwisin, 9 marca 2007 – p.9/15
Wpływ długości rozwinięcia<br />
E cut [ Ry ] t CPU [ s ]<br />
120 12<br />
70 10<br />
40 5<br />
25 3<br />
t CPU<br />
[ s ]<br />
14<br />
12<br />
10<br />
8<br />
6<br />
4<br />
2<br />
20 40 60 80 100 120 140<br />
E cut<br />
[ Ry ]<br />
Tablica 1: Czas wykonania t CPU w funkcji obcięcia<br />
funkcji falowej E cut (32 Power4 processors at 1.7 GHz,<br />
IBM p690).<br />
Jadwisin, 9 marca 2007 – p.10/15
Skalowanie obliczeń – IBM p690<br />
16384<br />
CPU time<br />
Elapsed time<br />
time [ s ]<br />
8192<br />
8 16 32 64 128 256<br />
number of CPUs<br />
CPMD: wersja równoległa (MPI), 38 atomów, 100 kroków PIMD;<br />
Jadwisin, 9 marca 2007 – p.11/15
Skalowanie obliczeń – Cray X1e i PC<br />
10000<br />
CrayX1e (MSP) CPU<br />
CrayX1e (MSP) ELA<br />
CrayX1e (SSP) CPU<br />
CrayX1e (SSP) ELA<br />
PC (1cpu/node) CPU<br />
PC (1 cpu/node) ELA<br />
PC (2 cpu/node) CPU<br />
PC (2 cpu/node) ELA<br />
Time [ s ]<br />
1000<br />
100<br />
1 2 4 8 16 32<br />
Number of processors<br />
CPMD: wersja równoległa (MPI), 32 H 2 O, 50 kroków MD;<br />
Jadwisin, 9 marca 2007 – p.12/15
Wydajność: biblioteki numeryczne<br />
Serial CPMD performance<br />
400<br />
IFC / ACML<br />
IFC / MKL<br />
PGI / ACML<br />
PGI / LAPACK<br />
300<br />
CPU time [ s ]<br />
200<br />
100<br />
0<br />
AMD Athlon, 1.6 GHz AMD Opteron, 2.0 GHz Intel Pentium 4, 2.4 GHz<br />
Processor type<br />
CPMD: wersja skalarna, 32 H 2 O, 1 krok MD;<br />
Jadwisin, 9 marca 2007 – p.13/15
Podsumowanie<br />
• Kwantowy opis układu ⇒ wiele stopni swobody<br />
• Wydajne zrównoleglenie oprogramowania<br />
• Szybka wymiana danych między procesorami<br />
Jadwisin, 9 marca 2007 – p.14/15
Zespół G16-7<br />
Jadwisin, 9 marca 2007 – p.15/15