set maximum number of dofs for efc_J
#936
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.
this pr depends on #931, #934, and #935 and adds a parameter that specifies the maximum number of dofs per constraint. this parameter can significantly improve memory utilization by reducing the size of
efc.Jandefc.J_colind.benchmark/cloth/scene.xml
compare integration of #931, #934, and #935 with main (f2f7957)
this pr:
main (f2f7957):
summary
throughput is significantly improved, but there is a regression in memory utilization due to the introduction of
J_colindcompare sparse constraint rows with main
with the changes introduced in this pr, we can significantly improve the memory utilization by setting the maximum number of dofs per constraint
--nefcdof=64.summary
increase throughput by increasing the number of worlds
we can also increase the number of worlds to
--nworld=4096SPS: 6,662 -> 9,777
tl;dr
comparing performance of benchmark/cloth/scene.xml scene to main (f2f7957)
~7.9x throughput improvement
~15GB reduction in device memory
todo: