[core] Delay chunk evaluation #2918
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR goal is to change chunk system to be able to work with graphs where nodes can have no specific size set.
Changes
Compute system
extreme
(that targets higher specs that what intensive does)script
which is a mode for single-process simple process. It targets specific machines on the farm that have the ability to run multiple jobs in parallel so for simple jobs it should allow faster processingnode
_chunksCreated
param has been added to check if the chunks have been correctly initializedresetChunks
when loading meshroom, that will create a list with a single chunk, and we can create chunks at any moment with_createChunks
.NodeStatusData
has been added that tracks anodeStatus
file which is similar to the chunk statuses files but is specific to the node. This node status is used to get the cached range parametrization of the node so that we can retrieve it when possible with_createChunksFromCache
.taskManager
TaskThread
andTaskManager
have been modified to launch the chunk creation when the node compute startsSubmitters
BaseSubmitter
API have been updated to allow more flexibility. A newBaseSubmittedJob
exists and is used to track jobs that have been created. The goal is to use this as an interface to call actions on it (stop/pause/restart...)bin/meshroom_createChunks
script have been created, and handles the chunk creation and additional chunk tasks spoolingExamples