ITK/10th Anniversary Activities/Dashboard Fest 1.0
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++ AND Darwin-ccache | 5 |
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 |
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 | 1033 |
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 |
pcconf5 .jouy.inra.fr | Linux-c++ | 39 |
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 |
Helium.Opteron16-cmake28 | make -j16 | 6 |
inv20.vicomtech | Win32-vs9 | 6 |
alexgouaillards-macbook-pro.local | Darwin-c++ AND Darwin-ccache | 5 |
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 |
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 |
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 |
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 -j1 | 1 |
dzyubak-laptop-32bit | Ubuntu gcc 4.4.1 | 1 |
TOTAL | 1033 |