eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › Wielordzeniowość na poziomie instrukcji
Ilość wypowiedzi w tym wątku: 13

  • 1. Data: 2012-12-22 18:34:02
    Temat: Wielordzeniowość na poziomie instrukcji
    Od: "Borneq" <b...@a...hidden.pl>

    Mając dwu lub więcej rdzeniowy procesor, można puścić jeden wątek na jednym
    rdzeniu a drugi na drugim. A czy jest możliwość działania na rdzeniach nie z
    poziomu wątku a instrukcji? Przełączanie wątków odbywa się z częstotliwością
    1/64 sekundy a przypuśćmy że mamy operację trwającą jedną stutysięczną
    sekundy, chcę puścić dwie na dwóch wątkach bo z jej wyników korzyta następna
    operacja i wszystko się powtarza milion razy?


  • 2. Data: 2012-12-22 20:31:06
    Temat: Re: Wielordzeniowość na poziomie instrukcji
    Od: firr kenobi <p...@g...com>

    W dniu sobota, 22 grudnia 2012 18:34:02 UTC+1 użytkownik Borneq napisał:
    > Mając dwu lub więcej rdzeniowy procesor, można puścić jeden wątek na jednym
    >
    > rdzeniu a drugi na drugim. A czy jest możliwość działania na rdzeniach nie z
    >
    > poziomu wątku a instrukcji? Przełączanie wątków odbywa się z częstotliwością
    >
    > 1/64 sekundy a przypuśćmy że mamy operację trwającą jedną stutysięczną
    >
    > sekundy, chcę puścić dwie na dwóch wątkach bo z jej wyników korzyta następna
    >
    > operacja i wszystko się powtarza milion razy?

    koszt przelaczania jest raczej zbyt duzy (sa w sumie pewnie dwa koszty, koszt
    proesora i koszt systemu, dokladnie nie wiem ile a tez chcialbym wiedziec) - w sumie
    mozna by to jednak minimalizowac, i mozna sobie wyobrazis pewnie nawet rozszczepialny
    rdzen, tj taki ktory wykonuje na roznych podrdzeniach ten sam kod w c/amie (daletego
    zeby kontekst byl ten sam bo zdaje sie ze przy takich drobnych operacjach nie tylko w
    rozpedzaniu problem ale i kontekst programu musialby byc podobny *) po czym
    rozszczepia sie na 17 podrdzeni, ktore po robocie znowu sie zbiegają - jest b duzo
    mozliwych opcji

    8 ale moze i nie bo wtedy trzebaby to synchronizowac itd, a jakie konkretnie
    operacje? (mowisz w kazdym razie o tym
    co ja nazywam zrownoleglaniem w sredniej
    skali 0 w miare ciekaw rzecz)




  • 3. Data: 2012-12-22 21:34:04
    Temat: Re: Wielordzeniowość na poziomie instrukcji
    Od: "Grzegorz Niemirowski" <g...@p...onet.pl>

    Borneq <b...@a...hidden.pl> napisał(a):
    > Mając dwu lub więcej rdzeniowy procesor, można puścić jeden wątek na
    > jednym rdzeniu a drugi na drugim. A czy jest możliwość działania na
    > rdzeniach nie z poziomu wątku a instrukcji? Przełączanie wątków odbywa
    > się z częstotliwością 1/64 sekundy a przypuśćmy że mamy operację
    > trwającą jedną stutysięczną sekundy, chcę puścić dwie na dwóch wątkach
    > bo z jej wyników korzyta następna operacja i wszystko się powtarza
    > milion razy?

    A po co właściwie chcesz przełączać te wątki? Masz za mało rdzeni? Nie
    mylisz przełączania z synchronizacją?

    --
    Grzegorz Niemirowski
    http://www.grzegorz.net/
    OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
    Uptime: 0 days, 10 hours, 32 minutes and 21 seconds


  • 4. Data: 2012-12-22 22:02:06
    Temat: Re: Wielordzeniowość na poziomie instrukcji
    Od: "Borneq" <b...@a...hidden.pl>

    Użytkownik "Grzegorz Niemirowski" <g...@p...onet.pl> napisał w
    wiadomości news:kb55gr$k8d$1@news.icpnet.pl...
    > A po co właściwie chcesz przełączać te wątki? Masz za mało rdzeni? Nie
    > mylisz przełączania z synchronizacją?

    Bez przełączania wątków, coś w rodzaju
    mov eax,1[rdzen 0] mov ebx,2[rdzen 1]
    ale chyba lepszym rozwiązaniem jest C++ Accelerated Massive Parallelism
    http://msdn.microsoft.com/en-us/library/hh265136.asp
    x
    Działa na kartach graficznych, nie wiem czy pójdzie na zwykłym procesorze,
    wolniej ale czy można tworzyć na zwykłym. To interesujące bo mam już Windows
    8 i trochę działałem z Visual Studio 2012.


  • 5. Data: 2012-12-22 22:06:56
    Temat: Re: Wielordzeniowość na poziomie instrukcji
    Od: "Borneq" <b...@a...hidden.pl>

    Użytkownik "Borneq" <b...@a...hidden.pl> napisał w wiadomości
    news:kb4qu1$99t$1@node2.news.atman.pl...
    > 1/64 sekundy a przypuśćmy że mamy operację trwającą jedną stutysięczną
    > sekundy, chcę puścić dwie na dwóch wątkach bo z jej wyników korzyta
    > następna

    Pomyłka, powinno byc "na dwóch rdzeniach" zamiast " na dwóch wątkach "


  • 6. Data: 2012-12-23 00:19:07
    Temat: Re: Wielordzeniowość na poziomie instrukcji
    Od: e...@g...com

    W dniu sobota, 22 grudnia 2012 22:02:06 UTC+1 użytkownik Borneq napisał:
    > Użytkownik "Grzegorz Niemirowski" <g...@p...onet.pl> napisał w
    > wiadomości news:kb55gr$k8d$1@news.icpnet.pl...
    > > A po co właściwie chcesz przełączać te wątki? Masz za mało rdzeni? Nie
    > > mylisz przełączania z synchronizacją?
    > Bez przełączania wątków, coś w rodzaju
    > mov eax,1[rdzen 0] mov ebx,2[rdzen 1]
    > ale chyba lepszym rozwiązaniem jest C++ Accelerated Massive Parallelism
    > http://msdn.microsoft.com/en-us/library/hh265136.asp
    x
    >
    > Działa na kartach graficznych, nie wiem czy pójdzie na zwykłym procesorze,
    > wolniej ale czy można tworzyć na zwykłym. To interesujące bo mam już Windows
    > 8 i trochę działałem z Visual Studio 2012.

    To ze masz Win 8 to dobrze, ale co do reszty to wypadaloby sie zorientowac
    z grubsza, jak to dziala. Na razie wychodzi temat w sam raz dla profesura.

    --
    Edek


  • 7. Data: 2012-12-23 12:01:31
    Temat: Re: Wielordzeniowość na poziomie instrukcji
    Od: Sebastian Biały <h...@p...onet.pl>

    On 2012-12-22 18:34, Borneq wrote:
    > chcę puścić dwie na dwóch wątkach
    > bo z jej wyników korzyta następna operacja

    Poczytaj:

    http://en.wikipedia.org/wiki/Fiber_(computer_science
    )

    Ponadto niewiele wiadomo o problemie, ale możliwe że bedziesz musiał
    wykonac własny pseud-scheduler, ponieważ "dużo krótkich operacji
    zależnych od poprzednich" brzmi bardziej jak zadanie dla cooperative
    multitaskingu. Ponadto jest te dupereliki nie wykonuja żadnego wait() a
    jedynie np. liczą i zwracają wynik to sens ich wywłaszczania/inicjacji i
    synchronizacji jest niewielki skoro da się to zrobić o poziom abstrakcji
    wyżej (np. sortują topologicznie drzewo zależności i szukając
    równoległych ścieżek).


  • 8. Data: 2012-12-23 18:57:36
    Temat: Re: Wielordzeniowość na poziomie instrukcji
    Od: firr kenobi <p...@g...com>

    W dniu niedziela, 23 grudnia 2012 00:19:07 UTC+1 użytkownik e...@g...com
    napisał:
    > W dniu sobota, 22 grudnia 2012 22:02:06 UTC+1 użytkownik Borneq napisał:
    >
    > > Użytkownik "Grzegorz Niemirowski" <g...@p...onet.pl> napisał w
    >
    > > wiadomości news:kb55gr$k8d$1@news.icpnet.pl...
    >
    > > > A po co właściwie chcesz przełączać te wątki? Masz za mało rdzeni? Nie
    >
    > > > mylisz przełączania z synchronizacją?
    >
    > > Bez przełączania wątków, coś w rodzaju
    >
    > > mov eax,1[rdzen 0] mov ebx,2[rdzen 1]
    >
    > > ale chyba lepszym rozwiązaniem jest C++ Accelerated Massive Parallelism
    >
    > > http://msdn.microsoft.com/en-us/library/hh265136.asp
    x
    >
    > >
    >
    > > Działa na kartach graficznych, nie wiem czy pójdzie na zwykłym procesorze,
    >
    > > wolniej ale czy można tworzyć na zwykłym. To interesujące bo mam już Windows
    >
    > > 8 i trochę działałem z Visual Studio 2012.
    >
    >
    >
    > To ze masz Win 8 to dobrze, ale co do reszty to wypadaloby sie zorientowac
    >
    > z grubsza, jak to dziala. Na razie wychodzi temat w sam raz dla profesura.
    >
    merry Xmas głąbie, nie zaniżaj poziomu (pisze program i nie mam czasu znowu obracac w
    kolko rozmaitych głupawych bezsensów ) :O (ostatnio nuda i forma słaba)


  • 9. Data: 2012-12-25 13:47:08
    Temat: Re: Wielordzeniowość na poziomie instrukcji
    Od: firr kenobi <p...@g...com>

    >
    > merry Xmas głąbie, nie zaniżaj poziomu (pisze program i nie mam czasu znowu obracac
    w kolko rozmaitych głupawych bezsensów ) :O (ostatnio nuda i forma słaba)

    (głabie bylo tu uzyte niejako w cudzyslowie,
    (z naciskiem na merry krismas) jako nawolywanie do podwyzszenia poziomu mentalnego -
    ostatnio ta grupa mz przezywa pewien kryzys (a i ja sam czuje nieco plonną potrzebe
    by troche zmadrzec) ale poczeka sie troche to pewnie wydobrzeje (/AWAY)


  • 10. Data: 2012-12-26 00:19:02
    Temat: Re: Wielordzeniowość na poziomie instrukcji
    Od: Michoo <m...@v...pl>

    On 22.12.2012 18:34, Borneq wrote:
    > Mając dwu lub więcej rdzeniowy procesor, można puścić jeden wątek na
    > jednym rdzeniu a drugi na drugim. A czy jest możliwość działania na
    > rdzeniach nie z poziomu wątku a instrukcji? Przełączanie wątków odbywa
    > się z częstotliwością 1/64 sekundy a przypuśćmy że mamy operację
    > trwającą jedną stutysięczną sekundy, chcę puścić dwie na dwóch wątkach
    > bo z jej wyników korzyta następna operacja i wszystko się powtarza
    > milion razy?

    Czego teraz uczą na studiach? Toż to podstawy...

    Masz jak rozumiem trzy operacje:
    a,b,c
    c wymaga wyniku a i b
    O ile tylko nie potrzebujesz odpowiedzi RT to grupujesz operacje a,b i c
    w bloki i wykonujesz hurtem (to jest celowe choćby ze względu na
    optymalizację cache czy użycie pipeline już na jednym wątku). A że
    chcesz użyć wątki:
    wątek a (producent)
    wątek b (producent)
    wątek c (konsument)

    Dobierasz tylko rozmiar bloku (synchronizacja kosztuje) zależnie od tego
    czy optymalizujesz całkowitą przepustowość, czas odpowiedzi, pamięć czy
    coś innego.

    --
    Pozdrawiam
    Michoo

strony : [ 1 ] . 2


Szukaj w grupach

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: