ITK/10th Anniversary Activities/Dashboard Fest 1.0

From KitwarePublic
Jump to navigationJump to search

The Goal:

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

When ?

  • Starting on November 5th 2009 at 9:00pm EST
  • Closing on November 6th 2009 at 9:00pm EST

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 !


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.16.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
  • 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.16.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.

Results

The DASHBOARD FEST was a great success.

Alphabetical List

Here is the list of submissions sorted alphabetically by SITE.

SITE BUILD NAME Number of Submissions
2-LKEB-09-0012 Win32-vs9 4
alexgouaillards-macbook-pro.local Darwin-c++ 3
alexgouaillards-macbook-pro.local Darwin-ccache 2
axelrod.uiowa i686-Release 1
axon.uiowa i686-Debug 1
Barad-dur.kitware Linux-g++-4.2 1
beat Linux-c++ 1
BillsLaptop Win32-c++ 1
bioimage.jyu Linux-c++ 1
bloch.psychiatry.uiowa.edu Darwin-c++ 1
bloch.uiowa Darwin.FAST_64 3
BLUE-20090930BP Win32-MSDEV 4
boggs Linux-g++ 32
brian.jouy.inra.fr Linux-c++ 193
broca.psychiatry.uiowa.edu Linux-c++ 1
broca.uiowa i686-Debug 1
bubbles.hooperlab Fedora-11 1
camelot.kitware Linux-g++-4.1-LesionSizingSandbox_Debug 3
camelot.kitware Linux-g++-4.1-LesionSizingSandbox_Release 3
camelot.kitware Linux-g++-4.1-LesionSizingToolkit_Debug 3
camelot.kitware Linux-g++-4.1-LesionSizingToolkit_Release 3
centos.ch Linux-c++ 1
chiarugi.uiowa x86_64-Release 1
common.bwh.harvard.edu Darwin-g++ 13
compute15.uiowa i686-Release 1
compute16.uiowa i686-Release 1
compute22.uiowa Linux64-Release 7
compute22.uiowa x86_64-Debug 2
compute3.psychiatry.uiowa.edu Linux-c++ 4
compute3.uiowa i686-Debug 1
compute4.uiowa i686-Debug 1
compute5.uiowa i686-Debug 1
compute7.uiowa Linux.DEBUG_64 2
compute7.uiowa Linux.FAST_64 2
compute7.uiowa x86_64-Release 1
compute8.uiowa x86_64-Debug 1
compute8.uiowa x86_64-Release 1
darwinia.kitware Win32-vs71-HAPPY-10th-ANNIVERSARY 2
dash18.kitware zApps-Linux-gcc40 2
dash20.kitware VS2008Express_review_optreg_libxml2 3
davedesktop Linux-g++ 8
debian-alex-32bit g++ 4.3.2-1.1 1
developer.uiowa i686-Release 1
dzyubak-laptop-32bit Ubuntu gcc 4.4.1 1
Eternia Linux-c++ 2
Eternia.kitware gcc_review_optreg_libxml2 3
gelas-mac.megason-lab.hms Darwin-g++-4.2 7
gelas.megason-lab.hms Linux-g++-4.4.1-x86_64 12
ginger Linux-c++ 37
Godelian-Refugee Darwin-c++ 3
helium.opteron16 gcc Debian 4.3.2-1.1 1
helium.opteron16 make -j16 1
helium.opteron16 make -j32 1
Helium.Opteron16-cmake28 make -j1 1
Helium.Opteron16-cmake28 make -j16 6
Helium.Opteron16-cmake28 make -j32 1
hythloth.kitware Linux64-gcc-4.2 3
inv11.vicomtech Win32-vs9 10
inv20.vicomtech Win32-vs9 6
ipl4.uiowa x86_64-Debug 1
ipl4.uiowa x86_64-Release 1
ipl7.uiowa i686-Release 1
itk1.jouy.inra.fr SunOS-CC 116
itk2.jouy.inra.fr SunOS-g++ 74
james.uiowa i686-Debug 1
james.uiowa i686-Release 1
lanai.maunakeatech Darwin-c++ 1
localhost.localdomain Linux-c++ 1
mac.ch Darwin-c++ 1
macbook.10.4.ch Darwin-c++ 1
macbook.10.5.ch Darwin-c++ 1
macondo.kitware Linux-g++-4.2-HAPPY-10th-ANNIVERSARY 10
malawi.home Darwin-c++ 2
malawi.nlm Darwin-c++ 12
marvin.jouy.inra.fr Linux-c++-4.3.2-Release 176
MinasMorgul.kitware Darwin-c++ 1
nash.uiowa i686-Debug 1
npi.unsw.au Linux-c++ 1
oahu.maunakeatech Linux-c++ 1
ORODRUIN Win32-vs9 2
pandora.uiowa x86_64-Debug 1
pcconf5 .jouy.inra.fr Linux-c++ 39
pissarro.kitware I-Love-ITK-Win32-vs9 1
pixel.jouy.inra.fr Linux-c++ 48
pokemon.vicomtech Win32-vs9 2
purple.kitware.com Darwin-c++ 1
redwall.kitware Win32-vs9-DASHBOARD-FEST 2
redwall.kitware Win32-vs9-HAPPY-10th-ANNIVERSARY 11
RogueResearch5 Mac10.5-InsightBS-rel 3
RUPESLAP Win32-VCExpress 1
sabertooth.bme.gatech.edu Linux-c++ 1
sanchome.megason-lab.hms Linux-g++-4.4.1-x86_64-dbg-static 10
Sharp.win2k.mingw.MGH Win32-make 1
Sharp.win2k.msvc6.MGH Win32-MSDEV 1
Sharp.win2k.msvc8.MGH Win32-vs8 1
sid.debian.domibel Linux-c++ 1
STAPLJ1-D1 Win32-VCExpress 4
synapse.uiowa i686-Debug 1
terminus.kitware Win32-VS60-DASHBOARD-FEST 2
tesla.uiowa i686-Release 1
thurmite.kitware Darwin-c++HAPPY-10th-ANNIVERSARY 21
ubuntu.ch Linux-c++ 1
voxel.jouy.inra.fr Linux-c++ 67
yellowstone Linux-c++ 1
zion.kitware Linux-g++-4.1-HAPPY-10th-ANNIVERSARY 1
zorba.uiowa i686-Debug 1
TOTAL 1045

Sorted by Number of Submissions

Here is the list of participants sorted by number of submitted builds

SITE BUILD NAME Number of Submissions
brian.jouy.inra.fr Linux-c++ 193
marvin.jouy.inra.fr Linux-c++-4.3.2-Release 176
itk1.jouy.inra.fr SunOS-CC 116
itk2.jouy.inra.fr SunOS-g++ 74
voxel.jouy.inra.fr Linux-c++ 67
pixel.jouy.inra.fr Linux-c++ 48
ginger Linux-c++ 37
boggs Linux-g++ 32
thurmite.kitware Darwin-c++HAPPY-10th-ANNIVERSARY 21
common.bwh.harvard.edu Darwin-g++ 13
malawi.nlm Darwin-c++ 12
gelas.megason-lab.hms Linux-g++-4.4.1-x86_64 12
redwall.kitware Win32-vs9-HAPPY-10th-ANNIVERSARY 11
sanchome.megason-lab.hms Linux-g++-4.4.1-x86_64-dbg-static 10
macondo.kitware Linux-g++-4.2-HAPPY-10th-ANNIVERSARY 10
inv11.vicomtech Win32-vs9 10
davedesktop Linux-g++ 8
gelas-mac.megason-lab.hms Darwin-g++-4.2 7
compute22.uiowa Linux64-Release 7
inv20.vicomtech Win32-vs9 6
debian-alex-32bit g++ 4.3.2-1.1 1
STAPLJ1-D1 Win32-VCExpress 4
compute3.psychiatry.uiowa.edu Linux-c++ 4
BLUE-20090930BP Win32-MSDEV 4
2-LKEB-09-0012 Win32-vs9 4
RogueResearch5 Mac10.5-InsightBS-rel 3
hythloth.kitware Linux64-gcc-4.2 3
Godelian-Refugee Darwin-c++ 3
Eternia.kitware gcc_review_optreg_libxml2 3
dash20.kitware VS2008Express_review_optreg_libxml2 3
bloch.uiowa Darwin.FAST_64 3
alexgouaillards-macbook-pro.local Darwin-c++ 3
terminus.kitware Win32-VS60-DASHBOARD-FEST 2
redwall.kitware Win32-vs9-DASHBOARD-FEST 2
pokemon.vicomtech Win32-vs9 2
ORODRUIN Win32-vs9 2
malawi.home Darwin-c++ 2
Eternia Linux-c++ 2
dash18.kitware zApps-Linux-gcc40 2
darwinia.kitware Win32-vs71-HAPPY-10th-ANNIVERSARY 2
compute7.uiowa Linux.FAST_64 2
compute7.uiowa Linux.DEBUG_64 2
compute22.uiowa x86_64-Debug 2
alexgouaillards-macbook-pro.local Darwin-ccache 2
zorba.uiowa i686-Debug 1
zion.kitware Linux-g++-4.1-HAPPY-10th-ANNIVERSARY 1
yellowstone Linux-c++ 1
ubuntu.ch Linux-c++ 1
tesla.uiowa i686-Release 1
synapse.uiowa i686-Debug 1
sid.debian.domibel Linux-c++ 1
Sharp.win2k.msvc8.MGH Win32-vs8 1
Sharp.win2k.msvc6.MGH Win32-MSDEV 1
Sharp.win2k.mingw.MGH Win32-make 1
sabertooth.bme.gatech.edu Linux-c++ 1
RUPESLAP Win32-VCExpress 1
purple.kitware.com Darwin-c++ 1
pissarro.kitware I-Love-ITK-Win32-vs9 1
pandora.uiowa x86_64-Debug 1
oahu.maunakeatech Linux-c++ 1
npi.unsw.au Linux-c++ 1
nash.uiowa i686-Debug 1
MinasMorgul.kitware Darwin-c++ 1
mac.ch Darwin-c++ 1
macbook.10.5.ch Darwin-c++ 1
macbook.10.4.ch Darwin-c++ 1
localhost.localdomain Linux-c++ 1
lanai.maunakeatech Darwin-c++ 1
james.uiowa i686-Release 1
james.uiowa i686-Debug 1
ipl7.uiowa i686-Release 1
ipl4.uiowa x86_64-Release 1
ipl4.uiowa x86_64-Debug 1
developer.uiowa i686-Release 1
compute8.uiowa x86_64-Release 1
compute8.uiowa x86_64-Debug 1
compute7.uiowa x86_64-Release 1
compute5.uiowa i686-Debug 1
compute4.uiowa i686-Debug 1
compute3.uiowa i686-Debug 1
compute16.uiowa i686-Release 1
compute15.uiowa i686-Release 1
chiarugi.uiowa x86_64-Release 1
centos.ch Linux-c++ 1
bubbles.hooperlab Fedora-11 1
broca.uiowa i686-Debug 1
broca.psychiatry.uiowa.edu Linux-c++ 1
bloch.psychiatry.uiowa.edu Darwin-c++ 1
bioimage.jyu Linux-c++ 1
BillsLaptop Win32-c++ 1
beat Linux-c++ 1
Barad-dur.kitware Linux-g++-4.2 1
axon.uiowa i686-Debug 1
axelrod.uiowa i686-Release 1
pcconf5 .jouy.inra.fr Linux-c++ 39
helium.opteron16 make -j32 1
helium.opteron16 make -j16 1
helium.opteron16 gcc Debian 4.3.2-1.1 1
Helium.Opteron16-cmake28 make -j32 1
Helium.Opteron16-cmake28 make -j16 6
Helium.Opteron16-cmake28 make -j1 1
dzyubak-laptop-32bit Ubuntu gcc 4.4.1 1
TOTAL 1045