KMP_AFFINITY is essential for performance. One just needs to set it to
something that distributes the threads properly.

Not setting KMP_AFFINITY means no affinity and thus inheriting from process
affinity mask.

Jeff

On Wednesday, June 22, 2016, Gilles Gouaillardet <gil...@rist.or.jp> wrote:

> my bad, I was assuming KMP_AFFINITY was used
>
>
> so let me put it this way :
>
> do *not* use KMP_AFFINITY with mpirun -bind-to none, otherwise, you will
> very likely end up doing time sharing ...
>
>
> Cheers,
>
>
> Gilles
>
> On 6/22/2016 5:07 PM, Jeff Hammond wrote:
>
> Linux should not put more than one thread on a core if there are free
> cores.  Depending on cache/bandwidth needs, it may or may not be better to
> colocate on the same socket.
>
> KMP_AFFINITY will pin the OpenMP threads.  This is often important for MKL
> performance.  See  <https://software.intel.com/en-us/node/522691>
> https://software.intel.com/en-us/node/522691 for details.
>
> Jeff
>
> On Wed, Jun 22, 2016 at 9:47 AM, Gilles Gouaillardet <
> <javascript:_e(%7B%7D,'cvml','gil...@rist.or.jp');>gil...@rist.or.jp
> <javascript:_e(%7B%7D,'cvml','gil...@rist.or.jp');>> wrote:
>
>> Remi,
>>
>>
>> Keep in mind this is still suboptimal.
>>
>> if you run 2 tasks per node, there is a risks threads from different
>> ranks end up bound to the same core, which means time sharing and a drop in
>> performance.
>>
>>
>> Cheers,
>>
>>
>> Gilles
>>
>> On 6/22/2016 4:45 PM, remi marchal wrote:
>>
>> Dear Gilles,
>>
>> Thanks a lot.
>>
>> The mpirun --bind-to-none solve the problem.
>>
>> Thanks a lot,
>>
>> Regards,
>>
>> Rémi
>>
>>
>>
>>
>>
>> Le 22 juin 2016 à 09:34, Gilles Gouaillardet <gil...@rist.or.jp
>> <javascript:_e(%7B%7D,'cvml','gil...@rist.or.jp');>> a écrit :
>>
>> Remi,
>>
>>
>> in the same environment, can you
>>
>> mpirun -np 1 grep Cpus_allowed_list /proc/self/status
>>
>> it is likely Open MPI allows only one core, and in this case, i suspect
>> MKL refuses to do some time sharing and hence transparently reduce the
>> number of threads to 1.
>> /* unless it *does* time sharing, and you observed 4 threads with the
>> performance of one */
>>
>>
>> mpirun --bind-to none ...
>>
>> will tell Open MPI *not* to bind on one core, and that should help a bit.
>>
>> note this is suboptimal, you should really ask mpirun to allocate 4 cores
>> per task, but i cannot remember the correct command line for that
>>
>> Cheers,
>>
>> Gilles
>>
>>
>>
>>
>> On 6/22/2016 4:17 PM, remi marchal wrote:
>>
>> Dear openmpi users,
>>
>> Today, I faced a strange problem.
>>
>> I am compiling a quantum chemistry software (CASTEP-16) using intel16,
>> mkl threaded libraries and openmpi-18.1.
>>
>> The compilation works fine.
>>
>> When I ask for MKL_NUM_THREAD=4 and call the program in serial mode
>> (without mpirun), it works perfectly and use 4 threads.
>>
>> However, when I start the program with mpirun, even with 1 mpi process,
>> the program ran but only with 1 thread.
>>
>> I never add such kind of trouble.
>>
>> Does anyone have an explanation.
>>
>> Regards,
>>
>> Rémi
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> users mailing listus...@open-mpi.org 
>> <javascript:_e(%7B%7D,'cvml','us...@open-mpi.org');>
>> Subscription: https://www.open-mpi.org/mailman/listinfo.cgi/users
>> Link to this post: 
>> http://www.open-mpi.org/community/lists/users/2016/06/29495.php
>>
>>
>> _______________________________________________
>> users mailing list
>> us...@open-mpi.org <javascript:_e(%7B%7D,'cvml','us...@open-mpi.org');>
>> Subscription: https://www.open-mpi.org/mailman/listinfo.cgi/users
>> Link to this post:
>> <http://www.open-mpi.org/community/lists/users/2016/06/29497.php>
>> http://www.open-mpi.org/community/lists/users/2016/06/29497.php
>>
>>
>>
>>
>> _______________________________________________
>> users mailing listus...@open-mpi.org 
>> <javascript:_e(%7B%7D,'cvml','us...@open-mpi.org');>
>> Subscription: https://www.open-mpi.org/mailman/listinfo.cgi/users
>>
>> Link to this post: 
>> http://www.open-mpi.org/community/lists/users/2016/06/29498.php
>>
>>
>>
>> _______________________________________________
>> users mailing list
>> us...@open-mpi.org <javascript:_e(%7B%7D,'cvml','us...@open-mpi.org');>
>> Subscription: https://www.open-mpi.org/mailman/listinfo.cgi/users
>> Link to this post:
>> http://www.open-mpi.org/community/lists/users/2016/06/29499.php
>>
>
>
>
> --
> Jeff Hammond
> jeff.scie...@gmail.com
> <javascript:_e(%7B%7D,'cvml','jeff.scie...@gmail.com');>
> http://jeffhammond.github.io/
>
>
> _______________________________________________
> users mailing listus...@open-mpi.org 
> <javascript:_e(%7B%7D,'cvml','us...@open-mpi.org');>
> Subscription: https://www.open-mpi.org/mailman/listinfo.cgi/users
> Link to this post: 
> http://www.open-mpi.org/community/lists/users/2016/06/29500.php
>
>
>

-- 
Jeff Hammond
jeff.scie...@gmail.com
http://jeffhammond.github.io/

Reply via email to