-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable Out-of-Core #703
Enable Out-of-Core #703
Conversation
f18263a
to
4912e35
Compare
064a45d
to
52b4caa
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just some minor things to remove, but otherwise this looks pretty good. I'll be testing Solomon's pipelines again over the next few days and will record filter execution time statistics.
src/Plugins/ComplexCore/src/ComplexCore/Filters/FindArrayStatisticsFilter.cpp
Outdated
Show resolved
Hide resolved
src/Plugins/ComplexCore/src/ComplexCore/Filters/FindArrayStatisticsFilter.cpp
Outdated
Show resolved
Hide resolved
...entationAnalysis/src/OrientationAnalysis/Filters/Algorithms/FindKernelAvgMisorientations.cpp
Outdated
Show resolved
Hide resolved
52b4caa
to
b53f1fe
Compare
c588f5c
to
349711c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Joey's comments about some leftover debugging code also should be addressed.
src/Plugins/OrientationAnalysis/src/OrientationAnalysis/Filters/GenerateFZQuaternions.cpp
Show resolved
Hide resolved
...Plugins/OrientationAnalysis/src/OrientationAnalysis/Filters/Algorithms/GenerateIPFColors.cpp
Outdated
Show resolved
Hide resolved
...ns/OrientationAnalysis/src/OrientationAnalysis/Filters/Algorithms/GenerateGBCDPoleFigure.cpp
Outdated
Show resolved
Hide resolved
...s/OrientationAnalysis/src/OrientationAnalysis/Filters/Algorithms/GenerateFaceIPFColoring.cpp
Outdated
Show resolved
Hide resolved
src/Plugins/ComplexCore/src/ComplexCore/Filters/Algorithms/ConvertData.cpp
Outdated
Show resolved
Hide resolved
src/Plugins/ComplexCore/src/ComplexCore/Filters/Algorithms/ConvertColorToGrayScale.cpp
Outdated
Show resolved
Hide resolved
inputValues->FindSummation, inputValues->FindHistogram, inputValues->MinRange, inputValues->MaxRange, inputValues->UseFullRange, | ||
inputValues->NumBins, inputValues->FindModalBinRanges, mask, featureIds, source, featureHasDataPtr, lengthArrayPtr, minArrayPtr, maxArrayPtr, | ||
meanArrayPtr, modeArrayPtr, stdDevArrayPtr, summationArrayPtr, histArrayPtr, mostPopulatedBinPtr, modalBinsArrayPtr, filter)); | ||
indexAlg.setParallelizationEnabled(false); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This still needs to be validated as to why it is disabled?
// #ifdef COMPLEX_ENABLE_MULTICORE | ||
#if 0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mmarineBlueQuartz Can we validate that this parallelization has to be disabled?
@@ -244,6 +246,7 @@ Result<> PartitionGeometry::partitionCellBasedGeometry(const IGridGeometry& inpu | |||
|
|||
ParallelData3DAlgorithm dataAlg; | |||
dataAlg.setRange(dims[0], dims[1], dims[2]); | |||
dataAlg.setParallelizationEnabled(false); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mmarineBlueQuartz Does this need to be disabled? Can we do the same checks for out-of-core arrays versus in-core arrays?
* Update filters and unit tests to enable out-of-core data. * Update Application to require static methods for creation and destruction. * Update ParallelAlgorithm classes for disabling onout-of-core data. * Add memory utilities for checking available and total memory.
* Removed debugging code from NX Runner
Fix IOFormat and DataArrayTest
Signed-off-by: Jared Duffey <jared.duffey@bluequartz.net>
Signed-off-by: Jared Duffey <jared.duffey@bluequartz.net>
Signed-off-by: Jared Duffey <jared.duffey@bluequartz.net>
Signed-off-by: Jared Duffey <jared.duffey@bluequartz.net>
Signed-off-by: Jared Duffey <jared.duffey@bluequartz.net>
Signed-off-by: Jared Duffey <jared.duffey@bluequartz.net>
* Added out-of-core array checks. Fixed ConvertColorToGrayScale parallelization code for out-of-core datastores.
9dc9c4f
to
4ab6dc0
Compare
Signed-off-by: Michael Jackson <mike.jackson@bluequartz.net>
* Enable Out-of-Core * Update filters and unit tests to enable out-of-core data. * Update Application to require static methods for creation and destruction. * Update ParallelAlgorithm classes for disabling onout-of-core data. * Add memory utilities for checking available and total memory. * Moved out of core check in ITK filters to execute helper function * Added out-of-core array checks. * Fixed ConvertColorToGrayScale parallelization code for out-of-core datastores. --------- Signed-off-by: Jared Duffey <jared.duffey@bluequartz.net> Signed-off-by: Michael Jackson <mike.jackson@bluequartz.net> Co-authored-by: Jared Duffey <jared.duffey@bluequartz.net> Co-authored-by: Michael Jackson <mike.jackson@bluequartz.net>
* Enable Out-of-Core * Update filters and unit tests to enable out-of-core data. * Update Application to require static methods for creation and destruction. * Update ParallelAlgorithm classes for disabling onout-of-core data. * Add memory utilities for checking available and total memory. * Moved out of core check in ITK filters to execute helper function * Added out-of-core array checks. * Fixed ConvertColorToGrayScale parallelization code for out-of-core datastores. --------- Signed-off-by: Jared Duffey <jared.duffey@bluequartz.net> Signed-off-by: Michael Jackson <mike.jackson@bluequartz.net> Co-authored-by: Jared Duffey <jared.duffey@bluequartz.net> Co-authored-by: Michael Jackson <mike.jackson@bluequartz.net>
Naming Conventions
Naming of variables should descriptive where needed. Loop Control Variables can use
i
if warranted. Most of these conventions are enforced through the clang-tidy and clang-format configuration files. See the filecomplex/docs/Code_Style_Guide.md
for a more in depth explanation.Filter Checklist
The help file
complex/docs/Porting_Filters.md
has documentation to help you port or write new filters. At the top is a nice checklist of items that should be noted when porting a filter.Unit Testing
The idea of unit testing is to test the filter for proper execution and error handling. How many variations on a unit test each filter needs is entirely dependent on what the filter is doing. Generally, the variations can fall into a few categories:
Code Cleanup