eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.pecetAlgorytmy gier na procesory wielordzeniowe - jak?Re: Algorytmy gier na procesory wielordzeniowe - jak?
  • Data: 2013-12-01 17:44:56
    Temat: Re: Algorytmy gier na procesory wielordzeniowe - jak?
    Od: Robert Winkler <n...@n...org> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu 2013-12-01 11:42, Ghost pisze:
    >
    > Użytkownik "Robert Winkler" <n...@n...org> napisał w wiadomości
    > news:529b0ec5$0$2169$65785112@news.neostrada.pl...
    >> W dniu 2013-11-24 09:58, Marcin N pisze:
    >>> Mamy nowe konsole i coraz więcej procesorów 6-8 rdzeniowych.
    >>>
    >>> Jak tworzy się algorytmy gier, które potrafią ogarnąć tyle rdzeni?
    >>> Nie potrafię sobie tego wyobrazić. Powiedzcie w skrócie, jaką drogą idą
    >>> te algorytmy.
    >>>
    >>>
    >>
    >> Jeśli dla ciebie 8 rdzeni to dużo to co powiesz
    >> ma produkt firmy Adapteva.
    >> Obecnie pzryjmują zamówienia na swój produkt o nazwie Epiphany-IV,
    >> jest to moduł obliczeniowy stworzony na bazie procesora
    >> posiadającego 64 niezależne rdzenie typu RISC,
    >> każdy wykonujący swój własny kod.
    >> Ich celem jest przygotowanie do roku 2018 procesora
    >> posiadającego 64 tyś. rdzeni.
    >> Czy im się uda, zobaczymy już za kilka lat.
    >>
    >>
    >> Jeśli chodzi o zwykłe komputery PC, poczytaj sobie o OpenMP dostępnym
    >> obecnie w wiekszości kompilatorów C++.
    >> Z mojego podwórka mogę ci podrzucić Task Parallel Library (TPL)
    >> które jakiś czas temu weszło w skład .NET Framework
    >> http://msdn.microsoft.com/en-us/library/dd537608%28v
    =vs.110%29.aspx
    >
    > Czytja ze zrozuminiem. Pytanie dotyczylo rdzeni na potrzeby gier (i to
    > niegraficznych rdzeni).

    Po pierwsze OpenMP to co innego niż OpenCL.
    OpenMP pozwala co za pomocą "#pragma" określasz przykładowo,
    że kod danej pętli ma zostać zrównoleglony automatycznie
    przez kompilator i runtime.
    Dotyczy to oczywiście kodu CPU a nie GPU.
    O ile zapewni się synchronizacje przy dostępie do współdzielonych danych
    można ten mechanizm z powodzeniem użyć do detekcji kolizji,
    lub obliczania fizyki, czy też AI postaci.
    We wszystkich przypadkach pracujemy przecież na listach obiektów
    i pętlach kolejno je przetwarzających.
    Piszesz wieć:
    #pragma omp parallel for
    for (int x = 0; x < imageWidth; x++) {
    for (int y = 0; y < imageHeight; y++) {
    Color shadedColor = shootRay(x,y);
    image.SetPixel(x, y, shadedColor);
    }
    }
    i masz zrównoleglony kod, podzielony na wątki,
    a kod znajdujący się za pętlą zostanie uruchomiony
    kiedy wszystkie wątki skończą już prace.

    /Robert

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: