Хотели в Созопол ремонт на покриви Компютри и лаптопи мобилни телефони
Начало arrow Новини arrow Хардуер arrow Nvidia PhysX – все по-близо чрез CUDA
Nvidia PhysX – все по-близо чрез CUDA PDF Print E-mail
Written by dEoL   

 

Добрил Доков

Беше време, когато стартирането на една игра зависеше от това коя версия на DirectX се поддържа от графичната карта на потребителя. От гледна точка на геймърите с по-старо поколение карти това не беше никак справедливо, но какво да се прави – това е животът. Далеч по-интересен е опитът на компанията Ageia да се наложи на компютърния пазар с предлагането на платки, ускоряващи физичните изчисления в игрите. Този опит не успя, но сега Nvidia притежават Ageia, бъдещето се очертава да е интересно... и с много шрапнели.

Nvidia PhysX – все по-близо чрез CUDA

 

Както вероятно вече знаете, идеята на Ageia PhysX е да се използва отделен копроцесор, занимаващ се само и единствено с физичните изчисления в игрите и симулациите. Сама по себе си тази идея беше много добра, но за съжаление се сблъска с реалността под формата на лош мениджмънт и липса на адекватна поддръжка. Физичната карта на Ageia имаше относително висока цена (около 100 USD), която определено не беше примамлива за потребителите. В допълнение към това липсваха игри, в които тя да бъде от съществена полза, тъй като това означаваше ограничаване на заглавията само за потребителите притежаващи подобен хардуер, които бяха единици.

 

Положението обаче претърпя пълен обрат, когато наскоро Nvidia придоби Ageia, с което започва следващата стъпка от еволюцията на графичните карти. Според Nvidia бъдещето на видеокартите не е само в осигуряването на реалистична графика, но се крие и в подпомагането на централния процесор в редица задачи. Първата от тях, изглежда, ще бъде именно извършването на физичните изчисления – задачата, която си беше поставила за цел Ageia PhysX. Както можете да се досетите за разлика от Ageia, Nvidia има потенциала и възможностите да промени нещата до степен да превърне графичната карта в така желания от Ageia физичен ускорител.

CUDA и PhysX


За да можете да се възползвате от физичното ускорение, изпълнявано от графичния процесор на видеоплатката ви, трябва да притежавате няколко неща. Като начало това е видеокарта с процесор поне G80 или по-нов, което означава, че той трябва да е способен да стартира и изпълнява програмен код, компилиран чрез CUDA – Compute Unified Device Architecture. CUDA представлява комплект от инструменти (плюс компилатор, разбира се), който предоставя възможност на разработчиците да програмират графичното ядро на видеокартата чрез използването на малко по-различна версия на езика С.

Благодарение на факта, че графичното ядро на видеокартата и процесорът, използван за ускоряване на физичните изчисления, си приличат, Nvidia успява да прехвърли основните библиотеки от PhysX към вариант, който може да се използва чрез CUDA. Освен споменатата карта с процесор G80 или по-нов ще имате нужда също така и от съответните драйвери за нея – както графични, така и специфичните Nvidia PhysX драйвери. За да можете да използвате видеокартата си като PhysX процесор, ще трябва да инсталирате драйвери ForceWare 177.39 или по-нова версия, както и съответния PhysX пакет, чиято най-нова версия понастоящем е 8.09.04 и може да се намери на сайта на Nvidia.

Една от положителните черти на CUDA е възможността да се напише софтуер, който не само да използва графичното ядро като ускорител на физичните изчисления, но и като ускорител на тежките задачи, изискващи многопроцесорна обработка. Именно благодарение на CUDA графичните карти, използващи чип на Nvidia, вече могат да се използват и за извършване на редица други изчисления и симулации. Като пример може да се посочи станалият вече емблематичен Folding@ Home, в който доскоро първото място принадлежеше на Cell BE на Sony.

CUDA (а и не само) произхожда от приликата между графичните процесори, съвместими със спецификацията на DirectX 10, и класическите централни процесори, използвани в компютрите. Благодарение на това CUDA притежава редица положителни качества: базирана на езика С; възможност за адресиране на произволен сегмент от паметта; споделяне на памет между нишките на приложението; реална многопроцесорност и т.н. Като нежелани черти на CUDA (отново произлизащи от DirectX 10 архитектурата) могат да се посочат липсата на рекурсивни функции, сравнително тясната шина за връзка между централния процесор и графичното ядро, все още ограничената поддръжка и приложение и др.

Конкуренцията – Havok и Close Тo Metal (Stream SDK)


Havok Physics всъщност представлява първият физичен енджин, разработен за използване в компютърните игри и симулатори. Първата версия на Havok е представена през 2000 г. и оттогава досега е намерила място в над 100 игрови загла- вия и симулатори, по-известни от които са Halo 2, Half-Life 2, Oblivion, Lost Planet: Extreme Condition, BioShock и др. Едно от заглавията, в които широко се използва Havok, е продуктът 3DMark 2001, в който широко се използват физични изчисления при игровите тестове. За разлика от модела на Ageia и Nvidia Havok използва за изчисленията си централния процесор на системата, което означава, че тя не може да прехвърли част от тези изчисления на графичния процесор.

Едно от най-известните заглавия при които се използва Havok Physics, е виртуалният свят на играта (ако може да се нарече така) Second Life, където симулационните изчисления не се осъществяват на клиентската машина, а се използват отделни сървъри специално за тази цел. Причината за използва- нето на тези отделни сървъри се крие в изключителната сложност на света, пресъздаден в Second Life, и факта, че в него участват твърде много активни предмети. Опитът да се извършат всички изчисления на клиентската машина би довел не само до сериозно забавяне на симулатора, но и до пълна невъзможност за използване на системата като цяло, ако тя е прекалено бавна.

Освен като базов енджин за физични изчисления в игрите Havok намира приложение и при създаването на специални ефекти в киното. Чрез енджина на Havok са създадени ефектите и е симулирано поведението на предметите и частиците във филми като „Матрицата“, „Троя“, „Чарли и шоколадовата фабрика“ и др. В момента Havok и нейният физичен енджин са собственост на Intel, поради което (и за съжаление) са прекъснати страничните разработки, целящи прехвърляне на Havok изчисленията към видеокартата.

Освен Nvidia и Havok сред фирмите, разработили собствени библиотеки за изчисление на физиката, е и ATI. Разработеният от нея софтуер първоначално носи името Close To Metal, като по-късно е преименуван на Stream SDK. Идеята на CTM/Stream SDK е същата като при CUDA на Nvidia – създаване на език за програмиране на графичните процесори на максимално ниско ниво. По този начин програмистите ще могат да по- лучат достъп до пълните възможности на многонишковия графичен процесор, който пък от своя страна притежава огромна производителност.

 

Бъдещето?
Към момента единствената програмна среда, която се радва на повишено внимание от страна на разработчиците, е CUDA на Nvidia. Освен за прехвърляне на физичните изчисления към видеокартата CUDA служи също така и за конвертиране на различни симулационни програми към език, разбираем за графичното ядро. Спо- ред Nvidia бъдещето на видеокартите се крие не само в по-нататъшното развиване на графичните възможности на DirectX, но и във все по-широкото им използване като хардуер, подпомагащ централния процесор. Засега няма еднозначен отговор от страна на Intel и AMD, но със сигурност ще се промени с анонсирането на Larrabee и следващото поколение графични чипове на AMD.


Източник: www.segabg.net

 

 

Добави коментар за тази статия
Добави коментар за статията (Покажи/Скрий Бланката)



Коментари от потребителите
Към този момент няма добавени коментари за тази статия....
 
< Prev   Next >

Вход






Lost Password?
No account yet? Register

Търсене

Bulgarian IT - IT News, Hardware Software Сайт за емиграция в Квебек