Commit Graph

1394 Commits

Author SHA1 Message Date
Ben Marsh
39ade686ba Horde: Add tests for remote execution agent message loop.
[CL 26699705 by Ben Marsh in ue5-main branch]
2023-07-30 21:26:43 -04:00
Ben Marsh
9a2868477b Horde: Correctly handle IPC message loop termination in compute tasks.
[CL 26697309 by Ben Marsh in ue5-main branch]
2023-07-29 19:20:57 -04:00
Ben Marsh
3dc916b15e Horde: Use async disposer for compute IPC message pump; can cause deadlocks using the synchronous version when running as a continuation on another task.
[CL 26696288 by Ben Marsh in ue5-main branch]
2023-07-29 15:28:03 -04:00
Ben Marsh
af2e93a727 Horde: Prevent timeout exception from propagating to callers of RemoteComputeSocket.CloseAsync().
[CL 26696273 by Ben Marsh in ue5-main branch]
2023-07-29 15:26:43 -04:00
Ben Marsh
a343067900 Horde: Set the UE_HORDE_SHARED_DIR environment variable when running compute jobs.
[CL 26684142 by Ben Marsh in ue5-main branch]
2023-07-28 15:28:11 -04:00
Ben Marsh
860736cdbd EpicGames.Core: Record the .NET activity stack on log events. Can be used to supplement logs with context-specific information allowing more granular information about errors and warnings.
[CL 26683383 by Ben Marsh in ue5-main branch]
2023-07-28 15:10:41 -04:00
Ben Marsh
6280be11d6 Horde: Fix tests.
[CL 26683334 by Ben Marsh in ue5-main branch]
2023-07-28 15:09:47 -04:00
Ben Marsh
705931a7ec Horde: Unifying C#/C++ implementations of remote execution code.
- Handle ref counting in the same way for each implementation.
- Writers now need to be created explicitly, and are marked complete when their last writer is released.
- Added -InProc command line argument to sample app, which runs C# assemblies in the same process when possible.

[CL 26675350 by Ben Marsh in ue5-main branch]
2023-07-28 11:51:34 -04:00
Ben Marsh
f9e052f6bd Horde: Sync C# memory layout of compute buffer with the C++ version.
[CL 26609902 by Ben Marsh in ue5-main branch]
2023-07-26 12:07:12 -04:00
tim smith
db61408b4d Added missing class cast flag
#rb self

[CL 26604864 by tim smith in ue5-main branch]
2023-07-26 09:40:44 -04:00
Tim Smith
031cfd5742 Fixed issue where UBT would fail with a concurrency error when doing log once logging.
#rb Josh.Adams

[CL 26541238 by Tim Smith in ue5-main branch]
2023-07-24 09:03:11 -04:00
Ben Marsh
1f60ee0824 Horde: Unifying C#/C++ implementations of remote execution API.
- Abstract out platform specific implementation details into ComputePlatform.cpp/h.
- Add an overridable transport implementation of ComputeSocket, similar to what is available in C#.
- Add some local tests for C++ implementation.
- Various refactoring to converge implementation details/names/etc...

[CL 26535754 by Ben Marsh in ue5-main branch]
2023-07-22 14:17:04 -04:00
Ben Marsh
d5ff27ac33 Horde: Change IComputeBuffer to a concrete base class.
[CL 26516778 by Ben Marsh in ue5-main branch]
2023-07-21 12:57:00 -04:00
Ben Marsh
52ecb3a14a Horde: Change IComputeSocket to a concrete base class.
[CL 26508737 by Ben Marsh in ue5-main branch]
2023-07-21 08:49:43 -04:00
Ben Marsh
9addb084a3 Horde: Change IComputeChannel to a concrete implementation.
[CL 26508557 by Ben Marsh in ue5-main branch]
2023-07-21 08:26:18 -04:00
Ben Marsh
ea8344fcf4 Horde: Missing file.
[CL 26508369 by Ben Marsh in ue5-main branch]
2023-07-21 08:14:48 -04:00
Ben Marsh
5f611a31ab Horde: Change IComputeTransport into a concrete base class, to align with C++ implementation.
[CL 26508360 by Ben Marsh in ue5-main branch]
2023-07-21 08:14:31 -04:00
joe kirchoff
f5b1ae85ab Fix PATH separator on non-Windows platforms
#rnx
#jira UE-190551
#rb Ryan.Hummer

[CL 26469790 by joe kirchoff in ue5-main branch]
2023-07-19 16:32:44 -04:00
tim smith
a15f38417e Fix new C# warning messages in UHT
#rb self
#rnx

[CL 26438364 by tim smith in ue5-main branch]
2023-07-18 13:05:32 -04:00
Ben Marsh
8529a1d46c Horde: Rename IStorageClient.FindNodesAsync() to FindAliasAsync().
[CL 26419511 by Ben Marsh in ue5-main branch]
2023-07-17 18:11:53 -04:00
tim smith
d98aa77cc7 Fixed issue where invalid code would be generated if all FieldNotify properties in class were marked as editor only data.
#rb self

[CL 26411808 by tim smith in ue5-main branch]
2023-07-17 14:01:09 -04:00
tim smith
930e3d0324 Fixed issue where if export code threw an exception, the build will not display the error message or fail the build.
#rb self

[CL 26411529 by tim smith in ue5-main branch]
2023-07-17 13:53:22 -04:00
dan oconnor
cd239e8e9c Allow _DEPRECATED properties in sparse class data to not be marked as VisibleDefaultsOnly or EditDefaultsOnly
#rb Ben.Zeigler
#jira

[CL 26348381 by dan oconnor in ue5-main branch]
2023-06-30 13:25:18 -04:00
Ben Marsh
413326ba48 Horde: Use multi-threaded Blake3 hash computation for large objects.
[CL 26319402 by Ben Marsh in ue5-main branch]
2023-06-29 13:32:14 -04:00
carl bystrom
615e66f5c0 EpicGames.Perforce: Replace thread pool queue with new async-based one (with concurrency limits)
This should address I/O issues seen during job batch init, where ManagedWorkspaces are set up and synced. Prior to this CL, ThreadPoolWorkQueue could monopolize the shared thread pool which would starve other I/O operations, such as network traffic. Now these operations have a max concurrency of 4.

[CL 26282087 by carl bystrom in ue5-main branch]
2023-06-28 08:12:37 -04:00