Hi all!<br>


<br>


Well, first of all, sorry if it's on the wrong gromacs list, but from
what I could see on the website I could not find a clear indication on
where to put benchmarks.<br>


<br>


Anyway, some time ago I asked the list for help on making this
benchmarks, on which I want to compare different compilers. I've been
able to compile and run the benchmarks for GCC (double and single
precision) and portland (single precision). Unfortunatelly,m I could
not make it work with Intel Compiler (yes, I will ask for help again
later.. ;)&nbsp; ).<br>


<br>


Well, here we go: first, the benchmarks with the CPU usage of about 98%
(varies among the tests) that I've got. After, I put the same benchs,
but with a &quot;rescale&quot; of the performances of each tests for a 100% CPU
usage:<br>


<br>

<table border="1" cellpadding="5" cellspacing="0">

<tbody><tr><th rowspan="2"><strong>Machine</strong></th>
            <th colspan="2"><strong>CPU/Core</strong></th>
            <th rowspan="2"><strong>Compiler</strong></th>
            <th rowspan="2"><strong>Clock (MHz)</strong></th>
            <th rowspan="2"><strong>Cache (kb)</strong></th>
            <th colspan="5"><strong>Benchmark</strong></th>
            <th colspan="2">&nbsp;</th>
        </tr>
        <tr>
            <th><font size="-1">Type</font></th>
            <th><font size="-1">N</font></th>
            <th><font size="-1">Villin</font></th>
            <th><font size="-1">Lys/Cut</font></th>
            <th><font size="-1">Lys/PME</font></th>
            <th><font size="-1">DPPC</font></th>
            <th><font size="-1">Poly-CH2</font></th>
            <th><font color="#0000ff" size="-1">Average</font></th>
            <th><font color="#008000" size="-1">Rate</font></th>
        </tr>
        <tr>
            <td style="font-style: italic; font-weight: bold;">Linux</td>
            <td style="font-style: italic; font-weight: bold;"><font color="#0000ff">Athlon</font></td>
            <td style="font-style: italic; font-weight: bold;" align="right">1</td>
            <td style="font-style: italic; font-weight: bold;">gcc</td>
            <td style="font-style: italic; font-weight: bold;" align="right">800</td>
            <td style="font-style: italic; font-weight: bold;" align="right">512</td>
            <td style="font-style: italic; font-weight: bold;" align="right">2412</td>
            <td style="font-style: italic; font-weight: bold;" align="right">622</td>
            <td style="font-style: italic; font-weight: bold;" align="right">456</td>
            <td style="font-style: italic; font-weight: bold;" align="right">41</td>
            <td style="font-style: italic; font-weight: bold;" align="right">1001</td>
            <td style="font-style: italic; font-weight: bold;" align="right"><font color="#0000ff">100</font></td>
            <td style="font-style: italic; font-weight: bold;" align="right"><font color="#008000">1.00</font></td>
        </tr>
        <tr>
            <td>Linux</td>
            <td><font color="#0000ff">Athlon 64</font></td>
            <td align="right">1</td>
            <td style="text-decoration: underline;">gcc</td>
            <td align="right">1800</td>
            <td align="right">512</td>
            <td align="right"><span style="font-weight: bold;">9607</span><br>
</td>
            <td align="right">2686<br>
</td>
            <td align="right">1778<br>
</td>
            <td align="right"><span style="font-weight: bold;">178</span><br>
</td>
            <td align="right"><span style="font-weight: bold;">4344</span><br>
</td>
            <td style="color: rgb(51, 51, 255); font-weight: bold; text-decoration: underline;" align="right">410<br>
</td>
            <td style="color: rgb(0, 153, 0); font-weight: bold; text-decoration: underline;" align="right">1.82<br>
</td>
        </tr>
        <tr>
            <td>Linux</td>
            <td><font color="#0000ff">Athlon 64</font></td>
            <td align="right">1</td>
            <td>gcc + acml<br>
</td>
            <td align="right">1800</td>
            <td align="right">512</td>
            <td align="right">9604<br>
</td>
            <td align="right"><span style="font-weight: bold;">2687</span><br>
</td>
            <td align="right"><span style="font-weight: bold;">1782</span><br>
</td>
            <td align="right">178<br>
</td>
            <td align="right">4336<br>
</td>
            <td style="color: rgb(51, 51, 255);" align="right">410<br>
</td>
            <td style="color: rgb(0, 153, 0);" align="right">1.82<br>
</td>
        </tr>
        <tr>
            <td style="font-style: italic;">Linux</td>
            <td style="font-style: italic;"><font color="#0000ff">Athlon 64</font></td>
            <td style="font-style: italic;" align="right">1</td>
            <td style="font-style: italic;">gcc (dp)<br>
</td>
            <td style="font-style: italic;" align="right">1800</td>
            <td style="font-style: italic;" align="right">512</td>
            <td style="font-style: italic;" align="right"><span style="font-weight: bold;">5607</span><br>
</td>
            <td style="font-style: italic;" align="right">1633<br>
</td>
            <td style="font-style: italic;" align="right"><span style="font-weight: bold;">1175</span><br>
</td>
            <td style="font-style: italic;" align="right">117<br>
</td>
            <td style="font-style: italic;" align="right">3420<br>
</td>
            <td style="color: rgb(51, 51, 255); font-style: italic;" align="right">264<br>
</td>
            <td style="color: rgb(0, 153, 0); font-style: italic;" align="right">1.17<br>
</td>
        </tr>
        <tr>
            <td style="font-style: italic;">Linux</td>
            <td style="font-style: italic;"><font color="#0000ff">Athlon 64</font></td>
            <td style="font-style: italic;" align="right">1</td>
            <td style="font-style: italic;">gcc + acml (dp)<br>
</td>
            <td style="font-style: italic;" align="right">1800</td>
            <td style="font-style: italic;" align="right">512</td>
            <td style="font-style: italic;" align="right">5604<br>
</td>
            <td style="font-style: italic;" align="right"><span style="font-weight: bold;">1637</span><br>
</td>
            <td style="font-style: italic;" align="right">1174<br>
</td>
            <td style="font-style: italic;" align="right"><span style="font-weight: bold;">118</span><br>
</td>
            <td style="font-style: italic;" align="right"><span style="font-weight: bold;">3423</span><br>
</td>
            <td style="color: rgb(51, 51, 255); font-style: italic; font-weight: bold;" align="right">264<br>
</td>
            <td style="color: rgb(0, 153, 0); font-style: italic; font-weight: bold;" align="right">1.17<br>
</td>
        </tr>
        <tr>
            <td>Linux</td>
            <td><font color="#0000ff">Athlon 64</font></td>
            <td align="right">1</td>
            <td>portland<br>
</td>
            <td align="right">1800</td>
            <td align="right">512</td>
            <td align="right">9177<br>
</td>
            <td align="right">2500<br>
</td>
            <td align="right">1638<br>
</td>
            <td align="right">166<br>
</td>
            <td align="right">3905<br>
</td>
            <td style="color: rgb(51, 51, 255);" align="right">384<br>
</td>
            <td style="color: rgb(0, 153, 0);" align="right">1.71<br>
</td>
        </tr>
        <tr>
            <td>Linux</td>
            <td><font color="#0000ff">Athlon 64</font></td>
            <td align="right">1</td>
            <td>portland + acml<br>
</td>
            <td align="right">1800</td>
            <td align="right">512</td>
            <td align="right">9181<br>
</td>
            <td align="right">2499<br>
</td>
            <td align="right">1639<br>
</td>
            <td align="right">166<br>
</td>
            <td align="right">3905<br>
</td>
            <td style="color: rgb(51, 51, 255);" align="right">384<br>
</td>
            <td style="color: rgb(0, 153, 0);" align="right">1.71<br>
</td>
        </tr>
        <tr>
            <td>Linux</td>
            <td><font color="#0000ff">Athlon 64</font></td>
            <td align="right">1</td>
            <td><span style="text-decoration: underline;">gcc {100%}</span><br>
</td>
            <td align="right">1800</td>
            <td align="right">512</td>
            <td align="right"><span style="font-weight: bold;">9823</span><br>
</td>
            <td align="right">2730<br>
</td>
            <td align="right"><span style="font-weight: bold;">1844</span><br>
</td>
            <td align="right"><span style="font-weight: bold;">186</span><br>
</td>
            <td align="right"><span style="font-weight: bold;">4455</span><br>
</td>
            <td style="color: rgb(51, 51, 255); font-weight: bold; text-decoration: underline;" align="right">420<br>
</td>
            <td style="color: rgb(0, 153, 0); font-weight: bold; text-decoration: underline;" align="right">1.87<br>
</td>
        </tr>
        <tr>
            <td>Linux</td>
            <td><font color="#0000ff">Athlon 64</font></td>
            <td align="right">1</td>
            <td>gcc + acml {100%}</td>
            <td align="right">1800</td>
            <td align="right">512</td>
            <td align="right">9820<br>
</td>
            <td align="right"><span style="font-weight: bold;">2762</span><br>
</td>
            <td align="right">1815<br>
</td>
            <td align="right">182<br>
</td>
            <td align="right">4438<br>
</td>
            <td style="color: rgb(51, 51, 255);" align="right">420<br>
</td>
            <td style="color: rgb(0, 153, 0);" align="right">1.87<br>
</td>
        </tr>
        <tr>
            <td style="font-style: italic;">Linux</td>
            <td style="font-style: italic;"><font color="#0000ff">Athlon 64</font></td>
            <td style="font-style: italic;" align="right">1</td>
            <td style="font-style: italic;">gcc (dp) {100%}</td>
            <td style="font-style: italic;" align="right">1800</td>
            <td style="font-style: italic;" align="right">512</td>
            <td style="font-style: italic;" align="right"><span style="font-weight: bold;">5716</span><br>
</td>
            <td style="font-style: italic;" align="right"><span style="font-weight: bold;">1675</span><br>
</td>
            <td style="font-style: italic;" align="right"><span style="font-weight: bold;">1205</span><br>
</td>
            <td style="font-style: italic;" align="right">120<br>
</td>
            <td style="font-style: italic;" align="right"><span style="font-weight: bold;">3519</span><br>
</td>
            <td style="color: rgb(51, 51, 255); font-style: italic; font-weight: bold;" align="right">270<br>
</td>
            <td style="color: rgb(0, 153, 0); font-style: italic; font-weight: bold;" align="right">1.20<br>
</td>
        </tr>
        <tr>
            <td style="font-style: italic;">Linux</td>
            <td style="font-style: italic;"><font color="#0000ff">Athlon 64</font></td>
            <td style="font-style: italic;" align="right">1</td>
            <td style="font-style: italic;">gcc + acml (dp) {100%}</td>
            <td style="font-style: italic;" align="right">1800</td>
            <td style="font-style: italic;" align="right">512</td>
            <td style="font-style: italic;" align="right">5707<br>
</td>
            <td style="font-style: italic;" align="right">1672<br>
</td>
            <td style="font-style: italic;" align="right">1203<br>
</td>
            <td style="font-style: italic;" align="right"><span style="font-weight: bold;">121</span><br>
</td>
            <td style="font-style: italic;" align="right">3500<br>
</td>
            <td style="color: rgb(51, 51, 255); font-style: italic;" align="right">269<br>
</td>
            <td style="color: rgb(0, 153, 0); font-style: italic;" align="right">1.20<br>
</td>
        </tr>
        <tr>
            <td>Linux</td>
            <td><font color="#0000ff">Athlon 64</font></td>
            <td align="right">1</td>
            <td>portland {100%}</td>
            <td align="right">1800</td>
            <td align="right">512</td>
            <td align="right">9355<br>
</td>
            <td align="right">2546<br>
</td>
            <td align="right">1668<br>
</td>
            <td align="right">171<br>
</td>
            <td align="right">3989<br>
</td>
            <td style="color: rgb(51, 51, 255);" align="right">392<br>
</td>
            <td style="color: rgb(0, 153, 0);" align="right">1.74<br>
</td>
        </tr>
        <tr>
            <td>Linux</td>
            <td><font color="#0000ff">Athlon 64</font></td>
            <td align="right">1</td>
            <td>portland + acml {100%}</td>
            <td align="right">1800</td>
            <td align="right">512</td>
            <td align="right">9368<br>
</td>
            <td align="right">2545<br>
</td>
            <td align="right">1671<br>
</td>
            <td align="right">169<br>
</td>
            <td align="right">3989<br>
</td>
            <td style="color: rgb(51, 51, 255);" align="right">392<br>
</td>
            <td style="color: rgb(0, 153, 0);" align="right">1.74<br>
</td></tr></tbody>
</table>

<br>

Well, let us see what I could conclude from here: firt, portland is
worst than GCC compilers (not comparable, but worst). That's already
bad. But, even worst, is the fact that the use of the ACML libraries or
yeld very poor extra performance, or just lose the race against the
common gcc compilation.<br>

<br>

Anyone could tell me if this kind of behavior, of both PGI and acml use as external blas and lapack, is correct?<br>

<br>

Also, is there any extra performance to be gained from the use of Intel
Compilers on this architecture? Does anybody got the following type of
error during compilation (in the 1/sqrt() optimized function) before?<br>


<br>
***********************************************************************************<br>
<div style="direction: ltr;">./mknb &nbsp; -software_invsqrt<br>&nbsp;&gt;&gt;&gt; Gromacs nonbonded kernel generator (-h for help)<br>&nbsp;&gt;&gt;&gt; Generating single precision functions in C.<br>&nbsp;&gt;&gt;&gt; Using Gromacs software version of 1/sqrt(x).
<br>&nbsp;make[5]: *** [kernel-stamp] Falha de segmentação<br>&nbsp;make[5]: Leaving directory<br>`/home/johannes/src/gromacs/gromacs-3.3/src/gmxlib/nonbonded/nb_kernel'<br>&nbsp;make[4]: ** [all-recursive] Erro 1<br>***********************************************************************************
</div>
<br>
Hope this can be of use to someone...<br>
<br>
Also, thanks a lot for any and all help in advance. :)<br>
<br>
Jones<br>
<br>
P.S.: I was looking in the web site of the Folding @ Home that they are
already trying AND getting some usefull results in making gromacs run
on certain GPUs. I was wondering, if it become a reallity there, how
long it would be expected to take to be available as a patch or for the
official gromacs to compile? Those co-processors are like a dream for
too much people in the field, and a GPU-Gromacs like the one they are
developing would be a real jump in this subject! :D<br>