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

From NAMIC Wiki
Jump to: navigation, search
 
 
(One intermediate revision by the same user not shown)
Line 6: Line 6:
 
* Status
 
* Status
 
*# Defined role of experiments and batches
 
*# Defined role of experiments and batches
 +
*# Working Batchmake Dashboards and graphs
 
* To-dos
 
* To-dos
 
*# Implement BMDashboards
 
*# Implement BMDashboards
*#  
+
*# Sun is reporting the wrong physical memory
 +
*# Appropriate summary statistics
 +
*#* Per machine: batch -vs- speed/error
 +
*#* Per test: mflops -vs- speed/error
 +
*#* All, batch -vs- % change in performance
  
 
=== 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 from Kilian
 +
*# Define deformable registration test that matches Kilian's
 +
*# Get binaries of the program that Kilian is using
 +
*# Run our tests on Kilian's machine
  
 
=== Seb ===
 
=== Seb ===
# Setup CMake Dashboard
+
* Status
# Add md5 encryption function to CMake for BatchMake passwords
+
*# Setup BatchMake Dashboard
# Work with Julien on BatchMake Dashboard designs
+
*# Setup NAC/BWHItkOptimized Dashboard
# Investigate other opportunities for optimization
+
*# Work with Julien on Batchboard designs
 +
* To-Dos
 +
*# Work with Julien on Batchboard designs
 +
*# Investigate other opportunities for optimization
 +
*# Improve/de-chicken Stephen's macro
  
 
=== Stephen ===
 
=== Stephen ===
# Get Seb/Brad access to SPL machines
+
* Status
# Continue to optimize MattesMIMetric
+
*# Continue to optimize MattesMIMetric
# Determine BMDashboard table structure
+
*# Determine BMDashboard table structure
# Have programs switch between baseline, optimized, and both testing/reporting
+
*# 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)
 +
*#* Submit grant proposal
 +
* 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 63:
 
=== 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 45: Line 72:
 
* Public submission of performance
 
* Public submission of performance
 
* Organization of Experiments/Dashboards
 
* Organization of Experiments/Dashboards
* <em>Appropriate summary statistics</em>
 
** Per machine: batch -vs- speed/error
 
** Per test: mflops -vs- speed/error
 
** All, batch -vs- % change in performance
 
  
 
=== 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 83:
 
** Testing infrastructure
 
** Testing infrastructure
 
** CMake/CPU extensions
 
** CMake/CPU extensions
* Current funding
+
* Proposal nearly ready
* Next funding = April 20th report
 

Latest revision as of 17:22, 18 April 2007

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

Agenda

Status and Tasks

Julien

  • Status
    1. Defined role of experiments and batches
    2. Working Batchmake Dashboards and graphs
  • To-dos
    1. Implement BMDashboards
    2. Sun is reporting the wrong physical memory
    3. Appropriate summary statistics
      • Per machine: batch -vs- speed/error
      • Per test: mflops -vs- speed/error
      • All, batch -vs- % change in performance

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 from Kilian
    3. Define deformable registration test that matches Kilian's
    4. Get binaries of the program that Kilian is using
    5. Run our tests on Kilian's machine

Seb

  • Status
    1. Setup BatchMake Dashboard
    2. Setup NAC/BWHItkOptimized Dashboard
    3. Work with Julien on Batchboard designs
  • To-Dos
    1. Work with Julien on Batchboard designs
    2. Investigate other opportunities for optimization
    3. Improve/de-chicken Stephen's macro

Stephen

  • Status
    1. Continue to optimize MattesMIMetric
    2. Determine BMDashboard table structure
    3. 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)
      • Submit grant proposal
  • 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

Optimizations

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

Administration

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