eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingzapytanie o thready › Re: zapytanie o thready
  • X-Received: by 2002:ad4:4366:: with SMTP id u6mr2393442qvt.51.1612698786044; Sun, 07
    Feb 2021 03:53:06 -0800 (PST)
    X-Received: by 2002:ad4:4366:: with SMTP id u6mr2393442qvt.51.1612698786044; Sun, 07
    Feb 2021 03:53:06 -0800 (PST)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erj
    e.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2
    .proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnew
    s.google.com!google-groups.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Sun, 7 Feb 2021 03:53:05 -0800 (PST)
    In-Reply-To: <c...@g...com>
    Complaints-To: g...@g...com
    Injection-Info: google-groups.googlegroups.com; posting-host=77.254.35.244;
    posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
    NNTP-Posting-Host: 77.254.35.244
    References: <d...@g...com>
    <rt4e4d$os9$1@dont-email.me>
    <8...@g...com>
    <rt4f0b$t0t$1@dont-email.me>
    <2...@g...com>
    <1...@g...com>
    <rt4jma$1j5$1@dont-email.me>
    <4...@g...com>
    <c...@g...com>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <d...@g...com>
    Subject: Re: zapytanie o thready
    From: "M.M." <m...@g...com>
    Injection-Date: Sun, 07 Feb 2021 11:53:06 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.comp.programming:215347
    [ ukryj nagłówki ]

    On Wednesday, January 6, 2021 at 4:38:15 PM UTC+1, fir wrote:
    > środa, 6 stycznia 2021 o 16:29:44 UTC+1 fir napisał(a):
    > > środa, 6 stycznia 2021 o 16:06:52 UTC+1 heby napisał(a):
    > > > On 06/01/2021 15:41, fir wrote:
    > > > > ze mozna synchronizowac watki nawet bez atomikow
    > > > W ogómym przypadku to nie jest skuteczne. W przypadku architektury x86
    > > > może być czasem możliwe.
    > > >
    > > > W bardzo ogólnym wypadku wymagany jest choć fence, który trzeba jawnie
    > > > uzyć w kodzie programu. Taki mechanizm w CPU który zapewnia
    > > > synchronizację dostępu do pamięci między różnymi rdzeniami i cache.
    > > >
    > > > Tak więc ogólnie rzecz biorąc nie da się zrobić sensownej synchronizacji
    > > > tylko na spilockach bo to zależy na czym to ma pracować. Zwyczajowo w
    > > > świecie wielordzeniowym trzeba się badziej postarać niż while(!flag) { }.
    > > while z pust apetla bym nei uzyl ale ze sleepem 2-3 milisekundy nie wydaje mi sie
    juz tak glupie..ogolne programowanie tez mnie nie kreci bo ogolne programowanie to
    zle porogramowanie bo w ogolnosci nie dziala optymalnie na specyficznych maszynach ;c

    > >
    > > schemat btw raczej jaki wymodzilem byl raczej taki
    > >
    > > int ready = 0;
    > > do
    > > {
    > > while(current<ready) { sleep(2); }
    > > do_work();
    > > ready++;
    > > } whie(1);
    > >
    > > cos w tym stylu, robota dzielona na porcje numerowane liczba naturalna, current
    zaczyna sie od -1,
    > > boczne watki czekaja na sleepach; glowny thread robi current++ do 0 wati ruszaja
    az ustawia ready na 1
    > > glowny watek sprawdza czy wszystkie maja ready wieksze niz current jesli tak
    popycha current itd
    > >
    > > w moim przekonaniu to raczej chyba powinno dzialac
    > przez powinno mam na mysli ze odpalilem to i dzialalo (ale nie ejestem pewien czy
    nei przegapilem jakichs wzglednych subtelnosci), current to oczywoscie odpowiada
    numerowi ramki obrazu w symulacji ktora dzialac ma na okolo 50-120 fps na jednym
    watku zajmowala ok 30 ms na ramke wiec w optymalnym podziale roboty powinno wyjsc po
    15 ms na rdzen na dwurdzeniaku... nie mierzylem czasu tylko patrzylem na oko czy jest
    szybciej i wylogowalem tez stany tych ready i current do loga textowego i na oko
    wygladalo ok
    >
    > aczkolwiek zawsze jak ktos wie co tu sie moze realnie chcrzaic to wiedza o detalach
    mile widziana
    >
    > (fir)

    A jakby użyć OpenCL?

    Pozdrawiam

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj

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: