Sprzêtowa implementacja czêœci wielomianowej funkcji orbitalnej na potrzeby obliczeñ kwantowo-chemicznych

Samankaltaiset tiedostot
Optyczny tomograf procesowy sk³adaj¹cy siê z piêciu projekcji

Matematyka 1. Šukasz Dawidowski. Instytut Matematyki, Uniwersytet l ski

Adaptacyjny uk³ad regulacji z predyktorem Smitha z mo liwoœci¹ zastosowania w systemach rozproszonych

Koncepcja i realizacja molekularnego modelu obliczeñ w analizie paradygmatu niewidzialnej rêki rynku Adama Smitha

Analiza sceny przy u yciu deskryptorów punktów charakterystycznych**

Metody kalibracji urz¹dzeñ do akwizycji sygna³ów okoruchowych***

Uproszczony przep³ywowy model hemodializy porównanie z klasycznym modelem dwuprzedzia³owym**

Konfiguracja sceny w systemie wizyjnym z nieruchom¹ kamer¹**

Matematyka 1. Šukasz Dawidowski. Instytut Matematyki, Uniwersytet l ski

Badania nad automatyzacj¹ procesu tworzenia serwisów internetowych

Generowanie danych z obrazów bronchoskopowych w celu póÿniejszej klasyfikacji***

Zamykanie otworów w trójwymiarowych obiektach wolumetrycznych

Matematyka 1. Šukasz Dawidowski. Instytut Matematyki, Uniwersytet l ski

Zastosowanie zbiorów rozmytych do ewaluacji ró nych aspektów systemów kszta³cenia

Rekrutacja Referencje

Paljonko kello on?mitä kello on?

Charakterystyka kasy ELZAB Delta Max E 8 Zawarto opakowania 8


CERTYFIKAT JĘZYKOWY UNIWERSYTETU WARSZAWSKIEGO EGZAMIN Z JĘZYKA OBCEGO NA POZIOMIE B1 TEST PRZYKŁADOWY

Podróże Poruszanie się

Hakemus Työhakemus. Työhakemus - Aloitus. Virallinen, vastaanottaja mies, nimi tuntematon. Virallinen, vastaanottaja nainen, nimi tuntematon

bab.la Zwroty: Korespondencja osobista Życzenia fiński-fiński

Karta Praw dla Dzieci z Trudnościami

Instrukcja obs³ugi AQUALTIS. Spis treœci AQGMD 149 PRALKA-SUSZARKA

BRUKSANVISNING KÄYTTÖOHJE MÙKÖDÉSI ÉS HASZNÁLATI UTASÍTÁS INSTRUKCJA OBS UGI NÁVOD NA INSTALACI A POUÎITÍ

S-ZSOTOOP DZDATA !SWIA 0 \ S-ISOTOOPPIDATA GTL-78 S AVZA. M19/3314/=78/14/10 M,IkeI ä, A.J.Laitakari Pielavesi, Säviä

Instrukcje / Käyttöohjeet / Instruksjoner

Instrukcje / Käyttöohjeet / Instruksjoner

(2006/C 274/02) (Tekst mający znaczenie dla EOG)

K Ä Y T T Ö S U U N N I T E L M A Y H D Y S K U N T A L A U T A K U N T A

Yksityinen kirjeenvaihto Yksityiskirje

PROGRAM NAUCZANIA MATEMATYKI W KLASACH 4 8 SZKOŁY PODSTAWOWEJ

Matkustaminen Liikkuminen

Laboratorium PORADNIK ANALITYKA. Maxwell. Automatyczna izolacja DNA i RNA. s. 15 PRZEGLĄD OGÓLNOPOLSKI 2019

t P1 `UT. Kaupparek. nro Y-tunnus Hämeenlinnan. hallinto- oikeudelle. Muutoksenhakijat. 1( UiH S<

YHDYSKUNTALAUTAKUNTA TALOUSARVIOEHDOTUS 2018 TALOUSSUUNNITELMA

2016 TOP 10O t], ]Lt ELEMENTY GRY

Suosituimmat kohdemaat

Erasmus+ eurooppalainen korkeakoululiikkuvuus Suomesta

CERTYFIKAT JĘZYKOWY UW EGZAMIN Z JĘZYKA FIŃSKIEGO NA POZIOMIE B1 TEST PRZYKŁADOWY

Ilmalämpöpumput. KUPARIPUTKI KIEPPI ARMACELL 1/4X3/8 L25M ERISTETTY LVI-numero PIKA VR06

La a d u l l in en in d ik a a t t o r i

Määräys STUK SY/1/ (34)

Gap-filling methods for CH 4 data

ANVÄNDARMANUAL REFRAKTOMETER IDG-TOOLS

Erasmus-liikkuvuuden tilastoja Anni Kallio

IAN FI SE PL IAN TOWER FAN STV 50 A1 TURMVENTILATOR TORNFLÄKT TORNITUULETIN WENTYLATOR FI SE PL DE. Bedienungsanleitung.

Suomi Svenska Polski Lietuvių Deutsch... 55

Eduskunnalle nyt annettava esitys nuorten työssä olevia nuoria työntekijöitä.

Säteilyturvakeskuksen määräys turvallisuusluvasta ja valvonnasta vapauttamisesta

TARKISTUKSET FI Moninaisuudessaan yhtenäinen FI 2012/0266(COD) Mietintöluonnos Dagmar Roth-Behrendt (PE507.

PUTKIKAKSOISNIPPA MUSTA

Valtuuskunnille toimitetaan oheisena asiakirja COM(2017) 112 final LIITTEET 1 9.

LOIMAAN KAUPUNGIN ELINKEINOPOLIITTINEN OHJELMA (luonnos )

w + x + y + z =4, wx + wy + wz + xy + xz + yz =2, wxy + wxz + wyz + xyz = 4, wxyz = 1.

Erasmus-liikkuvuuden tilastoja Anni Kallio

MATEMATIIKAN HARJOITTELUMATERIAALI

POSTĘPOWANIA ZWIĄZANE Z REALIZACJĄ POLITYKI KONKURENCJI KOMISJA EUROPEJSKA

Travel Getting Around

Kumimatot taakse 41,30. Kumimatot, eteen 49,40 45,81. Kumimatot, eteen

Patteriventtiilit, termostaatit

Salasanan vaihto uuteen / How to change password

thrnividitinrnairminniuilvizun ihuminannutitiviin, fifol Eikkrbe

KÄYTTÖOHJE BRUKSANVISNING OPERATING INSTRUCTION INSTRUKCJA MONTAŻU

Nokkavipuliittimet NOKKAVIPUL. UROS SK DN25 HST NOKKAVIPUL. UROS SK DN32 HST NOKKAVIPUL. UROS SK DN40 HST NOKKAVIPUL.

Tehtäviä neliöiden ei-negatiivisuudesta

Matkustaminen Yleistä

Kotimaisten kielten tutkimuskeskus Suomen kielen nauhoitearkisto

Kattoläpiviennit KATTOLÄPIVIENTISARJA VILPE. Tuote LVI-numero Pikakoodi SOLAR TIILI MUSTA TM85 SOLAR TIILI RUSKEA AD58

Stepped Basic Function in the Asymptotic Homogenization of an Elliptic System

Virtapainike. Virran merkkivalo. Bluetooth-merkkivalo. Bluetooth-painike. Päälle tai pois kytkeminen

Monika Kociuba 500 najbardziej przydatnych fińskich słówek

Korespondencja osobista Życzenia

DRUKUJ, WYMAZUJ, POPRAWIAJ I DRUKUJ PONOWNIE

Usko, toivo ja rakkaus

Efficiency change over time

Aluevarausmerkinnät: T/kem Maakuntakaava

3 *ä;r ä:e 5ä ä{ :i. c oo) S g+;!qg *r; Er ; l[$ E ;;iä F:ä ä :E ä: a bo. =. * gäf$iery g! Eä. a is äg*!=."fl: ä; E!, \ ins:" qgg ;._ EE üg.

N I K E A N U S K O N T U N N U S T U S

Voice Over LTE (VoLTE) By Miikka Poikselkä;Harri Holma;Jukka Hongisto

Suorat ja tasot, L6. Suuntajana. Suora xy-tasossa. Suora xyzkoordinaatistossa. Taso xyzkoordinaatistossa. Tason koordinaattimuotoinen yhtälö.

Tietokonearkkitehtuuri 2 TKT-3201 (5 op)

Bedienungsanleitung. Instrukcja obs ugi. Bruksanvisning. Käyttöohje

21~--~--~r--1~~--~--~~r--1~

Maailman nuoret Maittainen jakauma

Yksityinen kirjeenvaihto Yksityiskirje

(ks. kuva) ja sen jälkeen x:n ja y:n suhteen yli xy-tasossa olevan alueen projektion G:

Vapaaehtoiset palkattomat virkavapaat ja työlomat (5+2)

KÄYTTÖOHJE BRUKSANVISNING OPERATING INSTRUCTION INSTRUKCJA MONTAŻU BEDIENUNGSANLEITUNG

T Tietojenkäsittelyteorian seminaari

BM20A0900, Matematiikka KoTiB3

Introduction to Mathematical Economics, ORMS1030

ART HOUSE C M Y CM MY CY CMY K. Harjoitus tekee mestarin. Suomen kielen syventäviä harjoituksia maahanmuuttajille. Marja-Liisa Saunela

Tekijä Pitkä matematiikka Suoran pisteitä ovat esimerkiksi ( 5, 2), ( 2,1), (1, 0), (4, 1) ja ( 11, 4).

Laskennalinen kemia. Menetelmien hierarkia: Molekyyligeometria Molekyylimekaniikka Molekyylidynamiikka

Yksityinen kirjeenvaihto Yksityiskirje

- Viktig information innan du använder enheten

Matikkapaja keskiviikkoisin klo Lineaarialgebra (muut ko) p. 1/81

MATERIAALI- VALINTA HITSAUS- AINEET

NURMISEMINAARI. Maidon markkinakatsaus

Transkriptio:

AUTOMATYKA 2010 Tom 14 Zeszyt 3/2 Maciej Wielgosz*, Ernest Jamro*, Pawe³ Russek*, Kazimierz Wiatr* Sprzêtowa implementacja czêœci wielomianowej funkcji orbitalnej na potrzeby obliczeñ kwantowo-chemicznych 1. Wprowadzenie Algorytmy stosowane w chemii kwantowej odznaczaj¹ siê ogromnymi wymaganiami obliczeniowymi. W przypadku bardziej zaawansowanych uk³adów cz¹steczek, sk³adaj¹cych siê z kilkunastu atomów, czas obliczeñ realizowanych z wykorzystaniem komputerów du ej mocy jest rzêdu kilku dni. Dlatego podejmowane by³y w przesz³oœci i s¹ obecnie liczne inicjatywy maj¹ce na celu przyspieszenie tego rodzaju obliczeñ [1, 2]. Zrodzi³ siê te pomys³ wykorzystania uk³adów FPGA do akceleracji obliczeñ zmiennoprzecinkowych w chemii kwantowej. Matryce rekonfigurowalne wydaj¹ siê atrakcyjne, ze wzglêdu na mo liwoœci implementowania niskopoziomowych operacji, które stwarzaj¹ szerokie mo liwoœci doboru oczekiwanej precyzji obliczeñ. Ta w³asnoœæ ma szczególnie istotne znacznie w przypadku algorytmów iteracyjnych, dla których w kolejnych krokach oczekiwana jest, coraz wiêksza dok³adnoœci obliczeñ. Redukcja precyzji obliczeñ prowadzi jednoczeœnie do zmniejszenia zajêtoœci zasobów, a przede wszystkim do przyspieszenia wykonywania operacji. Uk³ady FPGA dziêki silnie równoleg³ej architekturze wewnêtrznej pozwalaj¹ na dostosowanie struktury jednostki obliczeniowej do rozmiaru uk³adu cz¹steczek, dla jakiego prowadzone s¹ obliczenia, uwzglêdniaj¹c typy pow³ok atomowych oraz iloœci funkcji bazy. Obecnie coraz powszechniej wykorzystywane s¹ jêzyki wysokiego poziomu takie jak Impuls C, Mitron C [8], które jednak pomimo skrócenia czasu projektowania, nie pozwalaj¹ na tak efektywne modelowanie bitowych operacji jak jêzyki HDL. Dlatego postanowiliœmy w naszej pracy wykorzystaæ jêzyk VHDL, co zaowocowa³o równie implementacj¹ szeregu silnie zoptymalizowanych modu³ów zmiennoprzecinkowych, takich jak funkcja exp, akumulator, uk³ad mno ¹cy, które odznaczaj¹ siê lepszymi parametrami ni odpowiadaj¹ce im jednostki z biblioteki producentów [7]. * Katedra Elektroniki, Akademia Górniczo-Hutnicza w Krakowie, ACK-CYFRONET, Kraków 939

940 Maciej Wielgosz, Ernest Jamro, Pawe³ Russek, Kazimierz Wiatr Do realizacji prezentowanego w niniejszym artykule modu³u zosta³a wykorzysta platforma SGI RASC, istnieje ona ju kilka lat i zyska³a sobie rzesze u ytkowników. Pojedyncza karta zawiera dwa uk³ady Xilinx Virtex-4 LX200 oraz 80 MB pamiêci QDR SRAM [3]. Jest ona umieszczona w strukturze komputera SMP SGI Altix 4700. Autorzy przeprowadzili równie badania wydajnoœci wspomnianej platformy, opisane w osobnej pracy [4], co pozwoli³o wyraÿnie oddzieliæ wyniki prowadzonych badaniach od specyfiki i wydajnoœci samej platformy. 2. Algorytm Jedn¹ z najbardziej popularnych i najprostszych technik aproksymacji równania Schroedingera jest metoda Hatree Focka. Ogóln¹ procedur¹ rozwi¹zania tego równania jest metoda samouzgodnienia. Wykonywana jest ona w sposób iteracyjny, a do uzyskania oczekiwanego wyniku (oczekiwanej dok³adnoœci). Ogólna procedura rozwi¹zania równania Hartree Focka w zapisie macierzowym wyra a siê nastêpuj¹cym równaniem [5]: FC SCE = 0 (1) gdzie: F operator Focka, C macierz nieznanych wspó³czynników, S macierz ca³ek nak³adania, E diagonalna macierz energii orbitalnych, wszystkie macierze s¹ jednakowych rozmiarów. W niniejszym artykule prezentowany jest fragment algorytmu obliczania wartoœci orbitalu atomowego w punkcie bezpoœrednio wykorzystywany w ramach metody DFT [5], który wyra ony jest nastêpuj¹ formu³a (2). k l m χ () ir 2 klm r = Cx Cy Cz rx ryrz ce i α (2) i gdzie wartoœci r x, r y, r z s¹ to wspó³rzêdne punktu gridu rzutowanego na atom, dla którego prowadzone s¹ obliczenia, natomiast C x, C y, C z s¹ wspó³czynnikami normalizacji. Wyk³adniki k, l, m zale ¹ od typu pow³oki atomowej (s, p, d lub f). Natomiast wartoœci C i oraz α i s¹ wspó³czynnikami bazy atomowej, w jakiej prowadzone s¹ obliczenia. Zale noœæ r 2 = r x 2 + r y 2 + r z 2 okreœla po³o enie danego punktu rzutowego na ka dy atom [5] w siatce przestrzennej. Obliczanie czêœci wielomianowej funkcji orbitalnej wykonywane jest z wykorzystaniem wspó³czynników eksponencjalnych otrzymanych jako wynik dzia³ania jednostki EP, opisanej w odrêbnej publikacji [6]. Opisywane w tej pracy obliczenia prowadzone s¹

Sprzêtowa implementacja czêœci wielomianowej funkcji orbitalnej... 941 w oparciu o zale noœæ wyra on¹ równaniem (3), stanowi ona czeœæ sk³adow¹ formu³y opisuj¹cej funkcjê orbitaln¹ (2). k l m w x y z x y z χ () r = C C C r r r (3) 3. Architektura modu³u Implementacja równania (3) z wykorzystaniem procesora ogólnego przeznaczenia sprowadza siê do stworzenia struktury z³o onej z kilku pêtli obliczeniowych, w przeciwieñstwie do implementacji w uk³adach FPGA, która wymaga opracowania odrêbnego sprzêtowego modu³u. Podstawowymi za³o eniami przyjêtymi podczas implementacji algorytmu sprzêtowej realizacji wielomianowej czêœci orbitalu atomowego by³o wielokrotne wykorzystywanie raz obliczonych wspó³czynników oraz generowanie ich z w³aœciwym wyprzedzeniem, tak by mo liwe by³o zapewnienie p³ynnoœci pracy ca³ego systemu obliczania funkcji orbitalnej. Z tego te wzglêdu modu³ PP (obliczaj¹cy czêœæ wielomianow¹ orbitalu atomowego) podzielony zosta³ na dwa bloki sk³adowe (rys. 1): pp_gen, pp_read, z których ka dy spe³nia odrêbn¹ funkcjê. W zale noœci od typu pow³oki równanie (3) przybiera ró n¹ postaæ (tab. 1), uwzglêdniaj¹c¹ równie wspó³czynniki normalizacji. Dla wy szych pow³ok roœnie iloœæ orbitali atomowych, co jak to zostanie w dalszej czêœci artyku³u pokazane wp³ywa na efektywnoœæ pracy modu³u PP. Rys. 1. Schemat blokowy logiki PP (obliczaj¹cej wielomianow¹ czêœæ funkcji orbitalnej)

942 Maciej Wielgosz, Ernest Jamro, Pawe³ Russek, Kazimierz Wiatr Tabela 1 Czeœæ wielomianowa orbitalu atomowego w zale noœci od typu pow³oki Typ pow³oki Typ orbitalu (wartoœci k,l,m) Wspó³czynnik normalizacji Czêœæ wielomianowa s 1 1 1 p X 1 x Y 1 y Z 1 z d X 2 1/3 1/3 x 2 xy 1 xy xz 1 xz Y 2 1/3 1/3 y 2 yz 1 yz Z 2 1/3 1/3 z 2 f X 3 2/30 2/30 x 3 X 2 y 1/3 1/3 x 2 y X 2 z 1/3 1/3 x 2 z xy 2 1/3 1/3 xy 2 xyz 1 xyz xz 2 1/3 1/3 xz 2 Y 3 2/30 2/30y 3 Y 2 z 1/3 1/3 y 2 z yz 2 1/3 1/3 yz 2 Z 3 2/30 2/30 Logika pp_gen (rys. 1) generuje wartoœci wspó³czynników wielomianowych funkcji orbitalnej, które bêd¹ u ywane w nastêpnym kroku obliczeniowym. Natomiast jednostka pp_read odczytuje wartoœci obliczonych uprzednio (w poprzednim kroku) wspó³czynników, na podstawie informacji o rodzaju pow³oki, dla jakiej prowadzone s¹ obliczenia. Uk³ad mno ¹cy wykorzystywany jest do otrzymania iloczynu czêœci wielomianowej oraz eksponencjalnej [6]. Synchronizacjê pracy przedstawionych jednostek zapewnia automat stanu pp_fsm (rys. 2).

Sprzêtowa implementacja czêœci wielomianowej funkcji orbitalnej... 943 Rys. 2. Automat steruj¹cy prac¹ logiki obliczaj¹cej czeœæ wielomianow¹ orbitalu atomowego Modu³ pp_gen odczytuje wspó³rzêdne punktów rx, ry, rz z pamiêci FIFO i wykonuje obliczenia wszystkich czêœci wielomianowych dla pow³ok s, p, d, f. Operacja ta wymaga 22 kroków obliczeniowych. Tak jak to zosta³o uwidocznione na schemacie blokowym modu³u PP (rys. 1), pamiêci wewnêtrzne zosta³y zdublowane. Takie podejœcie umo liwia ich wspó³dzielenie pomiêdzy modu³y pp_gen oraz pp_read, które naprzemiennie odczytuj¹ i zapisuj¹ ich zawartoœæ. Mo na zauwa yæ, e opisane rozwi¹zanie uwidacznia swoje zalety, gdy obliczenia prowadzone s¹ dla pow³ok wy szych rzêdów (p, d, f). W takiej sytuacji nak³ad obliczeniowy logiki pp_gen zwi¹zany z wygenerowaniem wspó³czynników wielomianowych

944 Maciej Wielgosz, Ernest Jamro, Pawe³ Russek, Kazimierz Wiatr wykorzystywany jest w pe³ni podczas pracy modu³u pp_read, gdy raz wygenerowane wartoœci s¹ nastêpnie wielokrotnie wykorzystywane. Natomiast gdy w obliczeniach pojawiaj¹ siê dominuj¹ca iloœæ pow³ok typu s, nak³ad obliczeniowy zwi¹zany z wygenerowaniem wszystkich orbitali dla danego zestawu rx, ry, rz nie jest wykorzystany. W takiej sytuacji modu³ pp_read musi oczekiwaæ na logikê pp_gen. Proponowanym rozwi¹zaniem tej kwestii, a tym samym zapewnienie bardziej optymalnego wykorzystania zasobów obliczeniowych by³oby dokonywanie uprzedniego rozpoznania, jaka jest najwy sza pow³oka dla danego punktu i atomu (punktu rzutowanego na atomie) i nastêpnie podanie tej informacji do automatu steruj¹cego logiki pp_gen, tak by generowaæ wspó³czynniki tylko dla rzeczywiœcie istniej¹cych pow³ok. Z wprowadzeniem wspomnianej modyfikacji wi¹za³oby siê jednak opóÿnienie w uruchomieniu jednostki pp_gen, zwi¹zane z uprzednim okreœleniem najwy szej pow³oki atomowej w danym cyklu obliczeniowym, co w znacz¹cym stopniu zwiêkszy³oby iloœæ operacji sekwencyjnych w wykonywanych w ramach modu³u. W konsekwencji rozwi¹zanie to nie zosta³o wprowadzone. Schemat blokowy modu³u pp_gen zosta³ zamieszczony na rysunku 3, mo na zauwa- yæ, e modu³ ten zwiera w swojej strukturze dwa rodzaje pamiêci, z których tylko jedna big memory jest dostêpna zewnêtrznie (wspó³dzielona) oraz zawiera dane wykorzystywane w dalszych obliczeniach. Pamiêæ small memory pe³ni natomiast rolê pomocnicz¹ przechowuj¹c chwilowe wartoœci, które s¹ wykorzystywane w procesie obliczania wspó³czynników wielomianowych umieszczanych nastêpnie w pamiêci big memory. Sk¹d nastêpnie wspó³czynniki te czytane s¹ i wymna anie przez uprzednio obliczone wartoœci eksponencjalne otrzymane jako rezultat dzia³ania modu³u EP [6]. Rys. 3. Automat steruj¹cy prac¹ logiki obliczaj¹cej czêœæ wielomianow¹ orbitalu atomowego Nale y zaznaczyæ, e pamiêæ small memory zaimplementowana jest w strukturze FPGA jako distributed memory ze wzglêdu na niedu ¹ iloœæ przechowywanych wspó³czynników pomocniczych (tylko szeœæ). Pe³en cykl obliczania wszystkich wspó³czynników wie-

Sprzêtowa implementacja czêœci wielomianowej funkcji orbitalnej... 945 lomianowych orbitali od s do f wymaga przejœcia dwudziestu p stanów automatu stanu logiki pp_gen. Automat synchronizuje pracê wewnêtrznych pamiêci BRAM, multiplekserów oraz pobierania danych wejœciowych. Dziêki wielokrotnemu wykorzystaniu obliczonych wartoœci poœrednich mo liwa by³a znaczna redukcja iloœci stanów wewnêtrznych automatu oraz czasu generowania wspó³czynników wielomianowych. Ze wzglêdu na iloœæ danych przechowywanych i koniecznoœæ korzystania z dwóch interfejsów w przypadku pamiêci big memory zastosowano BRAM. Zapewnia ona równie komunikacjê pomiêdzy modu³ami pp_gen oraz pp_read. 4. Osadzenie jednostki PP w strukturze modu³u Orbital Po zaimplementowaniu jednostka PP zosta³a umieszczona w systemie obliczaj¹cym wartoœæ orbitalu atomowego w punkcie (rys. 4). Modu³ ten z³o ony jest z szeregu bloków logicznych realizuj¹cych obliczenia oraz zapewniaj¹cych komunikacjê z procesorem Itanium 2 1.6 GHz. Procesor ten spe³nia rolê gospodarza w systemie obliczeniowym i steruje prac¹ akceleratora, realizuj¹c jednoczeœnie obliczenia czêœci sekwencyjnej algorytmu generowania macierzy potencja³u korelacyjno-wymiennego [5]. Rys. 4. Osadzenie jednostki PP w strukturze modu³u Orbital

946 Maciej Wielgosz, Ernest Jamro, Pawe³ Russek, Kazimierz Wiatr 5. Wyniki implementacji Poni ej zosta³a przedstawiona informacja dotycz¹ca zajêtoœci zasobów logicznych uk³adu FPGA dla dwóch skrajnych przypadków szerokoœci magistrali danych modu³u obliczaj¹cego czeœæ wielomianow¹ orbitalu atomowego. Dla modu³u pracuj¹cego w standardzie zmiennoprzecinkowym podwójnej oraz pojedynczej precyzji, w którym zajêtoœæ zasobów jest wielokrotnie mniejsza (tab. 2 i 3). Nale y nadmieniæ, e precyzja pojedyncza zosta³a wybrana, jako docelowa, gdy jest wystarczaj¹ca w przypadku metody DFT [5]. Tabela 2 Wyniki implementacji modu³u PP dla podwójnej precyzji obliczeñ Wyniki implementacji #4-input LUT #FF # 18-Kb BRAMs Modu³ PP 4164 (2%) 6257 (3%) 6 (0.06%) Modu³ PP+core services 13495 (11%) 20204 (11%) 29 (8%) Tabela 3 Wyniki implementacji modu³u PP dla pojedynczej precyzji obliczeñ Wyniki implementacji #4-input LUT #FF # 18-Kb BRAMs Modu³ PP 1499 (0.6%) 1180 (0.5%) 2 (0.02%) Modu³ PP + core services 10830 (6%) 15127 (8%) 25 (7%) Czas wykonania operacji PP wynosi œrednio 10 taktów zegara, od momentu podania sygna³u odczytu do chwili pojawiania siê pierwszego wspó³czynnika orbitalu na wyjœciu. Nale y zaznaczyæ, e generowanie pierwszego zestawu wspó³czynników wielomianowych zachodzi w czasie, gdy nie pojawi³y siê jeszcze pierwsze wspó³czynniki eksponencjalne. Jest to wynikiem opóÿnienia potokowego modu³u EP [6]. Prezentowany wykres (rys. 5) obrazuj¹ przyrost zasobów logicznych LUT modu³u PP dla dwóch przepadków: Gdy zmianie ulega tylko szerokoœæ magistrali wejœciowej danych (szerokoœæ magistrali wyjœciowej pozostaje sta³a). Gdy modyfikowana jest liczba bitów zarówno magistrali wejœciowej jak i wyjœciowego interfejsu danych (w zakresie od 32 do 64 bitów). Na podstawie powy szych zale noœci mo na zauwa yæ, e zmiana szerokoœci magistrali wejœciowej w znacznie mniejszym stopniu wp³ywa na zajêtoœæ zasobów uk³adu programowalnego ni modyfikacja zarówno wejœciowej i wyjœciowej szyny danych. Dlatego te w sytuacji, gdy pobierane dane s¹ podwójnej, a dalsze obliczenia (w kolejnych krokach) prowadzone bêd¹ w pojedynczej precyzji, zalecane jest na etapie obliczeñ czêœci wielo-

Sprzêtowa implementacja czêœci wielomianowej funkcji orbitalnej... 947 mianowej zredukowaæ precyzjê wyniku, gdy przyczyni siê to znacz¹co do zmniejszenia wykorzystania zasobów przez logikê PP. Przeprowadzone zosta³y porównawcze testy obliczeniowe dla cz¹steczki wody. W tym celu dokonano pomiaru czasu wykonania algorytmu obliczania orbitalu atomowego na procesorze Itanium 2 1,6 GHz oraz na platformie RASC. Dla bloku 512 punktów czas ten wynosi 2885 us, natomiast czas wykonania tych samych obliczeñ na platformie RASC to oko³o 3174 us. Rys. 5. Zajêtoœæ bloków LUT modu³u PP zaimplementowanego w uk³adzie Xilinx Virtex-4 LX200 w zale noœci od szerokoœci magistrali danych Nale y zauwa yæ, e w przypadku cz¹steczki wody dominuj¹ca jest pow³oka typu s. Fakt ten znacz¹co wp³ywa na uzyskiwan¹ efektywnoœæ sprzêtowego wykonania algorytmu z wykorzystaniem akceleratora sprzêtowego, gdy niewykorzystywane s¹ uprzednio obliczone wartoœci czêœci wielomianowych dla wy szych pow³ok. Natomiast wykonanie tej operacji na procesorze wymaga tylko jednej iteracji pêtli i jest ma³o absorbuj¹ce obliczeniowo. Wraz ze wzrostem rozmiaru pow³ok atomowych, dla których prowadzone s¹ obliczenia, uwidaczniaj¹ siê korzyœci p³yn¹ce z zastosowania akceleratora sprzêtowego, gdy iloœæ iteracji wykonania operacji na procesorze wzrasta przy jednoczesnym zwiêkszeniu wykorzystania mechanizmów tablicowania oraz potokowoœci w uk³adzie FPGA, które mo - na uznaæ za znacz¹cy przyczynek do wzrostu efektywnoœci obliczeniowej. Na wykresie (rys. 6) zobrazowana zosta³a opisywana zale noœæ.

948 Maciej Wielgosz, Ernest Jamro, Pawe³ Russek, Kazimierz Wiatr Rys. 6. Uzyskana akceleracja obliczania funkcji orbitalnej w zale noœci od typu pow³oki, dla jakiej prowadzone s¹ obliczenia 6. Wnioski Zaprezentowana w niniejszej pracy implementacja stanowi etap do pe³nej sprzêtowej implementacji jednostki obliczaj¹cej potencja³ korelacyjno-wymienny. W ramach zrealizowanego projektu powsta³ szereg jednostek zmiennoprzecinkowych, które odznaczaj¹ siê niewielk¹ zajêtoœci¹ zasobów oraz parametryzowan¹ szerokoœci¹ magistral komunikacyjnych. Zaprojektowany modu³ pracuje w sposób potokowy, wykorzystuj¹c pojedynczy uk³ad mno ¹cy. Uzyskiwane przyspieszenie zale y od charakteru cz¹steczki, dla jakiej prowadzone s¹ obliczenia, a w szczególnoœci od typu pow³ok atomowych. W kolejnym kroku wykonana zostanie w pe³ni sprzêtowa realizacja funkcji obliczaj¹cej wartoœæ orbitalu atomowego w punkcie. Literatura [1] Gothandaraman A., Peterson G., Warren G., Hinde R., Harrison R., FPGA acceleration of a quantum Monte Carlo application. Parallel Computing, 34(4 5): 2008, 278 291. [2] Ramdas T., Egan G., Abramson D., Baldridge K., Towards a special-purpose computer for Hartree-Fock computations What s on the table, and how do we take it? Theoretica Chimica Acta, vol. 120, No. 1 3/May, 2008, 138. [3] Silicon Graphics, Inc. Reconfigurable Application-Specific Computing User s Guide, Ver. 005, January 2007, SGI.

Sprzêtowa implementacja czêœci wielomianowej funkcji orbitalnej... 949 [4] Wielgosz M., Jamro E., Wiatr K., Accelerating calculations on the RASC platform. A case study of the exponential function. Applied Reconfigurable Computing, ARC 2009, Springer-Verlag, LNCS 5453, 2009, 306 311. [5] Koch W., Holthausen M., A Chemist s Guide to Density Functional Theory, Wiley-VCH; 2 edition (Aug. 21 2001). [6] Wielgosz M., Jamro E., Wiatr K., Implementacja w uk³adach FPGA modu³u obliczaj¹cego funkcjê jednoelektronow¹. Automatyka (pó³rocznik AGH), t. 13, z. 3, 2009, 1043 1050. [7] Strona firmy Xilinx zawieraj¹ca informacjê odnoœnie rozwi¹zañ typu IP-core http://www.xilinx.com/ipcenter/index.htm. [8] Œrodowisko projektowania dla systemów HPRC: Mitrion-c, http://www.mitrionics.com/.

950 Maciej Wielgosz, Ernest Jamro, Pawe³ Russek, Kazimierz Wiatr