Article View: pl.comp.programming
Article #217332Re: zapytanie o thready
From: M.M.
Date: Sun, 07 Feb 2021 11:53
Date: Sun, 07 Feb 2021 11:53
41 lines
4054 bytes
4054 bytes
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
Technical Details
Message-ID:
<d07699ca-3066-48af-931e-e7db020494d2n@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.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!postnews.google.com!google-groups.googlegroups.com!not-for-mailReferences:
<dc44c5f3-c692-4567-ae8b-325b8339290fn@googlegroups.com> <rt4e4d$os9$1@dont-email.me> <84876f67-0de5-4823-ae51-872b74a498adn@googlegroups.com> <rt4f0b$t0t$1@dont-email.me> <28d25254-32ea-483d-87e9-e7e584453c8en@googlegroups.com> <1f0fc527-0a76-444d-9d8b-b54891da2020n@googlegroups.com> <rt4jma$1j5$1@dont-email.me> <47e4ef57-8104-4fe5-8d06-e03c66428bcfn@googlegroups.com> <c75e38fd-cdcf-4105-bbd5-8b257360474en@googlegroups.com>Show Full Headers
Complete Article Headers
X-Received: by 2002:a37:52d6:: with SMTP id g205mr4505032qkb.499.1612698786226; 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: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.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!postnews.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: <c75e38fd-cdcf-4105-bbd5-8b257360474en@googlegroups.com> Complaints-To: groups-abuse@google.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: <dc44c5f3-c692-4567-ae8b-325b8339290fn@googlegroups.com> <rt4e4d$os9$1@dont-email.me> <84876f67-0de5-4823-ae51-872b74a498adn@googlegroups.com> <rt4f0b$t0t$1@dont-email.me> <28d25254-32ea-483d-87e9-e7e584453c8en@googlegroups.com> <1f0fc527-0a76-444d-9d8b-b54891da2020n@googlegroups.com> <rt4jma$1j5$1@dont-email.me> <47e4ef57-8104-4fe5-8d06-e03c66428bcfn@googlegroups.com> <c75e38fd-cdcf-4105-bbd5-8b257360474en@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <d07699ca-3066-48af-931e-e7db020494d2n@googlegroups.com> Subject: Re: zapytanie o thready From: "M.M." <mmarszik@gmail.com> Injection-Date: Sun, 07 Feb 2021 11:53:06 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit