Brian Bekich
02d5d62ffc
Allow forked child process task graph to start worker threads
...
#jira UE-117246
#rb ryan.gerleve
#preflight 60d491740123b700012d0f82
[CL 16774564 by Brian Bekich in ue5-main branch]
2021-06-24 11:29:54 -04:00
Francis Hurteau
a11790808a
Make TaskGraph reserve workers busy wait if tasks being dispatched on them are waiting
...
#rb andriy.tylychko
#jira UE-118693
#fyi arne.schober
#preflight 60d34b90d9586b0001368840
[CL 16758572 by Francis Hurteau in ue5-main branch]
2021-06-23 12:20:23 -04:00
Andriy Tylychko
12415e1350
fixed non-unity compilation: https://horde.devtools.epicgames.com/job/60d11e0478c3b00001ed36fd?step=b476
...
[CL 16740058 by Andriy Tylychko in ue5-main branch]
2021-06-22 05:10:21 -04:00
Andriy Tylychko
ade7f862b1
TaskGraph: disabled "busy waiting by default" and replaced by reserve workers, based on Arne Schober implementation. to turn back to original implementation use -TaskGraphDisableReserveWorkers
...
#fyi danny.couture francis.hurteau arne.schober
#jira UE-117542
[CL 16728118 by Andriy Tylychko in ue5-main branch]
2021-06-21 10:41:52 -04:00
Andriy Tylychko
10b5e05d00
conditional compilation for "StatsThread as a pipe" with an ability to turn back to "StatsThread as a named thread"
...
#jira UE-117540
[CL 16686290 by Andriy Tylychko in ue5-main branch]
2021-06-16 07:11:06 -04:00
Arne Schober
6a774dbebb
U5 - change throttle stealing behaviour so that we only start throllting when more than half of the workers are idling. Also have an idling worker that just found new work to wake yet another worker. THis way we should spin up to full capacity even if the producer missed to wake the other half of the sleeping workers
...
[CL 16678228 by Arne Schober in ue5-main branch]
2021-06-15 15:49:28 -04:00
Arne Schober
e3911fcc46
U5 - refactored local queue behaviour so that they can be shared between differnt schedulers.
...
#preflight 60c246fe9e139d000109ae94
[CL 16629577 by Arne Schober in ue5-main branch]
2021-06-10 16:33:15 -04:00
Arne Schober
0d22a0dd80
U5 - Always wake workers during busy waiting as we might tap out any moment after finishing a task dependency.
...
#preflight 60b896f64d507d0001dfd19e
[CL 16549988 by Arne Schober in ue5-main branch]
2021-06-03 13:55:51 -04:00
Arne Schober
29044bba4d
U5 - Hoist out the shared Sheduler TLS sate into it's own class and allow forcing of background work for busy waiting.
...
[CL 16526949 by Arne Schober in ue5-main branch]
2021-06-01 20:55:21 -04:00
Andriy Tylychko
0bdece37c9
removed changes that slipped into 16481905 by mistake
...
[CL 16512642 by Andriy Tylychko in ue5-main branch]
2021-06-01 06:47:00 -04:00
Andriy Tylychko
ba60d1c681
AudioThread replaced by a pipe, with an ability to switch back to audio thread by conditional compilation (UE_AUDIO_THREAD_AS_PIPE)
...
#rb aaron.mcleran phil.popp
[CL 16481905 by Andriy Tylychko in ue5-main branch]
2021-05-27 04:54:55 -04:00
andrew firth
a44ec91554
[INSIGHTS] - add insights zones to illuminate overall frame time.
...
#rb Jason.Nadro
#ROBOMERGE-SOURCE: CL 16444116 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v814-16434418)
[CL 16444117 by andrew firth in ue5-main branch]
2021-05-24 22:47:38 -04:00
Andriy Tylychko
5469ce3478
TaskTraces for the new TaskGraph API
...
WIP
#fyi catalin.dragoiu
[CL 16328386 by Andriy Tylychko in ue5-main branch]
2021-05-14 07:43:28 -04:00
Marc Audy
01b7c9f4f5
Merge UE5/RES @ 15958325 to UE5/Main
...
This represents UE4/Main @ 15913390 and Dev-PerfTest @ 15913304
[CL 15958515 by Marc Audy in ue5-main branch]
2021-04-08 14:32:07 -04:00
nuno leiria
cce4046751
Remove old clang workaround that creates symbol resolution linker errors
...
#rb brandon.schaefer
[CL 15889875 by nuno leiria in ue5-main branch]
2021-04-01 11:23:39 -04:00
Andriy Tylychko
a3a59cce63
disabled the old algo of tasks execution context checks to handle busy waiting on named threads
...
#rb arne.schober
[CL 15833561 by Andriy Tylychko in ue5-main branch]
2021-03-25 18:08:22 -04:00
Andriy Tylychko
327a94d1a4
StatsThread replaced by a Pipe:
...
* the thread was removed and its surrounding was cleaned up a bit
* ENamedThreads::StatsThread (and relatives) deprecated
* support for single-threaded execution looks a bit messy because it still have to be based on the old TaskGraph API until we convert the game thread to the new API (which will be one of the very last things)
* despite the direct usage of ENamedThreads::StatsThread from an external code is highly unlikely, to preserve backward compatiblity internally TaskGraph redirects all remaining stats tasks to StatsPipe
#rb martin.ridgers
[CL 15794122 by Andriy Tylychko in ue5-main branch]
2021-03-24 04:47:07 -04:00
Arne Schober
5fcffdf5f9
U5 - only wake the emergency worker once during busy wait
...
[CL 15753315 by Arne Schober in ue5-main branch]
2021-03-19 23:26:22 -04:00
Arne Schober
6226c15344
U5 - scale FG workers with corecount to keep overall system more responsive on high core count machines
...
[CL 15714318 by Arne Schober in ue5-main branch]
2021-03-16 15:24:24 -04:00
Yuriy ODonnell
7e9fab7a68
Refactored DECLARE_STAT macro to use EStatFlags instead of series of bool parameters. Added a mechanism to disable a external profiler and trace events for a specific stat. Disabled events for CPU stall stats by default.
...
Use `-verbosenamedevents` command line argument to allow all events (restore old behavior; implies `-statnamedevents`).
#rb ionut.matasaru
[CL 15695521 by Yuriy ODonnell in ue5-main branch]
2021-03-15 08:38:40 -04:00
Arne Schober
0e072c82f3
U5 - change scheduler to use cycles for it's spinloop because that is more predictable across differnt CPU architectures.
...
[CL 15578850 by Arne Schober in ue5-main branch]
2021-03-02 23:34:26 -04:00
Arne Schober
1026b0f1fa
U5 - always wake up backgroundworkers when busy waiting on tasks and there is no work to be done.
...
[CL 15538110 by Arne Schober in ue5-main branch]
2021-02-25 23:37:58 -04:00
Arne Schober
7e270e59ca
U5 - implement the ability to set and propagate Task UserData
...
[CL 15525800 by Arne Schober in ue5-main branch]
2021-02-24 23:52:27 -04:00
Arne Schober
e0fb5bce47
U5 - Ability to prevent certain tasks from being used during busy waiting
...
[CL 15514005 by Arne Schober in ue5-main branch]
2021-02-24 10:36:30 -04:00
simon tourangeau
e266ebd713
Added copyright boilerplate to file.
...
#rb none
#ROBOMERGE-SOURCE: CL 15417153 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)
[CL 15417182 by simon tourangeau in ue5-main branch]
2021-02-16 09:27:10 -04:00