Loris Bennett <[email protected]> writes:

> Åke Sandgren <[email protected]> writes:
>
>> On 2/13/20 4:32 PM, Loris Bennett wrote:
>>> Hi Åke,
>>> 
>>> I see you that in your parse_hook you have
>>> 
>>>     if ec.name == 'OpenMPI':
>>>         ...
>>>         if LooseVersion(ec.version) >= LooseVersion('2.1'):
>>>             pmix_version = '1.2.5'
>>>             ucx_version = '1.4.0'
>>>             if LooseVersion(ec.version) >= LooseVersion('3'):
>>>                 pmix_version = '2.2.1'
>>>             if LooseVersion(ec.version) >= LooseVersion('4'):
>>>                 pmix_version = '3.0.2' # OpenMPI 4.0.0 is not compatible 
>>> with PMIx 3.1.x
>>> 
>>>             extra_deps.append(('PMIx', pmix_version))
>>> 
>>> So do you build Slurm against the corresponding PMIx module?
>>
>> No, we build pmix/ucx/libevent for slurm outside of EB. But using the
>> corresponding versions.
>>
>>> I'd sort of felt that, as we don't build Slurm as a module, it should
>>> just depend on the system libraries, but if there are dependencies
>>> between PMIx and OpenMPI to be taken into account, that simplistic
>>> approach isn't going to work.
>>> 
>>> However, if I tie Slurm to a particular PMIx version, won't I then have
>>> problems when I start running programs built with a different toolchain
>>> with a different version of OpenMPI with a dependency on a potentially
>>> different version of PMIx?
>>
>> That why we build slurm with
>> --with-ucx=/lap/ucx/1.6.1
>> --with-pmix=/lap/pmix/3.1.4:/lap/pmix/2.2.3:/lap/pmix/1.2.5
>> so it can talk to all pmix versions. Which one gets used is set in the
>> module for each openmpi version depending on which pmix version it can use
>>
>>> Cheers,
>>> 
>>> Loris
>>> 
>>> PS: Slightly strangely, EB has a patch for PMIx 2.2.1 but no actual EC:
>>> 
>>>   [build@admin ~]$ eb -S pmix-2
>>>   
>>> CFGS1=/trinity/shared/easybuild/software/EasyBuild/4.1.1/easybuild/easyconfigs/p/PMIx
>>>    * $CFGS1/PMIx-2.1.3-GCCcore-7.3.0.eb
>>>    * $CFGS1/PMIx-2.2.1_fix_seg_hdr_problem.patch
>>
>>
>> Doh... did I forget something again... I'll check that out as soon as i
>> can...
>
> OK, thanks for that.  Now I think I get it.  Just to be absolutely clear
> and apologies in advance for nitpicking, but the PMIx v2 you use is
> 2.2.1, as also referenced in your parse hook. However, in your Slurm
> config you have
>
>   --with-pmix=/lap/pmix/3.1.4:/lap/pmix/2.2.3:/lap/pmix/1.2.5
>
> Shouldn't that also be 2.2.1?

Oh, I see PR 9877 contains both 2.2.1 and 2.2.3, so I guess I probably
want 2.2.3.

Cheers,

Loris
-- 
Dr. Loris Bennett (Mr.)
ZEDAT, Freie Universität Berlin         Email [email protected]

Reply via email to