Difference between revisions of "ITK Registration Optimization/2007-04-18-tcon"

From NAMIC Wiki
Jump to: navigation, search
 
Line 8: Line 8:
 
* To-dos
 
* To-dos
 
*# Implement BMDashboards
 
*# Implement BMDashboards
*#
 
  
 
=== Brad ===
 
=== Brad ===
 
* Status
 
* Status
 +
*# Commit into CVS
 +
*# Implement as ctests
 
*# Continuing to develop registration pipelines
 
*# Continuing to develop registration pipelines
 
*# Optimize the meansquareddifferenceimagetoimagemetric
 
*# Optimize the meansquareddifferenceimagetoimagemetric
 
* To-dos
 
* To-dos
*# Send email to Kilian
+
*# Send email/data to Kilian and determine his runtime on the data
*# Commit into CVS
+
*#* Time function?
*# Implement as ctests
+
*# Get parameters used from Kilian
 +
*# Define deformable registration test that matches Kilian's
  
 
=== Seb ===
 
=== Seb ===
# Setup CMake Dashboard
+
* Status
# Add md5 encryption function to CMake for BatchMake passwords
+
*# Setup CMake Dashboard
# Work with Julien on BatchMake Dashboard designs
+
*# Work with Julien on BatchMake Dashboard designs
# Investigate other opportunities for optimization
+
*# Established batchmake dashboard
 +
* To-Dos
 +
*# Work with Julien on BatchMake Dashboard designs
 +
*# Investigate other opportunities for optimization
  
 
=== Stephen ===
 
=== Stephen ===
# Get Seb/Brad access to SPL machines
+
* Status
# Continue to optimize MattesMIMetric
+
*# Get Seb/Brad access to SPL machines
# Determine BMDashboard table structure
+
*# Continue to optimize MattesMIMetric
# Have programs switch between baseline, optimized, and both testing/reporting
+
*# Determine BMDashboard table structure
 +
*# Generate cmake macro for defining metric tests
 +
*#* MattesMI_GetValue, MattesMI_GetDerivative, MattesMI_GetValueAndDerivative
 +
*#* MI_GetValue, ... (no optimized version yet)
 +
*#* Command line arguments
 +
*#** -u : perform unoptimized tests only
 +
*#** -o : perform optimized tests only
 +
*#** -v : compute value tests only (for metrics only)
 +
*#** -d : compute derivative tests only (for metrics only)
 +
*#** -c : compute combined (value and derivative) tests only (for metrics only)
 +
* To-Dos
 +
*# Continue to optimize MattesMIMetric
 +
*# Generate cmake macro for defining transform and interpolator tests
 +
*# Move multi-threading to itkOptMultiThreadedImageToImageMetric.h/txx
 +
*#* Subsampling, masks, and multi-threaded
  
 
== State of things ==
 
== State of things ==
Line 35: Line 54:
 
=== Tests ===
 
=== Tests ===
 
* Full pipelines being developing
 
* Full pipelines being developing
* Refactoring isolated tests to conform to new batchboard
 
 
* Programming style
 
* Programming style
 
** [http://www.insightsoftwareconsortium.org/documents/policies/Style.pdf ISC Coding Style Guide]
 
** [http://www.insightsoftwareconsortium.org/documents/policies/Style.pdf ISC Coding Style Guide]
Line 51: Line 69:
  
 
=== Optimizations ===
 
=== Optimizations ===
* Jim Miller recommended the following
+
* Multi-threading
** Random sampling from metrics
+
* Masks
** Masks in metrics
+
* Subsampling
** Caching information across metric evaluations
+
* Combined metrics and transforms
  
 
=== Administration ===
 
=== Administration ===
Line 60: Line 78:
 
** Testing infrastructure
 
** Testing infrastructure
 
** CMake/CPU extensions
 
** CMake/CPU extensions
* Current funding
+
* Proposal nearly ready
* Next funding = April 20th report
 

Revision as of 15:04, 18 April 2007

Home < ITK Registration Optimization < 2007-04-18-tcon

Agenda

Status and Tasks

Julien

  • Status
    1. Defined role of experiments and batches
  • To-dos
    1. Implement BMDashboards

Brad

  • Status
    1. Commit into CVS
    2. Implement as ctests
    3. Continuing to develop registration pipelines
    4. Optimize the meansquareddifferenceimagetoimagemetric
  • To-dos
    1. Send email/data to Kilian and determine his runtime on the data
      • Time function?
    2. Get parameters used from Kilian
    3. Define deformable registration test that matches Kilian's

Seb

  • Status
    1. Setup CMake Dashboard
    2. Work with Julien on BatchMake Dashboard designs
    3. Established batchmake dashboard
  • To-Dos
    1. Work with Julien on BatchMake Dashboard designs
    2. Investigate other opportunities for optimization

Stephen

  • Status
    1. Get Seb/Brad access to SPL machines
    2. Continue to optimize MattesMIMetric
    3. Determine BMDashboard table structure
    4. Generate cmake macro for defining metric tests
      • MattesMI_GetValue, MattesMI_GetDerivative, MattesMI_GetValueAndDerivative
      • MI_GetValue, ... (no optimized version yet)
      • Command line arguments
        • -u : perform unoptimized tests only
        • -o : perform optimized tests only
        • -v : compute value tests only (for metrics only)
        • -d : compute derivative tests only (for metrics only)
        • -c : compute combined (value and derivative) tests only (for metrics only)
  • To-Dos
    1. Continue to optimize MattesMIMetric
    2. Generate cmake macro for defining transform and interpolator tests
    3. Move multi-threading to itkOptMultiThreadedImageToImageMetric.h/txx
      • Subsampling, masks, and multi-threaded

State of things

Tests

Timing

  • Done

Performance Dashboard

  • Public submission of performance
  • Organization of Experiments/Dashboards
  • Appropriate summary statistics
    • Per machine: batch -vs- speed/error
    • Per test: mflops -vs- speed/error
    • All, batch -vs- % change in performance

Optimizations

  • Multi-threading
  • Masks
  • Subsampling
  • Combined metrics and transforms

Administration

  • IJ Reports
    • Testing infrastructure
    • CMake/CPU extensions
  • Proposal nearly ready