Re: [eigen] CDASH-Speedup: "Homer" how did you do it? |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] CDASH-Speedup: "Homer" how did you do it?
- From: Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx>
- Date: Fri, 28 Aug 2009 08:22:35 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type; bh=TRmGiVh8SCzVXGRwLvGsswEO9KfB0VPDtLTM44eEGgs=; b=J63JqFqbPkMC9Dj8wyE3tky345y1TSGTE1GDcEPjfVDwu0/uDJMflm/7AQtZKbth/J lKu+xfc84c9+xengCYxjPzD4oZ8+u05dVIUcP/mpFAPTd2+ovd/djwpohwV4ZZC2ImxE JUV5lQsR1T/aQVsH3zTMBKJEmxnUQ4JaBO3dU=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=DPwCWgnL1XEwZ/++ZN0A/LtYUvHsqHWRE7hYWYZSu812EDIWbAndAbs3mMYIyH4XW+ 5bFobImXoioF294af6tadPZUp4/ns5wTypJlPtMB/ZRWPNyP1BdgEXUPkNf/tuYaTI4X WfaAiPduL/dXypaqaJDJf9xzKF5ZQiZO/FVJU=
It was actually as I wrote on the forum. For some strange reason,
CMake uses the 'Debug' profile for creating dashboards when using the
testsuite script. You can verify this by checking your CMake cache.
Furthermore, optimization is even for the tricky unit tests disabled
on Windows machines, i.e. the EI_OFLAG is never set.
To achieve the run-times as on the dashboard I patched the
test\testsuite.cmake file. It is not yet comitted since I added two
more changes which probably need their ok from Gael or Benoit.
1) I added a IGNORE_CVS flag
That allows me to change files locally and still be able to submit to
dashboards via the testsuite script. See batch file for an example.
2) I added CMake cache settings for CMAKE_BUILD_TYPE
This is what you are actually looking for...
3) I disabled setting the CTEST_ENVIRONMENT CXX on Windows.
This is because CXX must be a proper CMake known value, e.g. MSVC. On
the other hand we use it in the build string when it is not set by the
user and typically we also want the version number of the compiler
which is not supportet for MSVC.
So, if nobody objects, I will submit this.
I also have a small patch for cmake/EigenTesting.cmake regarding the
EI_OFLAG. I basically force overriding the debug compile flags and
remove the run-time checks and thus enable us to set EI_OFLAG to O2.
It seems to work here on my machine. This is again not required for
the speedup since O2 is automatically set in Release mode - but in
case somebody goes back to debug he does not have to wait for 70+
minutes for the unit tests to finish...
- Hauke
On Fri, Aug 28, 2009 at 12:50 AM, FMDSPAM<fmdspam@xxxxxxxxx> wrote:
> Hi "Homer",
>
> I want to ask you for the steps you have done from cdash test runs this
> afternoon to tonight.
>
> May setup is (or maybe i probably have to say was) similar to yours
> (Vista+MSVC etc) and it is relatively very slow.
> What is to do, to get the a speedup similar to yours in the past few hours
> in the cdash suite?
>
> Cheers
> Frank (cdash: "Gordo")
@echo off
set SITE=homer
set ARCH=x64
set OS_VERSION=windows7(6.1.7600)
set CXX_VERSION=msvc-2008(9.0.30729.1)
set BUILD_STRING=%OS_VERSION%-%ARCH%-%CXX_VERSION%
set CURR_DIR=%~dp0
rem the directory in which the local repository of eigen is residing
set REPO_DIR=%CURR_DIR%eigen2
rem the directory in which the out of source build will be performed
set WORK_DIR=%CURR_DIR%eigen2-x64-bin-local
if exist "%WORK_DIR%" goto COPY_TEST_SUITE
mkdir "%WORK_DIR%"
:COPY_TEST_SUITE
ctest -VV -S %REPO_DIR%\test\testsuite.cmake,IGNORE_CVS,CTEST_SOURCE_DIRECTORY=%REPO_DIR%,CTEST_BINARY_DIRECTORY=%WORK_DIR%,EIGEN_CXX=%CXX_VERSION%,EIGEN_MODE=Experimental,EIGEN_SITE=%SITE%,EIGEN_BUILD_STRING=%BUILD_STRING%,EIGEN_EXPLICIT_VECTORIZATION=SSE2