Hi!<br><br><blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">&quot;For now using SSE2 should be ok (will fail e.g. on gumstix however). &quot;</blockquote>
<div><br>Good point, these flags are unknown by the arm-architecture. On our gumstix we use this (not pushed yet):<br><br>    cmake_package &#39;external/opencv&#39; do |pkg|<br>        pkg.define(&quot;CMAKE_BUILD_TYPE&quot;,&quot;Release&quot;)<br>
        if not RUBY_PLATFORM.downcase.include?(&quot;arm&quot;)<br>            pkg.define(&quot;ENABLE_SSE3&quot;,&quot;ON&quot;)<br>            pkg.define(&quot;ENABLE_SSE41&quot;,&quot;OFF&quot;)<br>            pkg.define(&quot;ENABLE_SSE42&quot;,&quot;OFF&quot;)<br>
            pkg.define(&quot;ENABLE_SSSE3&quot;,&quot;OFF&quot;)<br>        end<br>        pkg.define(&quot;BUILD_EXAMPLES&quot;,&quot;OFF&quot;)<br>    end<br><br>Best regards,<br>Stefan<br> </div><div class="gmail_quote">
2011/9/5 Jakob Schwendner <span dir="ltr">&lt;<a href="mailto:jakob.schwendner@dfki.de">jakob.schwendner@dfki.de</a>&gt;</span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<u></u>
  
    
    
  

  <div><div class="im">
    <br>

    <p style="margin: 0px;"> </p>

    <p style="margin: 0px;"></p>

    <p> </p>

    <div style="margin: 5px 0px; font-family: monospace;">
      On September 5, 2011 at 5:24 PM Sylvain Joyeux &lt;<a href="mailto:sylvain.joyeux@dfki.de" target="_blank">sylvain.joyeux@dfki.de</a>&gt; wrote:<br>
      <br>
      &gt; Some packages start to -- sometimes sneakily -- introduce dependence on<br>
      &gt; CPU features such as SSE*. Such packages are OpenCV and libelas<br>
      &gt;<br>
      &gt; In libelas, this support is mandatory, so there&#39;s not much to do about it.<br>
      &gt;<br>
      &gt; In OpenCV, it is experimental. The person that added opencv 2.3 to rock<br>
      &gt; turned these features ON by default.<br>
      &gt;<br>
      &gt; My question:<br>
      &gt;    * is opencv using an autodetection feature ? I.e. does it turn them<br>
      &gt; off at runtime if the CPU does not support them, or will the user get a<br>
      &gt; &quot;wrong instruction&quot; error ?<br>
      &gt;    * in the latter case, what should be the default ? I would go for &quot;do<br>
      &gt; not enable SSE &gt;= 4 by default&quot; and explain how to enable it to users on<br>
      &gt; the wiki. For OpenCV, it would be reenabled by adding the following code<br>
      &gt; snippet in autoproj/overrides.rb<br>
      &gt;<br>
      &gt;    setup_package(&quot;external/opencv&quot;) do |pkg|<br>
      &gt;      pkg.define(&quot;ENABLE_SSE41&quot;,&quot;ON&quot;)<br>
      &gt;      pkg.define(&quot;ENABLE_SSE42&quot;,&quot;ON&quot;)<br>
      &gt;      pkg.define(&quot;ENABLE_SSSE3&quot;,&quot;ON&quot;)<br>
      &gt;    end<br>
      &gt;<br>
      &gt; For the time being, I disabled SSE &gt;= 4 in the rock package set (that<br>
      &gt; seems to be the safest until we resolve the question).<br>
      &gt;
    </div>

    </div><p style="margin: 0px;">Hi, </p>

    <p style="margin: 0px;"> </p>

    <p style="margin: 0px;">There is a macro for cmake, that gets the right optimization settings for your architecture: </p>

    <p style="margin: 0px;"><a href="http://vir.homelinux.org/blog/archives/140-Automatic-Optimization-for-your-CPU-with-CMake.html" target="_blank">http://vir.homelinux.org/blog/archives/140-Automatic-Optimization-for-your-CPU-with-CMake.html</a></p>


    <p style="margin: 0px;">direct linkt to script: <a href="http://gitorious.org/vc/vc/blobs/master/cmake/OptimizeForArchitecture.cmake" target="_blank">http://gitorious.org/vc/vc/blobs/master/cmake/OptimizeForArchitecture.cmake</a></p>


    <p style="margin: 0px;"> </p>

    <p style="margin: 0px;">We could embed this into the base/types package. It doesn&#39;t help however with opencv and libelas, I guess. In the long run, I would vote that autoproj itself can do the differentiation between different compiler option, much like it does for the operating systems now. For now using SSE2 should be ok (will fail e.g. on gumstix however).  </p>


    <p style="margin: 0px;"> </p>

    <p style="margin: 0px;">cheers,</p>

    <p style="margin: 0px;"> </p><font color="#888888">

    <p style="margin: 0px;">Jakob</p>

    <p style="margin: 0px;"> </p>
    <br>
  </font></div>
<br>_______________________________________________<br>
Rock-dev mailing list<br>
<a href="mailto:Rock-dev@dfki.de">Rock-dev@dfki.de</a><br>
<a href="http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev" target="_blank">http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br> Dipl.-Inf. Stefan Haase<br> Space Robotics and Animation<br> <br>Standort Bremen:<br> DFKI GmbH<br> Robotics Innovation Center<br> Robert-Hooke-Straße 5<br> 28359 Bremen, Germany<br>
 <br> Phone: +49 (0)421 178 45-4108<br> Fax:   +49 (0)421 178 45-4150<br> E-Mail: <a href="mailto:Stefan.Haase@dfki.de" target="_blank">Stefan.Haase@dfki.de</a><br> <br> Weitere Informationen: <a href="http://www.dfki.de/robotik" target="_blank">http://www.dfki.de/robotik</a><br>
 -----------------------------------------------------------------------<br> Deutsches Forschungszentrum fuer Kuenstliche Intelligenz GmbH<br> Firmensitz: Trippstadter Straße 122, D-67663 Kaiserslautern<br> Geschaeftsfuehrung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster <br>
 (Vorsitzender) Dr. Walter Olthoff<br> Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes<br> Amtsgericht Kaiserslautern, HRB 2313<br> Sitz der Gesellschaft: Kaiserslautern (HRB 2313)<br> USt-Id.Nr.:    DE 148646973<br>
 Steuernummer:  19/673/0060/3<br> -----------------------------------------------------------------------<br>