ITK/10th Anniversary Activities/Dashboard Fest 2.0

From KitwarePublic
< ITK‎ | 10th Anniversary Activities
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

The Goal

To break the Record of Number of Experimental Builds Submitted to the ITK Dashboard

The Current record : 1,033 builds

(established during the Dashboard Fest 1.0 )

The new Target: 1,500 builds

When ?

  • Starting on Sunday June 20 2010 at 9:01pm EDT
  • Closing on Monday June 21 2010 at 9:00pm EDT

Covering the day around the Summer Solstice


Times in UTC are:

  • Starting on Monday June 21 2010 at 1:01am UTC
  • Closing on Tuesday June 22 2010 at 1:00am UTC

What to do ?

  • Submit as many Experimental builds as you dare to the ITK CDash Dashboard


Why ?

  • Just because we can !
  • Because it is easy !
  • Because it is fun !
  • Because anyone can participate of the celebration regardless of geographical location and time zone !

Prizes

  • Build with the most tests (in a single build)
  • Build with most uncommon compiler

Post Analysis

  • Review number of failed test per machine
  • Timing statistics of running tests

What do you need ?

  • An installed CMake version 2.6 or higher
  • A functional compiler
  • A working Internet connection
  • The source code of ITK
  • Celebration Spirit !!

How ?

In Linux

Download ITK

Get any recent release tarballs from

  http://www.itk.org/ITK/resources/software.html

and extract it in a "SOURCE" directory

  mkdir ~/ITK10thAnniversary
  mkdir ~/ITK10thAnniversary/src
  cd ~/ITK10thAnniversary/src
  tar -xzf InsightToolkit-3.18.0.tar.gz 

or

Use CVS

  mkdir ~/ITK10thAnniversary
  mkdir ~/ITK10thAnniversary/src
  cd ~/ITK10thAnniversary/src
  cvs -d :pserver:anonymous@www.itk.org:/cvsroot/Insight login

password: insight

  cvs -d :pserver:anonymous@www.itk.org:/cvsroot/Insight co Insight


Configure ITK

Create a "BINARY" directory

  mkdir ~/ITK10thAnniversary/bin

go inside that directory

  cd ~/ITK10thAnniversary/bin

call ccmake

  ccmake ~/ITK10thAnniversary/src/Insight
  • Type "c" for Configuring
  • Type "t" for Toggling to Advanced variables
  • Type "/SITE" to search for the SITE variable
  • Hit the Enter key to edit that variable
  • Write the name of your machine and institution
    • for example: zion.kitware
    • but if you want to be creative, just go for it!
      • simply try to keep the SITE name to less than 25 characters.
  • Type "c" for Configuring
  • Type "g" for Generating makefiles

At this point, ccmake will quit, and you are ready for building ITK.

Building ITK (First Submission)

From the same BINARY directory, simply type:

   make Experimental

Depending on the speed of your computer, one to three hours later, your build submission should appear in the ITK Dashboard:

  http://www.cdash.org/CDash/index.php?project=Insight

More specifically, in the "Experimental" Section:

  http://www.cdash.org/CDash/index.php?project=Insight#Experimental

To find your build, look for the "SITE" name that you assigned in the first column (labeled SITE) of the Experimental section.

Submitting a Parallel Build

WARNING: Please note that you need to use CMake 2.8 for this section.

CMake 2.8 can distribute build in a parallel fashion and therefore take advantage of multi-processor and multi-core machines.

To submit a parallel build simply go to the binary directory where you built ITK and do:

   ctest -j8 -D Experimental

Where 8 is the number of cores in your computer.


NOTE: In some cases is recomended to set the -j argument to double the number of cores...

Keep Submitting Builds

Once you have submitted the first Experimental build, the process of submitting subsequent builds is trivial.

Just go the "BINARY" directory:

  cd ~/ITK10thAnniversary/bin

and do:

  make clean
  make Experimental


Then, to keep submitting more builds you could:

  • Comming back every two hours to type the same commands, or
  • Put these two statements in a for-loop in a shell script, or
  • in a python script, or
  • perl script, or
  • setup a cron job

Of course, there is no reason why you should limit yourself to a single computer  :-)

The same process could be run in any number of machines. However, you may want to assign a unique name to the SITE variable in every machine.

In Mac

Please follow the same instructions of the "In Linux" section.

The should work fine from the shell command of a Mac.

In Windows

Download ITK

Get any recent release tarballs from

  http://www.itk.org/ITK/resources/software.html

and extract it in a "SOURCE" directory

Create a directory such as:

  C:\ITK10thAnniversary

copy the file

  InsightToolkit-3.18.0.zip

to that directory, and decompress the file.

or

Use CVS

  cvs -d :pserver:anonymous@www.itk.org:/cvsroot/Insight login

password: insight

  cvs -d :pserver:anonymous@www.itk.org:/cvsroot/Insight co Insight


Configure ITK

Create a "BINARY" directory, such as

  C:\ITK10thAnniversary\bin

Run

   cmake-gui.exe


  • Provide the "SOURCE" directory
  • Provide the "BINARY" directory
  • Press the "Configure" button
  • Select the compiler that you want to use for building ITK
  • Select "Advanced View" in the pull-down menu in front of the "Search" field towards the top of the GUI.
  • Type "SITE" in the "Search" field, to look for the SITE variable
  • Double click on the right side of the variable
  • Write the name of your machine and institution
    • for example: zion.kitware
    • but if you want to be creative, just go for it!
      • simply try to keep the SITE name to less than 25 characters.
  • Press the "Configure" button
  • Press the "Generate" button

At this point, you can quit the cmake-gui.exe application.

You are ready for building ITK.

Building ITK (First Submission)

Here we assume that you are using Visual Studio...


Open the ITK.sln file using the IDE of your Visual Studio compiler.

On the left side of the IDE you will see a list of projects.

  • Search for "Experimental".
    • The projects are listed alphabetically and there are a lot of them, so you may have to scroll down on the "Solution Explorer" window.
  • Right-click on the "Experimental" project and select "Build"

Depending on the speed of your computer, one to three hours later, your build submission should appear in the ITK Dashboard:

  http://www.cdash.org/CDash/index.php?project=Insight

More specifically, in the "Experimental" Section:

  http://www.cdash.org/CDash/index.php?project=Insight#Experimental

To find your build, look for the "SITE" name that you assigned in the first column (labeled SITE) of the Experimental section.

Keep Submitting Builds

Once you have submitted the first Experimental build, the process of submitting subsequent builds is trivial.

Just keep right-clicking on the "Experimental" project inside the IDE and selecting "Rebuild".

Note the use of "Rebuild" instead of "Build", to make sure that the toolkit is recompiled from scratch every time.

Other ways to do it

An alternative easier way to do this is to use a Cygwin or a MS-DOS shell window

  • Go to the Binary directory
  • Call:
       ctest.exe    -D   Experimental

Then, to keep submitting more builds you could:

  • Comming back every two hours to type the same commands, or
  • Put these two statements in a for-loop in a shell script, or
  • in a python script, or
  • perl script, or
  • setup a ScheduledTask

Of course, there is no reason why you should limit yourself to a single computer  :-)

The same process could be run in any number of machines. However, you may want to assign a unique name to the SITE variable in every machine.