ITK/10th Anniversary Activities/Dashboard Fest 2.0: Difference between revisions
(→Why ?) |
Daviddoria (talk | contribs) m (moved ITK 10th Anniversary Activities/Dashboard Fest 2.0 to ITK/10th Anniversary Activities/Dashboard Fest 2.0) |
||
(3 intermediate revisions by one other user not shown) | |||
Line 13: | Line 13: | ||
= When ? = | = When ? = | ||
* Starting on Sunday '''June 20''' 2010 at '''9:01pm | * Starting on Sunday '''June 20''' 2010 at '''9:01pm EDT''' | ||
* Closing on Monday '''June 21''' 2010 at '''9:00pm | * Closing on Monday '''June 21''' 2010 at '''9:00pm EDT''' | ||
Covering the day around the [http://en.wikipedia.org/wiki/Solstice Summer Solstice] | Covering the day around the [http://en.wikipedia.org/wiki/Solstice 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 ? = | = What to do ? = | ||
Line 34: | Line 40: | ||
* Build with the most tests (in a single build) | * Build with the most tests (in a single build) | ||
* Build with most uncommon compiler | * Build with most uncommon compiler | ||
= Post Analysis = | |||
* Review number of failed test per machine | |||
* Timing statistics of running tests | |||
= What do you need ? = | = What do you need ? = | ||
Line 86: | Line 97: | ||
call ccmake | call ccmake | ||
ccmake ~/ITK10thAnniversary/src | ccmake ~/ITK10thAnniversary/src/Insight | ||
* Type "c" for Configuring | * Type "c" for Configuring |
Latest revision as of 01:29, 11 February 2012
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.