You are on page 1of 5

2011-11-05

CUDA technology

nVIDIA CUDA TECHNOLOGY

Jacek Lewiski Spoeczna Wysza Szkoa Przedsibiorczoci i Zarzdzani w odzi Studia II letnie magisterskie uzupeniajce Semestr III Grupa projektowa 8 index 50564

jaceklewinski@gmail.com

2011-11-05

CUDA technology

Spis treci
1. Definicja........................................................................................................................................ 3 2. Pocztki pomys i oprogramowanie............................................................................................... 3 3. Technologia CUDA..................................................................................................................... 3

jaceklewinski@gmail.com

2011-11-05

CUDA technology

1. Definicja
CUDA (Compute Unified Device Architecture) jest now technologi wprowadzon przez firm NVIDIA w celu wykorzystania procesorw graficznych do sekwencyjnego przetwarzania algebraicznego danych w sposb jaki robi to procesory gwne jednostek centralnych.

2. Pocztki, pomys i oprogramowanie


Pierwsze GPU zostay zaprojektowane jako akceleratory grafiki wspierajce tylko krelone funkcje obrbki obrazu. Poczwszy od 1990 roku GPU staway si coraz bardziej programowalne, czego efektem byy nowatorskie karty graficzne NVIDI z 1999 roku. Termin GPU powsta wanie po ukazaniu si tych procesorw. Jednak z mocy obliczeniowej nowatorskiej technologii chcieli korzysta nie tylko artyci i twrcy gier. Trway prace nad przystosowaniem nowych ukadw do oblicze zmiennoprzecinkowych. Naukowcy z uniwersytetu w Stanford podjli wyzwanie. W 2003 r. zesp naukowcw kierowany przez Ian Buck zaprezentowa pierwszy powszechnie przyjty model oprogramowania jzyka C z mechanizmami obsugi przetwarzania rwnolegego operujcych pojciami strumienie, jdra, operatory redukcji i wiele innych pozwalajcych na wykorzystanie procesorw GPU do pracy nie tylko z renderingiem i obliczeniami graficznymi. Kompilator Brook jak wtedy nazywano to oprogramowanie pozwalao na wykorzystanie GPU jako procesora oglnego przeznaczenia w jzyku wysokiego poziomu. Co najwaniejsze w kompilatorze Brook znacznie atwiej i jakie siedem razy szybciej mona byo napisa program ni rcznie dopasowywa kod do procesora grafiki. Specjalici NVIDI stwierdzili, e niesamowicie szybkie procesory graficzne powinny by poczone z intuicyjnym oprogramowaniem aby suy ich szerszemu wykorzystaniu. Zaproszono wic Ian Buck aby przyczya si do firmy i rozpoczto prace nad uruchomieniem C na GPU. Pierwsza prezentacja wykorzystania tego sprztu i oprogramowania odbya si w 2006 roku i byo to pierwsze na wiecie rozwizanie oblicze oglnych na GPU [1].

1. Technologia CUDA
Pozwala to na ogromny wzrost wydajnoci oblicze dziki przejciu roli CPU (Central Processing Unit) przez GPU (Graphic Processing Unit). Na rynku mamy miliony procesorw graficznych wysokiej mocy obliczeniowej, ktre nie wykorzystuj swojego potencjau do przetwarzania danych algebraicznych a ktre mogyby by uyte do przelicze naukowych, matematycznych, astronomicznych, przetwarzania obrazu wideo, biologii obliczeniowej, chemii, symulacji dynamiki pynw, analiz sejsmicznych i wielu innych. Oto kilka przykadw: Identyfikacja zakrzepw krwi w ttnicach. Jedn z gwnych przyczyn zgonw na wiecie s ataki serca. Harvard Engineering, Harvard Medical School i Brigham Hospital poczyy swe siy aby wykorzysta procesory graficzne do symulacji przepywu krwi i identyfikacji zalegajcych pytek krwi blokujcych jej prawidowy przepyw. Opracowywane s bezinwazyjne techniki obrazowania i usuwania zakrzepw. Analiza przepywu ruchu lotniczego. W zwizku z ogromnym wzrostem iloci statkw powietrznych a zarazem intensyfikacj ruchu lotniczego w Stanach Zjednoczonych Krajowa Agencja Zarzdzania Przestrzeni Powietrzn tworzy s rozbudowane modele symulacji przepywu ruchu lotniczego majce pomc w opracowaniu nowych sposobw na zmniejszenie zatoczenia i zwikszenia efektywnoci zarzdzania przelotami. Uycie mocy obliczeniowej GPU przez zesp NASA w symulacjach, zredukowao czas analizy danych z 10 minut do trzech sekund.

jaceklewinski@gmail.com

2011-11-05

CUDA technology

Symulacje czsteczkowe. Tworzone s modele symulacji oddziaywa i przepywu czstek elementarnych tzw. NAMD (nanoscale molecular dynamics).

To ogromne przypieszenie moliwe jest dziki wykorzystaniu wielordzeniowych rwnolegych wielowtkowych procesorw graficznych GPU oraz oprogramowaniu NVIDI tzw. CUDA Toolkit. Oprogramowanie to pozwala na wysyanie kodw standardowych jzykw C, C++, Fortran bezporednio do GPU bez kompilacji do jzykw maszynowych typu asembler. Zapewnia kompletne rodowisko programistyczne dla C i C++. Zawiera kompilator, biblioteki matematyczne i narzdzia do debugowania i optymalizacji wydajnoci aplikacji. Poza tym przykady kodu, poradniki programowania, podrczniki uytkownika, odnoniki API i wiele innych dokumentw. W skad CUDA Toolkit wchodzi rwnie rodowisko programistyczne NVIDIA Parallel Nsight for Visual Studio ktre jest pierwszym rodowiskiem programistycznym dla masowo rwnolegych aplikacji, ktre uywaj zarwno GPU i CPU. Trwaj prace i s ju w wikszoci dostpne rozwizania dla jzykw C#, Python i innych. Szerokie pole do dziaania otwiera si tu przed specjalistami pracujcymi w takich programach jak ANSYS, Autodesk, Mathworks, Wolfram Research oraz wielu innych. Korzystanie z jzykw wysokiego poziomu wsppracujcych bezporednio z GPU, wraz z przypieszeniem przetwarzania rwnolegego odcia procesory centralne. CUDA jest szeroko stosowany przez tysice aplikacji i wspierany przez 300 milionw GPU obsugujcych CUDA w notebookach, stacjach roboczych i superkomputerach. Architektura oblicze rwnolegych CUDA zaimplementowana jest w kartach graficznych lini GeForce, ION, Quadro, i Tesla co stanowi znaczn wikszo sprzedawanych obecnie na rynku procesorw graficznych. Na rynku znajduje si wersja CUDA 4.0 wydana w maju 2011 roku. Wspiera ona takie systemy operacyjne jak Windows, Linux i Mac OS. Obecnie ponad 400 Uniwersytetw i Szk Wyszych prowadzi szkolenia lub w inny sposb uczy posugiwania si technologi CUDA wczajc w to dziesitki centrw doskonalenia i gwne orodki CUDA Research and Training Centers. Jack Dongarra profesor uniwersytetu Tennessee powiedzia Procesory graficzne wyewoluoway do punktu w ktrym mona na nich atwo zaimplementowa wiele innych zastosowa i uzyska znacznie wiksze wydajnoci ni w przypadku systemw wielordzeniowych. Przysze architektury obliczeniowe bd systemami hybrydowymi, ktrych procesory graficzne z rdzeniami rwnolegymi pracowa bd w tandemie z procesorami wielordzeniowymi.

jaceklewinski@gmail.com

2011-11-05

CUDA technology

Bibliografia
1. http://www.nvidia.com/object/cuda_home_new.html

jaceklewinski@gmail.com

You might also like