Symulacja metody kwantowych trajektorii dla problemów optyki kwantowej oraz informatyki kwantowej



Podobne dokumenty
MINIMALIZACJA PUSTYCH PRZEBIEGÓW PRZEZ ŚRODKI TRANSPORTU

STATYSTYKA I ANALIZA DANYCH

Chemia Teoretyczna I (6).

Prawdopodobieństwo i statystyka

Znajdowanie pozostałych pierwiastków liczby zespolonej, gdy znany jest jeden pierwiastek

WYBRANE METODY DOSTĘPU DO DANYCH

BADANIA DOCHODU I RYZYKA INWESTYCJI

3. Regresja liniowa Założenia dotyczące modelu regresji liniowej

Metrologia: miary dokładności. dr inż. Paweł Zalewski Akademia Morska w Szczecinie

Artykuł techniczny CVM-NET4+ Zgodny z normami dotyczącymi efektywności energetycznej

Wykład. Inwestycja. Inwestycje. Inwestowanie. Działalność inwestycyjna. Inwestycja

ALGORYTM OPTYMALIZACJI PARAMETRÓW EKSPLOATACYJNYCH ŚRODKÓW TRANSPORTU

Ćwiczenie 10/11. Holografia syntetyczna - płytki strefowe.

Ć wiczenie 17 BADANIE SILNIKA TRÓJFAZOWEGO KLATKOWEGO ZASILANEGO Z PRZEMIENNIKA CZĘSTOTLIWOŚCI

ELEKTROTECHNIKA I ELEKTRONIKA

PODSTAWY OPRACOWANIA WYNIKÓW POMIARÓW Z ELEMENTAMI ANALIZY NIEPEWNOŚCI POMIAROWYCH

1.3. Największa liczba naturalna (bez znaku) zapisana w dwóch bajtach to a) b) 210 c) d) 32767

MATEMATYKA (poziom podstawowy) przykładowy arkusz maturalny wraz ze schematem oceniania dla klasy II Liceum

Plan wykładu. Architektura systemów komputerowych. Cykle zegarowe

Parametryzacja rozwiązań układu równań

ma rozkład złożony Poissona z oczekiwaną liczbą szkód równą λ i rozkładem wartości pojedynczej szkody takim, że Pr( Y

MACIERZE STOCHASTYCZNE

ANALIZA KSZTAŁTU SEGMENTU UBIORU TERMOOCHRONNEGO PRZY NIEUSTALONYM PRZEWODZENIU CIEPŁA

Charakterystyki liczbowe zmiennych losowych: wartość oczekiwana i wariancja

O pewnych zastosowaniach rachunku różniczkowego funkcji dwóch zmiennych w ekonomii

Jak obliczać podstawowe wskaźniki statystyczne?

Estymacja przedziałowa

x t 1 (x) o 1 : x s 3 (x) Tym samym S(3) = {id 3,o 1,o 2,s 1,s 2,s 3 }. W zbiorze S(n) definiujemy działanie wzorem

Elementy modelowania matematycznego

(1) gdzie I sc jest prądem zwarciowym w warunkach normalnych, a mnożnik 1,25 bierze pod uwagę ryzyko 25% wzrostu promieniowania powyżej 1 kw/m 2.

Zasilanie budynków użyteczności publicznej oraz budynków mieszkalnych w energię elektryczną

WYDZIAŁ ELEKTRYCZNY POLITECHNIKI WARSZAWSKIEJ INSTYTUT ELEKTROENERGETYKI ZAKŁAD ELEKTROWNI I GOSPODARKI ELEKTROENERGETYCZNEJ

ZADANIA - ZESTAW 2. Zadanie 2.1. Wyznaczyć m (n)

AUDYT SYSTEMU GRZEWCZEGO

INWESTYCJE MATERIALNE

Analiza dokładności pomiaru, względnego rozkładu egzytancji widmowej źródeł światła, dokonanego przy użyciu spektroradiometru kompaktowego

TESTY LOSOWOŚCI. Badanie losowości próby - test serii.

a n 7 a jest ciągiem arytmetycznym.

EGZAMIN MATURALNY Z INFORMATYKI MAJ 2011 POZIOM ROZSZERZONY WYBRANE: CZĘŚĆ I. Czas pracy: 90 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY

POLITECHNIKA OPOLSKA

Jarosław Wróblewski Analiza Matematyczna 1, zima 2016/17

z przedziału 0,1. Rozważmy trzy zmienne losowe:..., gdzie X

Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: Badania operacyjne. Temat ćwiczenia: Problemy transportowe cd, Problem komiwojażera

ZASTOSOWANIE PAKIETU SIMULINK DO MODELOWANIA TRANSMISJI VDSL*

Pierwiastki z liczby zespolonej. Autorzy: Agnieszka Kowalik

ANALIZA SKORELOWANIA WYNIKÓW POMIAROWYCH W OCENACH STANU ZAGROŻEŃ HAŁASOWYCH ŚRODOWISKA

Projekt z dnia r. Wersja 0.5 ROZPORZĄDZENIE MINISTRA GOSPODARKI 1) z dnia..

5. Zasada indukcji matematycznej. Dowody indukcyjne.

Przybliżone zapytania do baz danych z akceleracją obliczeń rozkładów prawdopodobieństwa

TRANSFORMACJA DO UKŁADU 2000 A PROBLEM ZGODNOŚCI Z PRG

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Magistrala systemowa (System Bus) Architektura komputera

STATYSTYKA OPISOWA WYKŁAD 1 i 2

ROZPORZĄDZENIE MINISTRA NAUKI I SZKOLNICTWA WYŻSZEGO 1) z dnia 21 października 2011 r.

D. Miszczyńska, M.Miszczyński KBO UŁ, Badania operacyjne (wykład 6 _ZP) [1] ZAGADNIENIE PRZYDZIAŁU (ZP) (Assignment Problem)

Ćwiczenia rachunkowe TEST ZGODNOŚCI χ 2 PEARSONA ROZKŁAD GAUSSA

SIGMA KWADRAT LUBELSKI KONKURS STATYSTYCZNO- DEMOGRAFICZNY

5. METODY MONTE CARLO A SYMULACJA POTOKÓW RUCHU (wg Drew, 1968)

Wytarzanie energii ze źródeł odnawialnych w procesie spalania mieszanego paliwa wtórnego zawierającego biomasę

ELEKTROTECHNIKA I ELEKTRONIKA

Trzeba pokazać, że dla każdego c 0 c Mc 0. ) = oraz det( ) det( ) det( ) jest macierzą idempotentną? Proszę odpowiedzieć w

Twoja firma. Podręcznik użytkownika. Aplikacja Grupa. V edycja, kwiecień 2013

Siłownie ORC sposobem na wykorzystanie energii ze źródeł niskotemperaturowych.

Politechnika Poznańska

ZAGADNIENIE ESTYMACJI. ESTYMACJA PUNKTOWA I PRZEDZIAŁOWA

Algorytmy I Struktury Danych Prowadząca: dr Hab. inż. Małgorzata Sterna. Sprawozdanie do Ćwiczenia 1 Algorytmy sortowania (27.02.

Przemysław Jaśko Wydział Ekonomii i Stosunków Międzynarodowych, Uniwersytet Ekonomiczny w Krakowie

SYSTEM KOMPUTEROWY UŁATWIAJĄCY WYKORZYSTANIE INFORMACJI O ZJAWISKACH SOCJALNO-EKONOMICZNYCH PRZY WYBORZE FIRM INWESTUJĄCYCH NA DANYM TERENIE

Matematyka finansowa r. Komisja Egzaminacyjna dla Aktuariuszy. XLVII Egzamin dla Aktuariuszy z 6 października 2008 r.

Jarosław Wróblewski Analiza Matematyczna 1A, zima 2012/13. Ciągi.

Harmonogramowanie linii montażowej jako element projektowania cyfrowej fabryki

Prawdopodobieństwo i statystyka r.

Strategie finansowe przedsiębiorstwa

Konspekt lekcji (Kółko matematyczne, kółko przedsiębiorczości)

Podstawy informatyki 2. Podstawy informatyki 2. Wykład nr 9 ( ) Plan wykładu nr 9. Politechnika Białostocka. - Wydział Elektryczny

KADD Metoda najmniejszych kwadratów

Zeszyty Problemowe Maszyny Elektryczne Nr 74/

Zeszyty naukowe nr 9

I. Podzielność liczb całkowitych

ZASTOSOWANIE PROGRAMOWANIA CAŁKOWITOLICZBOWEGO W UTRZYMANIU POJAZDÓW I MASZYN. Paweł Mikołajczak

KOMPETENCJE EKSPERTÓW W INFORMATYCZNYM SYSTEMIE WSPOMAGANIA DECYZJI

Metoda analizy hierarchii Saaty ego Ważnym problemem podejmowania decyzji optymalizowanej jest często występująca hierarchiczność zagadnień.

Fundamentalna tabelka atomu. eureka! to odkryli. p R = nh -

INSTRUKCJA NR 06-2 POMIARY TEMPA METABOLIZMU METODĄ TABELARYCZNĄ

kpt. dr inż. Marek BRZOZOWSKI kpt. mgr inż. Zbigniew LEWANDOWSKI Wojskowy Instytut Techniczny Uzbrojenia

ROZDZIAŁ 5 WPŁYW SYSTEMU OPODATKOWANIA DOCHODU NA EFEKTYWNOŚĆ PROCESU DECYZYJNEGO

POMIARY WARSZTATOWE. D o u ż y t k u w e w n ę t r z n e g o. Katedra Inżynierii i Aparatury Przemysłu Spożywczego. Ćwiczenia laboratoryjne

Konica Minolta Optimized Print Services (OPS) Oszczędzaj czas. Poprawiaj efektywność. Stabilizuj koszty. OPS firmy Konica Minolta

INSTRUKCJA DO ĆWICZEŃ LABORATORYJNYCH Z WYTRZYMAŁOŚCI MATERIAŁÓW

Moduł 4. Granica funkcji, asymptoty

Elementy rach. macierzowego Materiały pomocnicze do MES Strona 1 z 7. Elementy rachunku macierzowego

Relacje rekurencyjne. będzie następująco zdefiniowanym ciągiem:

8. Optymalizacja decyzji inwestycyjnych

Robot mobilny o zmiennym sposobie lokomocji system sterowania

Ekonomia matematyczna 2-2

Ćwiczenie nr 14. Porównanie doświadczalnego rozkładu liczby zliczeń w zadanym przedziale czasu z rozkładem Poissona

EGZAMIN MATURALNY Z INFORMATYKI

Wykład 11. a, b G a b = b a,

Rachunek prawdopodobieństwa i statystyka W12: Statystyczna analiza danych jakościowych. Dr Anna ADRIAN Paw B5, pok 407 adan@agh.edu.

ANALIZA DANYCH DYSKRETNYCH

14. RACHUNEK BŁĘDÓW *

Transkrypt:

Symulacja w Badaiach i Rozwoju Vol. 6, No. 1/2015 Joaa WIŚNIEWSKA Wojskowa Akademia Techicza, 00-908 Warszawa, ul. Kaliskiego 2 E-mail: jwisiewska@wat.edu.pl Marek SAWERWAIN Uiwersytet Zieloogórski, 65-256 Zieloa Góra, ul. Liceala 9 E-mail: M.Sawerwai@issi.uz.zgora.pl Symulacja metody kwatowych trajektorii dla problemów optyki kwatowej oraz iformatyki kwatowej 1 Wstęp Metody Mote Carlo, począwszy od pierwszych prac Joha vo Neumaa, Staisława Ulama oraz Nicholasa Metropolisa [6, 7], są szeroko wykorzystywae w obliczeiach dotyczących obszaru chemii, astrofizyki, fizyki kwatowej oraz obszaru odoszącego się do obliczeń kwatowych. W przypadku problemów fizyki kwatowej, czy też obliczeń kwatowych wykorzystujących metody Mote Carlo moża wskazać wiele otwartych projektów obliczeiowych (lista oprogramowaia dostępa pod adresem: http://www.quatiki.org/wiki/list_of_qc_simulators). Na wskazaej liście projektów moża wskazać kilka projektów odoszących się do tzw. kwatowych trajektorii: a są to między iymi pakiet autorstwa Sze M. Ta [10], pakiet QuTIP [5], a także C++QED przedstawioy w pracy [12]. Dostępe jest też ieco starsze rozwiązaie [9], rówież wykorzystujące techikę trajektorii kwatowych. Jedakże wymieioe rozwiązaia ie wykorzystują wielordzeiowych systemów opartych a CPU (ag. Cetral Processig Uit), jak i GPU (ag. Graphics Processig Uit). Wyjątkiem jest pakiet QuTIP, gdzie podczas obliczeia poszczególych trajektorii kwatowych wykorzystuje się dostępe rdzeie obliczeiowe. Przy czym obliczeia są realizowae tylko za pomocą CPU. W pracy [5] pokazao, iż w przypadku rówoległego przetwarzaia trajektorii, w stosuku do starszych rozwiązań jak a przykład: pakiet [10], uzyskuje się liiowe przyspieszeie. Zastosowaie GPU w przypadku trajektorii pozwala a dalsze zwiększeie wydajości, a także pozwala a osiągięcie lepszej dokładości obliczeń w krótszym czasie, gdyż większa liczba obliczoych, a późiej uśredioych trajektorii, statystyczie polepsza dokładość uzyskaych daych. W tym artykule zostaie zaprezetowaa implemetacja metody kwatowych trajektorii wykoaa za pomocą techologii CUDA (ag. Compute Uified Device Architecture). Celem takiego podejścia jest umożliwieie wspomiaym symulatorom programowym jak ajszybszego i ajdokładiejszego odwzorowaia zjawisk z zakresu optyki i iformatyki kwatowej. Badaia tego rodzaju mogą przyczyić się do rozwoju wiedzy a temat powyższych zjawisk bez iwestowaia środków w ieporówywalie 67

Joaa WIŚNIEWSKA, Marek SAWERWAIN droższe eksperymety fizycze. Przedstawioe zostaą także testy wydajości zapropoowaej implemetacji. Algorytm kwatowych trajektorii wymaga także odpowiedich metod do geerowaia liczb pseudolosowych (pakiet CUDA oferuje odpowiedie geeratory liczb pseudolosowych o dobrej wydajości oraz w pełi dostosowae do pracy w środowisku rówoległym), a także podaia odpowiedich metod do rozwiązywaia zagadieia początkowego odpowiedie metody zostały zaimplemetowae w propoowaym rozwiązaiu i krótko omówioe w dalszej części artykułu. 2 Metoda kwatowych trajektorii Opis dyamiki staów kwatowych moża podzielić a dwa podstawowe przypadki, tzw. ewolucję zamkiętą, która jest dość często stosowaa, a przykład: w przypadku obwodów kwatowych, tj. obliczeń kwatowych, oraz ewolucję w środowisku otwartym, gdzie rówież otoczeie wpływa a postać stau kwatowego. Nie jest aszym celem w tym miejscu opisywać, jak przedstawia się matematyczy opis dyamiki wspomiaych dwóch przypadków. Szczegółowy opis moża odszukać a przykład w [8] oraz [11]. Nadmieimy tylko, iż w przypadku zamkiętym (tzw. ewolucja uitara) stosuje się rówaie Schrödigera [1, 3]: d (A) ih Ψ = HˆΨ, (B) i h ψ = H ψ, (1) t dt gdzie rówaie (A) to cząstkowe rówaie różiczkowe, atomiast w przypadku symulacji umeryczych stosuje się postać (B). W postaci (B) wielkość H to tzw. Hamiltoia opisujący dyamikę, a sta ψ reprezetuje sta badaego systemu w chwili t. Jeśli atomiast ależy uwzględić wpływ otoczeia, to stosowae jest rówaie vo Neumaa, które opisuje uogólioy sta układu za pomocą operatora gęstości: i & ρtot ( t) = [ Htot, ρtot ( t) ], Htot = H sys + Hev + Hit, (2) h gdzie H sys opisuje dyamikę systemu zamkiętego, H ev dyamikę otoczeia, a H it dyamikę iterakcji otoczeia z systemem. Dość często stosuje się tzw. operację śladu częściowego, aby usuąć wpływ otoczeia, i w te sposób uzyskuje się tzw. rówaie główe Lidblada o postaci: 1 + + + [ H ( t), ρ( t) ] + [ 2Cρ( t) C ρ( t) C C C C ( t ] i & ρ( t ) = ρ ), (3) h 2 gdzie C to tzw. operatory collapsu, które reprezetują wpływ otoczeia a symuloway układ. Zastosowaie takiego operatora aturalie zmieia postać stau. Jedakże adal mamy do czyieia z wykładiczą złożoością obliczeń w trakcie symulacji zachowaia układu kwatowego. 68

Symulacja metody kwatowych trajektorii dla problemów optyki kwatowej oraz iformatyki kwatowej Obecie uzaą metodą zmiejszeia wymagań pamięciowych jest stosowaie tzw. metody kwatowych trajektorii. Jedakże, aby poprawie przybliżyć zachowaie się układu kwatowego, wymagaa jest symulacja wielu pojedyczych trajektorii (co jest aturalą kosekwecją losowego charakteru metod Mote Carlo). Poszczególe trajektorie moża symulować iezależie od siebie, co ułatwia rówoległą implemetację metody kwatowych trajektorii. Podsumowując, symulacja ewolucji systemu w przypadku metod kwatowych trajektorii jest opisaa przez Hamiltoia o postaci: H eff = H sys ih 2 C + C. (4) Prawdopodobieństwo tzw. kwatowego skoku, czyli zastosowaia operatora collapsu C do stau układu ψ w chwili t, jest opisae jako: + δ p = δt C C. Natomiast sta systemu kwatowego po zastosowaiu operatora collapsu przedstawia się astępująco: C ψ ( t + δt) =. (6) + C C W przypadku, gdy mamy więcej iż jede operator collapsu, prawdopodobieństwo zastosowaia i-tego operatora C jest opisae w astępujący sposób: + Ci Ci Pi ( t) =. (7) δ p W procesie symulacji ależy aturalie skorzystać z geeratora liczb pseudolosowych, aby zasymulować probabilistyczy wybór odpowiediego C i. Wszystkie powyższe obliczeia sprowadzają się do operacji a macierzach oraz wektorach, przy czym postać wspomiaych macierzy zazwyczaj jest wstęgowa, tj. rzadka, toteż dla oszczędości pamięci, a także zaczego przyspieszeia obliczeń ależy stosować macierze typu sparse. Ze względu a wiele operacji typu iloczy macierz-wektor, zastosoway został format CSR (ag. Compressed Sparse Row), który oferuje w tym przypadku dalsze zwiększeie efektywości. Powyższe iezbęde uwagi, pozwalają a poiższy słowy zapis algorytmu symulacji pojedyczej trajektorii, w postaci astępujących czterech główych kroków obliczeiowych (aalogiczie do podejścia pokazaego p. w pracy [5]): 1. Wybieraa jest wartość losowa ) (0,1 r z rozkładem jedostajym ciągłym, gdzie wartość r opisuje prawdopodobieństwo wystąpieia kwatowego skoku. 2. Rozwiązywae jest rówaie Schrödigera (postać (B) ze wzoru (1)) przy pomocy (5) 69

70 Joaa WIŚNIEWSKA, Marek SAWERWAIN Hamiltoiau H eff do czasu t, tak aby spełioa była ierówość: r, co ozacza wystąpieie kwatowego skoku. 3. Wystąpieie kwatowego skoku powoduje operację projekcji systemu przy czasie t do jedego ze staów opisaych w rówaiu (6). Odpowiedi operator C i jest wybieray tak, aby dla odpowiediego spełioa była relacja: Pi ( t) r ; (8) i=1 poszczególe prawdopodobieństwa P i są określoe przez rówaie (7). 4. Otrzymay, w wyiku projekcji, sta fukcji falowej staowi ową wartość początkową dla czasu t. Losowaa jest owa wartość r i procedura symulacji trajektorii rozpoczya się od kroku pierwszego. Ogólie symulacja trajektorii jest przeprowadzaa do wcześiej wskazaej wartości czasu t. 3 Szczegóły implemetacji w architekturze CUDA C/C++ Algorytm kwatowych trajektorii (QTM ag. Quatum Trajectories Method) ze względu a swoją podstawową własość, czyli obliczaie wielu iezależych trajektorii, moża dość łatwo zapisać jako algorytm rówoległy. W algorytmie wyróżia się dwa główe etapy: 1. Symulację kwatowych trajektorii według metody opisaej w powyższej sekcji. 2. Uśredieie otrzymaych trajektorii i utworzeie ostateczej trajektorii. Główe zadaie, które w całym procesie obliczeiowym zabiera ajwięcej czasu, to aturalie sam proces wyzaczaia trajektorii. Podstawowa strategia implemetacji algorytmu QTM wykorzystuje wspomiaą własość, iż idywiduale trajektorie są obliczae iezależie od pozostałych, więc a etapie wyzaczaia trajektorii istieje peła iezależość daych pomiędzy poszczególymi trajektoriami. Łatwo także wskazać dae wspóle, jak p.: defiicja Hamiltoiau, defiicja operatorów collapsu, czy zmiea czasu w postaci listy lub tablicy, zawierająca poszczególe wartości zmieej czasowej. Wymieioe rodzaje daych mogą pozostawać iezmiee podczas wyzaczaia poszczególych trajektorii. W przypadku implemetacji algorytmu QTM ależy też wskazać duży obszar daych lokalych w każdym wątku przetwarzającym pojedyczą trajektorię. Do zmieych lokalych przyależą także zmiee opisujące stay geeratorów liczb pseudolosowych, które dla metod Mote Carlo muszą wytwarzać róże sekwecje liczb w poszczególych wątkach, aby symulacja była poprawa. Niestety, duża ilość daych lokalych, związaych też z wieloma istacjami procedury do rozwiązywaia zwyczajych rówań różiczkowych (ODE ag. Ordiary Differetial Equatio), ozacza, iż warto rozpatrywać dwa przypadki. Pierwszy przypadek staowią symulacje małych układów, gdzie ograiczoe zasoby szybkiej pamięci lokalej dostępe w jedostkach obliczeiowych GPU są w takim przypadku wystarczające. Drugi przypadek to duże systemy, gdzie iezbęde jest korzystaie z pamięci główej GPU. Schemat zadań, jaki jest wykoyway w jądrze obliczeiowym podczas wyzaczaia wartości trajektorii kwatowych, został przedstawioy a rysuku 1.

Symulacja metody kwatowych trajektorii dla problemów optyki kwatowej oraz iformatyki kwatowej Dodajmy, iż ż drugi etap QTM, polegający a uśredieiu otrzymaego zestawu trajektorii w jedą ą fialą postać, moża efektywie zrealizować, wykorzystując operację redukcji rówoległej. Rys. 1. Ogóla struktura symulacji metody kwatowych trajektorii w systemie GPU (wartość PR jest pozyskiwaa z geeratora liczb pseudolosowych) Fig. 1. The geeral structure of quatum trajectories method simulatio for GPU (value PR is obtaied with use of pseudoradom umber geerator) Realizacja algorytmu w postaci jądra obliczeiowego dla GPU wymaga zwróceia szczególej ej uwagi a postać daych wykorzystywaych w metodzie kwatowych trajektorii. Wyikiem algorytmu QTM jest ciąg tzw. wartości oczekiwaych, będących liczbami rzeczywistymi (wartości te otrzymuje się poprzez zastosowaie dodatkowego operatora uitarego a staie układu po zakończeiu obliczeń dotyczących określoej trajektorii). Wektor stau oraz macierze poszczególych operatorów wymagają, aby elemety tych struktur były wartościami zespoloymi. Pakiet CUDA oferuje odpowiedi typ daych cucomplex (jest to typ szabloowy języka C++). Jedakże w implemetacji użyto miej zaawasowaą implemetację liczb zespoloych, poieważ dodatkowy kod odpowiedzialy za stabilość umeryczą podczas realizacji operacji, takich jak dzieleie czy obliczeia modułu, ie jest potrzeby. Wszystkie wartości są zormalizowae, więc zastosowaie bardziej podstawowej implemetacji ma zaczeie dla wydajości całego systemu i ie powoduje kłopotów ze stabilością umeryczą. Defiicja wzorca simplecomplex, jaka jest używaa w dyskutowaej implemetacji, to typowa defiicja oparta a strukturze: template <typeame T> struct simplecomplex { }; T re; T im; 71

72 Joaa WIŚNIEWSKA, Marek SAWERWAIN Naturalie wraz z typem simplecomplex zostały przeciążoe podstawowe operatory sumy, iloczyu i etc., co pozwala zarówo dla kodu gospodarza (ag. host) jak też kodu wykoywaego po stroie urządzeia (ag. device), a czytely zapis operacji arytmetyczych. W podoby sposób zdefiioway został typ uvector. Typ te moża stosować zarówo dla kodu wykoywaego po stroie hosta, jak i po stroie urządzeia GPU. Dla wygody użytkowika zdefiiowao także operator dostępu do elemetów wektora: template <typeame T, size_t v_size> struct uvector { usiged it size; T m[ v_size ]; host device T& operator[] (cost size_t idx) { retur m[idx]; }; host device cost T& operator[] (cost size_t idx) cost { retur m[idx]; }; }; Pozostałe pomocicze defiicje, jak typ reprezetujący pełą macierz umatrix oraz macierz typu sparse ucsrmatrix, zostały oparte a wzorcu uvector. Istotym elemetem są geeratory liczb losowych. Zastosowao rozwiązaie CURAND dostępe w pakiecie CUDA, oferujące wystarczająco wysoką wydajość oraz dobre własości statystycze. Dostępe w pakiecie curad geeratory liczb pseudolosowych to XORWOW oraz MRG32k3A. Jedak przy rozpatrywaiu określoej symulacji dyamiki systemu kwatowego za pomocą QTM może się okazać iż zamiast stosować geerator liczby pseudolosowych w każdym wątku warto użyć wcześiej przygotowaego zbioru wartości losowych (czy to za pomocą geeratora sekwecji pseudolosowych, czy też w oparciu o źródła fizycze [2] oraz [4]). Nie wpłyie to istotie a wielkość trasferu daych, lecz pozwoli zwolić część zasobów pamięci lokalej. W efekcie może to pozwolić a zwiększeie liczby wyzaczaych trajektorii w obrębie jedego bloku. Kolejym iezbędym elemetem do otrzymaia poprawej implemetacji metody kwatowych trajektorii są metody umerycze do rozwiązywaia zwyczajych rówań różiczkowych lub dokładiej problem zagadieia początkowego. W omawiaym symulatorze dokoao implemetacji metody Ruge Kutta czwartego rzędu (RK4) oraz metody BDF (ag. Backward Differetiatio Formula). Implemetacja metod została wykoaa w postaci wzorca, co umożliwia łatwą kowersję między typami daych liczbowych float i double. Pozwala także a określeie wielkości struktur, jakie będą przetwarzae w tej procedurze obliczeiowej. Jest to koiecze, bowiem metoda QTM wylicza rozwiązaie układu rówań, gdzie liczba rówań jest wielkością stau kwatowego podlegającego badaiu. Zwarta postać metody RK4 jest kosekwecją obecości defiicji typów simplecomplex czy uvector wraz z bogatym zestawem przeciążoych operatorów, co pozwala a klarową implemetację operacji arytmetyczych a wektorach i skalarach. Należy jedak poowie podkreślić, iż w trakcie wyzaczaia trajektorii

Symulacja metody kwatowych trajektorii dla problemów optyki kwatowej oraz iformatyki kwatowej rówolegle fukcjouje wiele istacji tej metody, a do poprawego fukcjoowaia metoda ta wymaga dodatkowych wektorów, które aturalie muszą alokować lokale zasoby dostępe dla każdego wątku. Zestawy parametrów przekazywaych do metod RK4 i BDF są idetycze i wymagają podaia: szerokości przedziału itegracji (h), tzw. czasu wyjścia (Tout), maksymalej liczby iteracji, aktualej wartości zmieej czasowej, aktualego stau układu Y. Ostati parametr to fukcja odpowiedziala za ewolucję wartości stau za pomocą wcześiej określoego Hamiltoiau. 4 Podsumowaie Porówajmy zapropoowaą implemetację z bardzo popularym w ostatim czasie pakietem QuTIP, wspierającym metodę trajektorii kwatowych. Niech przykładowa symulacja dotyczy tzw. uitarego Hamiltoiau: 2π H = σ x, 10 0 σ x = 1 1, (9) 0 gdzie σ x reprezetuje tzw. operator Pauliego X, w obszarze iformatyki kwatowej azyway także operatorem egacji. Sta początkowy jest określoy astępująco: 1 ψ 0 = 0 =. (10) 0 Operator collapsu użyty w symulacji został określoy w astępujący sposób: C 5 1 0 = σ x, E0 = σ z, σ =, (11) 100 0 1 0 z gdzie σ z to kolejy operator Pauliego Z, azyway także operatorem zmiay zaku. Choć powyższe struktury są iewielkie, to proces symulacji 50 trajektorii za pomocą pakietu QuTIP a komputerze klasy PC, wyposażoego w procesor Itel Core 2 Duo 8400 3.0 Ghz, przy wykorzystaiu jedego rdzeia zabiera około trzech, czterech sekud. W przypadku użycia dwóch rdzei obliczeiowych czas będzie podoby ze względu a to, iż pakiet QuTIP geeruje zbyt duży arzut związay z obsługą dwóch wątków. Naturalie zwiększeie liczby trajektorii pozwoli zauważyć zysk związay ze zwiększoą ilością rdzei obliczeiowych. Wyiki dla karty klasy GeForce 460, wyposażoej 1GB RAM, w przypadku gdy stosowaa jest metoda RK4, otrzymujemy czas działaia około 0.08 sekudy, co daje około pięćdziesięciokrote przyspieszeie w stosuku do czasu działaia wersji jedoprocesorowej. A ależy dodać, iż tylko jede wątek był wykorzystyway w ramach jedego bloku. Przy użyciu metody BDF4 aturalie czas działaia jest dłuży i wyosi około 0.2 sekudy, więc otrzymae przyspieszeie jest już miejsze, bo dwudziestokrote. Naturalie obliczeia za pomocą CPU oraz GPU były przeprowadzae a liczbach typu double. 73

74 Joaa WIŚNIEWSKA, Marek SAWERWAIN Zapropoowae rozwiązaie pozwala a osiągięcie przyspieszeia w obliczeiach opartych a metodzie kwatowych trajektorii w stosuku do istiejących rozwiązań. Dokładość propoowaej implemetacji, dotyczy to szczególie przypadku, gdy używaa jest metoda RK4, jest aturalie porówywala do obliczeń przeprowadzaych za pomocą tradycyjych szeregowych implemetacji, czy też rówoległych, opartych a tradycyjych uiwersalych procesorach. Należy mieć jedak świadomość, że otrzymywae przyspieszeie jest w dużej mierze zależe od sprzętu, którym dyspoujemy. Zjawiska kwatowe posiadają wykładiczą aturę i symulowaie ich a klasyczych maszyach zawsze wiąże się z pewymi ograiczeiami, p. w metodzie kwatowych trajektorii ależy liczyć się z tym, że otrzymamy pewie uśredioy wyik, poieważ jest to metoda typu Mote Carlo. W dalszych plaach rozwoju opisaych tu procedur obliczeiowych, przewidziae jest dołączeie iych metod, jak p.: Block BDF (BBDF) czy metody Adamsa-Bashforda, do dwóch już zaimplemetowaych metod przezaczoych do rozwiązywaia rówań różiczkowych, tj. metody Ruge-Kutta oraz BDF. Moża oczekiwać, iż metoda BBDF dodatkowo skróci czas obliczeń ze względu a miejszą liczbę potrzebych iteracji przy zachowaiu stabilości oferowaej przez metody BDF. Rówież wykorzystaie owych możliwości związaych z techologią Dyamic Parallelism (obeca w ajowszych urządzeiach NVIDIA oraz dostępa w ramach CUDA C/C++ od wersji 5.0) może przyczyić się do uzyskaia wydajiejszej implemetacji opisywaych metod. Ważym zagadieiem jest także dodaie iego rozwiązaia związaego z geeracją liczb pseudolosowych. Zamiast wykorzystaia zestawu geeratorów liczb pseudolosowych wartości pseudolosowe będą czerpae ze zbioru wcześiej przygotowaych daych. Pozwoli to a zwolieie części lokalych zasobów, a także umożliwi korzystaie z wartości wygeerowaych za pomocą urządzeń fizyczych. Literatura 1. Chudy M.: Wprowadzeie do iformatyki kwatowej. EXIT, Warszawa 2011 2. Frauchiger D., Reer R., Troyer M.: True radomess from realistic quatum devices. arxiv:1311.4547, 2013 3. Hirvesalo M.: Algorytmy kwatowe. WsiP, Warszawa 2004 4. ID Quatique SA., Quatis, product web page http://www.idquatique.com/radom-umber-geerators/products.html, 2013 5. Johasso J.R., Natio P.D. ad Nori F.: QuTiP 2: A Pytho framework for the dyamics of ope quatum systems. Comp. Phys. Comm., vol. 184, Issue 4, pp. 1234-1240, 2013 6. Metropolis N., Ulam S.: The Mote Carlo Method. Joural of the America Statistical Associatio, vol. 44, o. 247, pp. 335-341, 1949 7. Metropolis N., Rosebluth A.W., Rosebluth M.N., Teller A.H., Teller E.: Equatio of state calculatio by fast computig machies. Joural of Chemical Physics, vol. 21, o. 6, pp. 1087-1092, 1953 8. Nielse, M.A., Chuag, I.L.: Quatum Computatio ad Quatum Iformatio: 10th Aiversary Editio. Cambridge Uiversity Press, 2010 9. Schacka R., Bru T.A.: A C++ library usig quatum trajectories to solve quatum master equatios. Comp. Phys. Comm., vol. 102, pp. 210-228, 1997

Symulacja metody kwatowych trajektorii dla problemów optyki kwatowej oraz iformatyki kwatowej 10. Sze M. Ta: A Computatioal Toolbox for Quatum ad Atomic Optics. J. Opt. B: Quatum Semiclass. Opt., vol. 1, o. 4, pp. 424, 1999 11. Wyatt R.E.: Quatum Dyamics with Trajectories. Spriger New York, 2005 12. Vukics A.: C++QEDv2: The multi-array cocept ad compile-time algorithms i the defiitio of composite quatum systems. Computer Physics Commuicatios, vol. 183, pp. 1381-1396, 2012 Streszczeie W artykule została przedstawioa rówoległa implemetacja odmiay metody Mote Carlo do symulacji dyamiki kwatowych systemów otwartych jest to tzw. metoda kwatowych trajektorii (QTM). Implemetacja została wykoaa za pomocą techologii CUDA i obejmuje oa realizację procedury umeryczej odpowiedzialej za algorytm QTM. W artykule została też pokazaa wydajość otrzymaych metod umeryczych dla QTM w stosuku do iych zaych implemetacji. Słowa kluczowe: metoda kwatowych trajektorii, symulacja kwatowych systemów otwartych, obliczeia umerycze, techologia CUDA, obliczeia GPU Simulatig the quatum trajectories method for problems related to quatum optics ad quatum computig Summary The chapter cotais a parallel implemetatio of Mote Carlo method for simulatig the ope quatum systems dyamics. The metioed approach is the Quatum Trajectories Method (QTM). The implemetatio is carried out with use of CUDA techology ad it is based o a umerical procedure realizig QTM algorithm. The chapter presets also a compariso of elaborated umerical methods performace i compariso to other existig implemetatios. Keywords: quatum trajectories method, simulatio of ope quatum systems, umerical computatios, CUDA techology, GPU computatio 75

Symulacja w Badaiach i Rozwoju Vol. 6, No. 1/2015 76