Using standard hardware accelerators to decrease computation times in scientific applications., ł

Podobne dokumenty
Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

Wykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall

Metody optymalizacji soft-procesorów NIOS

Architektury komputerów Architektury i wydajność. Tomasz Dziubich

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego

ZASTOSOWANIA UKŁADÓW FPGA W ALGORYTMACH WYLICZENIOWYCH APPLICATIONS OF FPGAS IN ENUMERATION ALGORITHMS

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

Programowanie procesorów graficznych GPGPU

Programowanie Układów Logicznych kod kursu: ETD6203. Specjalizowane architektury do obliczeń DSP

Układy FPGA. Programowalne Układy Cyfrowe dr inż. Paweł Russek

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Teoretyczne Podstawy Informatyki

Architektura komputerów

i3: internet - infrastruktury - innowacje

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury

Implementacja sieci neuronowych na karcie graficznej. Waldemar Pawlaszek

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych. Instytut Telekomunikacji Zakład Podstaw Telekomunikacji

Procesory. Schemat budowy procesora

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Mikroinformatyka. Koprocesory arytmetyczne 8087, 80187, 80287, i387

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011

Larrabee GPGPU. Zastosowanie, wydajność i porównanie z innymi układami

Wysokowydajna implementacja kodów nadmiarowych typu "erasure codes" z wykorzystaniem architektur wielordzeniowych

CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze

Programowalne Układy Logiczne Konfiguracja/Rekonfiguracja

Wykorzystanie architektury Intel MIC w obliczeniach typu stencil

Programowanie z wykorzystaniem technologii CUDA i OpenCL Wykład 1

Obliczenia Wysokiej Wydajności

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

Julia 4D - raytracing

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

Kod IEEE754. IEEE754 (1985) - norma dotycząca zapisu binarnego liczb zmiennopozycyjnych (pojedynczej precyzji) Liczbę binarną o postaci

Podsystem graficzny. W skład podsystemu graficznego wchodzą: karta graficzna monitor

Budowa i zasada działania komputera. dr Artur Bartoszewski

Wydajność programów sekwencyjnych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Programowanie procesorów graficznych NVIDIA (rdzenie CUDA) Wykład nr 1

Budowa komputera Komputer computer computare

Technika mikroprocesorowa. Linia rozwojowa procesorów firmy Intel w latach

System obliczeniowy laboratorium oraz. mnożenia macierzy

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Budowa Mikrokomputera

Programowalne Układy Logiczne. Wykład I dr inż. Paweł Russek

LEKCJA TEMAT: Współczesne procesory.

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,

Architektura mikroprocesorów TEO 2009/2010

Zrównoleglenie i przetwarzanie potokowe

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Współczesne techniki informacyjne

Obliczenia Wysokiej Wydajności

Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania,

Przykładowe pytania DSP 1

Kierunek Inżynieria Akustyczna, V rok Programowalne Układy Cyfrowe. Platforma sprzętowa. Rajda & Kasperek 2014 Katedra Elektroniki AGH 1

Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

Podstawy Informatyki

Architektura komputerów

Wybrane metodologie wspierające sprzętową akcelerację obliczeń wielkiej skali

Inż. Kamil Kujawski Inż. Krzysztof Krefta. Wykład w ramach zajęć Akademia ETI

Dr inż. hab. Siergiej Fialko, IF-PK,

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Teoria przetwarzania A/C i C/A.

Architektura komputerów, Informatyka, sem.iii. Sumatory

Libra.cs.put.poznan.pl/mailman/listinfo/skisrkolo.

Wielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

Wykład 6. Mikrokontrolery z rdzeniem ARM

Adam Korzeniewski - p. 732 dr inż. Grzegorz Szwoch - p. 732 dr inż.

Transformacja Fouriera i biblioteka CUFFT 3.0

Redukcja czasu wykonania algorytmu Cannego dzięki zastosowaniu połączenia OpenMP z technologią NVIDIA CUDA

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Bibliografia: pl.wikipedia.org Historia i rodzaje procesorów w firmy Intel

Architektura mikroprocesorów z rdzeniem ColdFire

16. Taksonomia Flynn'a.

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Tesla. Architektura Fermi

Programowanie procesorów graficznych GPGPU. Krzysztof Banaś Obliczenia równoległe 1

Modelowanie rynków finansowych z wykorzystaniem pakietu R

Szybkie układy mnożące

Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1

Architektury akceleratorów kryptograficznych opartych o układy programowalne. Marcin Rogawski

Nowinki technologiczne procesorów

Architektura systemów komputerowych. Przetwarzanie potokowe I

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

Moc płynąca z kart graficznych

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych

Mikroprocesory rodziny INTEL 80x86

Pracownia Komputerowa wykład VI

Stan wysoki (H) i stan niski (L)

Implementacja algorytmu szyfrującego

Wydajność obliczeń a architektura procesorów. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)

Transkrypt:

Using standard hardware accelerators to decrease computation times in scientific applications, ł

Program Heterogeniczne systemy obliczeniowe Układy FPGA Procesory graficzne, ClearSpeed, PowerXCell Podsumowanie 2

Nr 1 na TOP500 obliczenia hybrydowe oadrunner: 6,562 dual-core AMD Opteron (1.8 GHz) 12,240 PowerXCell (3.2 GHz) (każdy układ scalony ma 8 rdzeni o mocy szczytowej 12.8 Gflops) dzeni max[tflops] peak [Tflops] 122400 1026 1376 Zużycie energii: 2.35 MW 3

Obliczenia hybrydowe według SGI XtremeData for Field Programmable Gate Array (FPGA) accelerator options beyond the SGI ASC C100 to optimize scientific computing and medical imaging NVIDIA - parallel visual computing on NVIDIA professional GPU (graphics processing unit) solutions ClearSpeed Technology - acceleration solutions for molecular dynamics, drug design, computational chemistry, electromagnetics and turbulent fluid flow analysis PACT XPP - digital signal processors for 2D edge detection used in biomedical imaging, pattern recognition and searches 4

Układy FPGA (Field Programable Gate Arrays) Logika ogólnego przeznaczenia LUT6 Jeden element LUT6 może wykonać dowolną funkcje logiczną 6 wejść i jednego wyjścia LUT6 Moduł XsterimeDSP idealny do wykonywania operacji mnóż i dodaj LUT6 LUT6 Slice 5

FPGA wykorzystywane do obliczeń silnie równoległych Procesor - sekwencyjny Współczynniki 640 taktów zegara Dana wejściowa X + eg Dana wyjściowa MAC (Mnóż i akumuluj) 4 GHz * 128/16 (SIMD)= 32GMAC/s Dana wej. C0 FPGA całkowicie równoległe obliczenia X eg C1 C0 X 640 operacji na takt zegara eg C2 X + eg C3 X Dana wyjściowa 500 MHz * 640=320GMAC/s C639 eg X Operacja MAC zaimplementowany 10 razy szybciej Dane dla obliczeń int18 x int18 = int36 6

Porównanie procesorów CPU i układów FPGA Procesory CPU: Pobieranie instrukcji Dekodowanie instrukcji Wykonanie instrukcji Układy FPGA Instrukcje zawarta bezpośrednio w konfiguracji układu FPGA Możliwość dostosowanie architektury układu FPGA do wykonywanego zadania Zmiana konfiguracji układu FPGA jest relatywnie czasochłonna wymaga 10-100ms. 7

AES 128-bitowy blok danych (4 wiersze x 4 kolumny 8-bitowych słów) TEKST JAWNY AddoundKey KLUCZ TEKST JAWNY AddoundKey Kodowanie 9 rund wykonywanych sekwencyjnie Każda runda jest taka sama i składa się z operacji XO, przesunięć, dodawań oraz operacji LUT (Look-Up Table) Szybkość przetwarzania 128- bitów/takt zegara 9 UND ejestr Subytes Shiftows MixColumns AddoundKey ejestr Subytes Shiftows MixColumns AddoundKey ejestr Subytes klucz 1 klucz 9 Generate oundkey Generate oundkey Generate oundkey ejestr InvSubytes InvShiftows InvMixColumns AddoundKey ejestr InvSubytes InvShiftows InvMixColumns AddoundKey ejestr 9 UND 15 krotne przyśpieszenie w porównaniu z Pentium4 3,2GHz Shiftows AddoundKey ejestr SZYFOGAM klucz 10 InvSubytes InvShiftows AddoundKey ejestr SZYFOGAM 8

Wyszukiwanie wzorców przeszukiwanie tekstu / baz danych ejestr przesuwny Algorytm Filtr loom a Szybkość przetwarzania ciągu wejściowego: 1.6G/s - na granicy szybkości działania interface u pamięci i NUMAlink Wyszukiwanie nawet do 10000 wzorców równocześnie (duże zrównoleglenie) 200 krotne przyśpieszenie w porównaniu z Ithanium2 1,5GHz dla funkcji grep i ilości wzorców 50 Dane Wej. ejestr przesuwny haszowanie ejestr przesuwny haszowanie Trafieni e Trafieni e ejestr przesuwny haszowanie ejestr przesuwny A M haszowanie A M A M A M Trafieni e A M A M Trafieni e A M haszowanie A M A M Trafieni e ejestr przesuwny A M haszowanie A M A M Trafieni e 9

Funkcja: double exp(double) 2 funkcje exp() obliczane co takt zegara (200MHz) Tylko 10% zajętych zasobów układu FPGA miejsce na dodatkowe funkcje 5 krotne przyśpieszenie w porównaniu z Pentium 4 2GHz s eksponenta mantysa Sterowanie przesunięciem 63 bity + Mantysa (53 bitów) = 116 bitów Przesuwanie o 48, 32 lub 16 bitów Przesuwanie o 4, 8 lub 12 bitów Przesuwanie o 1, 2 lub 3 bitów 1/ln(2) Liczba stałoprzecinkowa 64-bit X NUMAlink ln(2) X - Znak 3 x 9 bit 52-27 bit 72 3.2 G 72 3.2 G l. całkowita (11 bit) LUT LUT LUT 1+ x Core services X X MEM 0 16M 128 bit Exp() 64 bit Exp() 64 bit 128 bit MEM 1 16M normalizacja X 0 exponenta mantysa Xilinx Virtex-4 LX200 10

PA2SE Operacje algebry liniowej rak widocznej poprawy szybkości w porównaniu z procesorami ogólnego przeznaczania dla operacji mnożenia dodawania podwójnej precyzji Technologia FPGA może być ciągle opłacalna ze względu na dużo mniejsze zużycie mocy Optymalizacja modułów arytmetycznych oraz zmniejszenie szerokości bitowej może umożliwić uzyskanie przyśpieszenia 128 bit 64 bit OutA f_sel First Memory Interface FIFO 1 Out I In FIFO 2 Out bank_sel Out II FIFO N MAC 1 MAC 2 MAC N In Second Memory Interface 11

Jaki typ obliczeń? Skomplikowany kod programu Logiczne i przesunięcia bitowe Na liczbach całkowitych Na liczbach zmiennoprzecinkowych pojedynczej precyzji Na liczbach zmiennoprzecinkowych podwójnej precyzji: Mnożenie, dodawanie Dzielenie sqrt, sin, cos, exp, log 12

Procesory graficzne Operacje zmiennoprzecinkowe pojedynczej precyzji Czy na pewno potrzebna jest podwójna precyzja? 13

Przykład procesora GPU 14

Schemat blokowy adeon HD 4800 15

Podwójna precyzja? Przykład: 10 9 iteracji sumowania liczba sumowań powyżej dokładności pojedynczej precyzji Wniosek (firma ClearSpeed): konieczna podwójna precyzja. Zmiana kolejności sumowań umożliwia zastosowanie pojedynczej precyzji Podwójna precyzja Pojedyncza precyzja 16

ClearSpeed Advance e710 Źródło: http://www.clearspeed.com/newsevents/presskit

IM QS22 (2 x PowerXCell) Źródło: http://www-03.ibm.com/technology/resources/technology_cell_idc_report_on_powerxcell.pdf

Wydajność DP [GFLOP/ s] Porównanie teoretycznej wydajności Teoretyczna szczytowa wydajność obliczeniowa 300 250 200 150 100 50 0 adeon HD4870 GeForce GTX280 ClearSpeed Advance e710 FireSt ream 9270 QS22 Intel Xeon X7350 AMD Opteron 8350

Zużycie mocy [W] Porównanie zużycia mocy Maksymalne zużycie mocy 300 250 200 150 100 50 0 adeon HD4870 GeForce GTX280 ClearSpeed Advance e710 FireSt ream 9270 QS22 Intel Xeon X7350 AMD Opteron 8350

Proces projektowania 21

Podsumowanie CPU - Skomplikowany kod programu - duży i niedeterministyczny dostęp do pamięci - duża szybkość projektowania FPGA - prosty kod programu - duża liczba przetwarzanych danych: bitowych, liczb całkowitych - długi proces projektowania GPU, PowerXCell - operacje zmiennoprzecinkowe szczególnie pojedynczej precyzji - relatywnie prosty kod programu, obliczenia SIMD 22

Dziękuję za uwagę

Platforma sprzętowa ASC (SGI) Dwa układy FPGA Virtex4LX200 Komunikacja poprzez magistralę NUMALinks za równych zasadach jak z procesorem Szybkość transmisji 3.2G/s (w obie strony) w ramach magistrali NUMALinks i 2x3.2G/s z pamięcią zewnętrzną 64 M QD SAM 24

Mitrion-C przykład kodu int:7[100] a = [1..100]; int:7[100] b = [2..101]; int:14[100] c = foreach (elmnt_a, elmnt_b in a, b) elmnt_a * elmnt_b; 25

FPGA a oszczędność energii Dostarczanie energii oraz chłodzenie ośrodków obliczeniowych stało się dużym wyzwaniem dla większości organizacji. Od 2002 roku, średnia cena energii elektrycznej wzrosła o około 5.5% rocznie i ośrodki obliczeniowe wydają teraz około 0.5$ na energię i chłodzenie w porównaniu z 1$ na zasoby sprzętowe. Współczynnik ten będzie ciągle rósł. Za pięć lat ośrodki obliczeniowe będą wydawały tyle samo pieniędzy na zasoby sprzętowe co na energię elektryczną i chłodzenie. Źródło: Eight Critical Forces Shape Enterprise Data Center Strategies, Part Two, by akesh Kumar, June 19, 2007, Gartner, Inc., ID Number: G00148349. 26

Podsumowanie Układy FPGA w obliczeniach zdominowanych przez dane mogą zdecydowanie przyśpieszyć szybkość wykonywania obliczeń ardzo duży stopień zrównoleglenia i używanie architektury potokowej Przyśpieszeniu może ulec tylko mały fragment kodu czas rekonfiguracji układu FPGA wynosi 10-100ms. Czym mniejsza szerokość bitowa zmiennych tym mniej zajmowanych zasobów FPGA - możliwość deklarowania obliczeń o dowolnej szerokości bitowej. Zalecane jest używanie najpierw operacji bitowych, potem operacji stałoprzecinkowych, a jeżeli już zmiennoprzecinkowych to raczej pojedynczej precyzji Układy FPGA zużywają około 2-10W mocy dlatego mogą być ciągle zalecane przy obliczeniach zmiennoprzecinkowych podwójnej precyzji mimo tego że nie oferują dużego przyśpieszenia w porównaniu z procesorami ogólnego przeznaczenia 27