<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">Hi,<br>
<br>
Why not simply use MPI parallelization?<br>
<br>
But what (exotic) architecture does not support OpenMP and SIMD?
If you don't have SIMD, I would think it's not worth using it for
production. You get great performance from a cheap Intel CPU +
NVidia GPU machine.<br>
<br>
Cheers,<br>
<br>
Berk<br>
<br>
On 2015-11-24 06:05, Vinson Leung wrote:<br>
</div>
<blockquote
cite="mid:CAAvvnSriKP+ZsNRrv1qLg1hF5BYqGpYcbnUfYdgHrxFv-Rj-ww@mail.gmail.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<div dir="ltr">Hi everyone, I am new learner to Gromacs and I want
to implement Gromacs in a multi-core CPU machine which is for
my research. Because the machine we use only support MPI (no
openmp, no SIMD), so I profiled the MPI-only version of
Gromacs-5.0.4 and found that the hotspot was nbnxn_kernel_ref()
in src/gromacs/mdlib/nbnxn_kernel_ref.c which occupied 80% of
the total running time. Naturally I want to accelerate the
nbnxn_kernel_ref() by parallelization with multi-thread. After I
simply make some analysis and found that the structure
of nbnxn_kernel_ref() is like below:
<div>========================================================</div>
<div>for (nb = 0 ; nb < nnbl; nb++)</div>
<div>{</div>
<div>......</div>
<div> for( n = 0 ; n < nbl->nci ; n++ ) // defined
in nbnxn_kernel_ref_outer.h</div>
<div> {</div>
<div> ....</div>
<div> }</div>
<div>...h</div>
<div>}</div>
<div>========================================================</div>
<div>So here is my quesion. When I compile with OpenMP=OFF, the
value of nnbl is 1 during the runtime. So can I parallelize
the inner loop by just evenly separate the inner loop (
nbl->nci ) to multi-core? </div>
<div>Or I found that when I compile with OpenMP=ON the value of
nnbl is not 1 which I can parallelize the outer loop with
multi-thread. But my machine does not support OpenMP. So is
there any way to make some modification in the code and
compile with OpenMP=OFF to make the value of nnbl is not 1?</div>
<div>Thanks.</div>
<div><br>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
</blockquote>
<br>
</body>
</html>