@@ -653,7 +653,7 @@ <h1>Source code for mache.deploy.run</h1><div class="highlight"><pre>
653653 < span class ="n "> prefix</ span > < span class ="p "> :</ span > < span class ="nb "> str</ span > < span class ="p "> ,</ span >
654654 < span class ="n "> pixi_cfg</ span > < span class ="p "> :</ span > < span class ="nb "> dict</ span > < span class ="p "> [</ span > < span class ="nb "> str</ span > < span class ="p "> ,</ span > < span class ="n "> Any</ span > < span class ="p "> ],</ span >
655655 < span class ="n "> runtime</ span > < span class ="p "> :</ span > < span class ="nb "> dict</ span > < span class ="p "> [</ span > < span class ="nb "> str</ span > < span class ="p "> ,</ span > < span class ="n "> Any</ span > < span class ="p "> ],</ span >
656- < span class ="n "> compute_mpi</ span > < span class ="p "> :</ span > < span class ="nb "> str</ span > < span class ="p "> ,</ span >
656+ < span class ="n "> compute_mpi</ span > < span class ="p "> :</ span > < span class ="nb "> str</ span > < span class =" o " > | </ span > < span class =" kc " > None </ span > < span class ="p "> ,</ span >
657657< span class ="p "> )</ span > < span class ="o "> -></ span > < span class ="nb "> dict</ span > < span class ="p "> [</ span > < span class ="nb "> str</ span > < span class ="p "> ,</ span > < span class ="nb "> str</ span > < span class ="p "> ]</ span > < span class ="o "> |</ span > < span class ="kc "> None</ span > < span class ="p "> :</ span >
658658 < span class ="n "> runtime_pixi</ span > < span class ="o "> =</ span > < span class ="n "> runtime</ span > < span class ="o "> .</ span > < span class ="n "> get</ span > < span class ="p "> (</ span > < span class ="s1 "> 'pixi'</ span > < span class ="p "> )</ span >
659659 < span class ="k "> if</ span > < span class ="ow "> not</ span > < span class ="nb "> isinstance</ span > < span class ="p "> (</ span > < span class ="n "> runtime_pixi</ span > < span class ="p "> ,</ span > < span class ="nb "> dict</ span > < span class ="p "> ):</ span >
@@ -671,6 +671,8 @@ <h1>Source code for mache.deploy.run</h1><div class="highlight"><pre>
671671 < span class ="n "> resolved_login_mpi</ span > < span class ="p "> ,</ span > < span class ="n "> login_mpi_prefix</ span > < span class ="o "> =</ span > < span class ="n "> _get_mpi_settings</ span > < span class ="p "> (</ span >
672672 < span class ="n "> pixi_cfg</ span > < span class ="o "> =</ span > < span class ="p "> {</ span > < span class ="s1 "> 'mpi'</ span > < span class ="p "> :</ span > < span class ="n "> login_mpi</ span > < span class ="p "> }</ span >
673673 < span class ="p "> )</ span >
674+ < span class ="k "> if</ span > < span class ="n "> resolved_login_mpi</ span > < span class ="ow "> is</ span > < span class ="kc "> None</ span > < span class ="ow "> or</ span > < span class ="n "> login_mpi_prefix</ span > < span class ="ow "> is</ span > < span class ="kc "> None</ span > < span class ="p "> :</ span >
675+ < span class ="k "> raise</ span > < span class ="ne "> ValueError</ span > < span class ="p "> (</ span > < span class ="s1 "> 'login_mpi must resolve to a non-empty MPI setting'</ span > < span class ="p "> )</ span >
674676
675677 < span class ="k "> if</ span > < span class ="s1 "> 'login_prefix'</ span > < span class ="ow "> in</ span > < span class ="n "> runtime_pixi</ span > < span class ="p "> :</ span >
676678 < span class ="n "> login_prefix_raw</ span > < span class ="o "> =</ span > < span class ="n "> runtime_pixi</ span > < span class ="o "> .</ span > < span class ="n "> get</ span > < span class ="p "> (</ span > < span class ="s1 "> 'login_prefix'</ span > < span class ="p "> )</ span >
@@ -993,15 +995,12 @@ <h1>Source code for mache.deploy.run</h1><div class="highlight"><pre>
993995 < span class ="o "> *</ span > < span class ="p "> ,</ span >
994996 < span class ="n "> pixi_cfg</ span > < span class ="p "> :</ span > < span class ="nb "> dict</ span > < span class ="p "> [</ span > < span class ="nb "> str</ span > < span class ="p "> ,</ span > < span class ="n "> Any</ span > < span class ="p "> ],</ span >
995997 < span class ="n "> runtime</ span > < span class ="p "> :</ span > < span class ="nb "> dict</ span > < span class ="p "> [</ span > < span class ="nb "> str</ span > < span class ="p "> ,</ span > < span class ="n "> Any</ span > < span class ="p "> ],</ span >
996- < span class ="p "> )</ span > < span class ="o "> -></ span > < span class ="nb "> tuple</ span > < span class ="p "> [</ span > < span class ="nb "> str</ span > < span class ="p "> ,</ span > < span class ="nb "> str</ span > < span class ="p "> ]:</ span >
997- < span class ="n "> mpi_override </ span > < span class ="o "> =</ span > < span class ="kc " > None </ span >
998+ < span class ="p "> )</ span > < span class ="o "> -></ span > < span class ="nb "> tuple</ span > < span class ="p "> [</ span > < span class ="nb "> str</ span > < span class ="o " > | </ span > < span class =" kc " > None </ span > < span class =" p "> ,</ span > < span class ="nb "> str</ span > < span class =" o " > | </ span > < span class =" kc " > None </ span > < span class ="p "> ]:</ span >
999+ < span class ="n "> mpi_cfg </ span > < span class ="o "> =</ span > < span class ="n " > pixi_cfg </ span >
9981000 < span class ="n "> runtime_pixi</ span > < span class ="o "> =</ span > < span class ="n "> runtime</ span > < span class ="o "> .</ span > < span class ="n "> get</ span > < span class ="p "> (</ span > < span class ="s1 "> 'pixi'</ span > < span class ="p "> )</ span >
9991001 < span class ="k "> if</ span > < span class ="nb "> isinstance</ span > < span class ="p "> (</ span > < span class ="n "> runtime_pixi</ span > < span class ="p "> ,</ span > < span class ="nb "> dict</ span > < span class ="p "> ):</ span >
1000- < span class ="n "> mpi_override</ span > < span class ="o "> =</ span > < span class ="n "> runtime_pixi</ span > < span class ="o "> .</ span > < span class ="n "> get</ span > < span class ="p "> (</ span > < span class ="s1 "> 'mpi'</ span > < span class ="p "> )</ span >
1001- < span class ="k "> if</ span > < span class ="n "> mpi_override</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="kc "> None</ span > < span class ="p "> :</ span >
1002- < span class ="n "> mpi_cfg</ span > < span class ="p "> :</ span > < span class ="nb "> dict</ span > < span class ="p "> [</ span > < span class ="nb "> str</ span > < span class ="p "> ,</ span > < span class ="n "> Any</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="p "> {</ span > < span class ="s1 "> 'mpi'</ span > < span class ="p "> :</ span > < span class ="nb "> str</ span > < span class ="p "> (</ span > < span class ="n "> mpi_override</ span > < span class ="p "> )}</ span >
1003- < span class ="k "> else</ span > < span class ="p "> :</ span >
1004- < span class ="n "> mpi_cfg</ span > < span class ="o "> =</ span > < span class ="n "> pixi_cfg</ span >
1002+ < span class ="k "> if</ span > < span class ="s1 "> 'mpi'</ span > < span class ="ow "> in</ span > < span class ="n "> runtime_pixi</ span > < span class ="p "> :</ span >
1003+ < span class ="n "> mpi_cfg</ span > < span class ="o "> =</ span > < span class ="p "> {</ span > < span class ="s1 "> 'mpi'</ span > < span class ="p "> :</ span > < span class ="n "> runtime_pixi</ span > < span class ="o "> .</ span > < span class ="n "> get</ span > < span class ="p "> (</ span > < span class ="s1 "> 'mpi'</ span > < span class ="p "> )}</ span >
10051004 < span class ="k "> return</ span > < span class ="n "> _get_mpi_settings</ span > < span class ="p "> (</ span > < span class ="n "> pixi_cfg</ span > < span class ="o "> =</ span > < span class ="n "> mpi_cfg</ span > < span class ="p "> )</ span >
10061005
10071006
@@ -1514,7 +1513,7 @@ <h1>Source code for mache.deploy.run</h1><div class="highlight"><pre>
15141513 < span class ="n "> software_version</ span > < span class ="p "> :</ span > < span class ="nb "> str</ span > < span class ="p "> ,</ span >
15151514 < span class ="n "> runtime_version_cmd</ span > < span class ="p "> :</ span > < span class ="nb "> str</ span > < span class ="o "> |</ span > < span class ="kc "> None</ span > < span class ="p "> ,</ span >
15161515 < span class ="n "> machine</ span > < span class ="p "> :</ span > < span class ="nb "> str</ span > < span class ="o "> |</ span > < span class ="kc "> None</ span > < span class ="p "> ,</ span >
1517- < span class ="n "> compute_pixi_mpi</ span > < span class ="p "> :</ span > < span class ="nb "> str</ span > < span class ="p "> ,</ span >
1516+ < span class ="n "> compute_pixi_mpi</ span > < span class ="p "> :</ span > < span class ="nb "> str</ span > < span class =" o " > | </ span > < span class =" kc " > None </ span > < span class ="p "> ,</ span >
15181517 < span class ="n "> toolchain_compiler</ span > < span class ="p "> :</ span > < span class ="nb "> str</ span > < span class ="o "> |</ span > < span class ="kc "> None</ span > < span class ="p "> ,</ span >
15191518 < span class ="n "> toolchain_mpi</ span > < span class ="p "> :</ span > < span class ="nb "> str</ span > < span class ="o "> |</ span > < span class ="kc "> None</ span > < span class ="p "> ,</ span >
15201519 < span class ="n "> spack_library_view</ span > < span class ="p "> :</ span > < span class ="nb "> str</ span > < span class ="o "> |</ span > < span class ="kc "> None</ span > < span class ="p "> ,</ span >
@@ -1602,7 +1601,7 @@ <h1>Source code for mache.deploy.run</h1><div class="highlight"><pre>
16021601 < span class ="n "> runtime_version_cmd_sh</ span > < span class ="o "> =</ span > < span class ="n "> shlex</ span > < span class ="o "> .</ span > < span class ="n "> quote</ span > < span class ="p "> (</ span > < span class ="n "> runtime_version_cmd</ span > < span class ="ow "> or</ span > < span class ="s1 "> ''</ span > < span class ="p "> ),</ span >
16031602 < span class ="n "> machine</ span > < span class ="o "> =</ span > < span class ="n "> machine</ span > < span class ="ow "> or</ span > < span class ="s1 "> ''</ span > < span class ="p "> ,</ span >
16041603 < span class ="n "> load_script</ span > < span class ="o "> =</ span > < span class ="n "> os</ span > < span class ="o "> .</ span > < span class ="n "> path</ span > < span class ="o "> .</ span > < span class ="n "> abspath</ span > < span class ="p "> (</ span > < span class ="n "> script_path</ span > < span class ="p "> ),</ span >
1605- < span class ="n "> compute_pixi_mpi</ span > < span class ="o "> =</ span > < span class ="n "> compute_pixi_mpi</ span > < span class ="p "> ,</ span >
1604+ < span class ="n "> compute_pixi_mpi</ span > < span class ="o "> =</ span > < span class ="n "> compute_pixi_mpi</ span > < span class =" ow " > or </ span > < span class =" s1 " > '' </ span > < span class ="p "> ,</ span >
16061605 < span class ="n "> login_prefix</ span > < span class ="o "> =</ span > < span class ="n "> login_prefix_abs</ span > < span class ="p "> ,</ span >
16071606 < span class ="n "> login_pixi_toml</ span > < span class ="o "> =</ span > < span class ="n "> login_pixi_toml</ span > < span class ="p "> ,</ span >
16081607 < span class ="n "> login_pixi_mpi</ span > < span class ="o "> =</ span > < span class ="n "> login_pixi_mpi</ span > < span class ="p "> ,</ span >
@@ -1635,7 +1634,7 @@ <h1>Source code for mache.deploy.run</h1><div class="highlight"><pre>
16351634 < span class ="n "> software_version</ span > < span class ="p "> :</ span > < span class ="nb "> str</ span > < span class ="p "> ,</ span >
16361635 < span class ="n "> runtime_version_cmd</ span > < span class ="p "> :</ span > < span class ="nb "> str</ span > < span class ="o "> |</ span > < span class ="kc "> None</ span > < span class ="p "> ,</ span >
16371636 < span class ="n "> machine</ span > < span class ="p "> :</ span > < span class ="nb "> str</ span > < span class ="o "> |</ span > < span class ="kc "> None</ span > < span class ="p "> ,</ span >
1638- < span class ="n "> compute_pixi_mpi</ span > < span class ="p "> :</ span > < span class ="nb "> str</ span > < span class ="p "> ,</ span >
1637+ < span class ="n "> compute_pixi_mpi</ span > < span class ="p "> :</ span > < span class ="nb "> str</ span > < span class =" o " > | </ span > < span class =" kc " > None </ span > < span class ="p "> ,</ span >
16391638 < span class ="n "> toolchain_pairs</ span > < span class ="p "> :</ span > < span class ="nb "> list</ span > < span class ="p "> [</ span > < span class ="nb "> tuple</ span > < span class ="p "> [</ span > < span class ="nb "> str</ span > < span class ="p "> ,</ span > < span class ="nb "> str</ span > < span class ="p "> ]],</ span >
16401639 < span class ="n "> spack_results</ span > < span class ="p "> :</ span > < span class ="n "> Any</ span > < span class ="p "> ,</ span >
16411640 < span class ="n "> spack_software_env</ span > < span class ="p "> :</ span > < span class ="n "> Any</ span > < span class ="p "> ,</ span >
@@ -1808,29 +1807,26 @@ <h1>Source code for mache.deploy.run</h1><div class="highlight"><pre>
18081807
18091808< span class ="k "> def</ span > < span class ="w "> </ span > < span class ="nf "> _get_mpi_settings</ span > < span class ="p "> (</ span >
18101809 < span class ="n "> pixi_cfg</ span > < span class ="p "> :</ span > < span class ="nb "> dict</ span > < span class ="p "> [</ span > < span class ="nb "> str</ span > < span class ="p "> ,</ span > < span class ="n "> Any</ span > < span class ="p "> ],</ span >
1811- < span class ="p "> )</ span > < span class ="o "> -></ span > < span class ="nb "> tuple</ span > < span class ="p "> [</ span > < span class ="nb "> str</ span > < span class ="p "> ,</ span > < span class ="nb "> str</ span > < span class ="p "> ]:</ span >
1810+ < span class ="p "> )</ span > < span class ="o "> -></ span > < span class ="nb "> tuple</ span > < span class ="p "> [</ span > < span class ="nb "> str</ span > < span class ="o " > | </ span > < span class =" kc " > None </ span > < span class =" p "> ,</ span > < span class ="nb "> str</ span > < span class =" o " > | </ span > < span class =" kc " > None </ span > < span class ="p "> ]:</ span >
18121811< span class ="w "> </ span > < span class ="sd "> """Determine MPI-related template replacements.</ span >
18131812
18141813< span class ="sd "> Returns</ span >
18151814< span class ="sd "> -------</ span >
1816- < span class ="sd "> mpi : str</ span >
1815+ < span class ="sd "> mpi : str or None </ span >
18171816< span class ="sd "> The conda package name for MPI (e.g. "mpich", "openmpi", or "nompi").</ span >
1818- < span class ="sd "> mpi_prefix : str</ span >
1817+ < span class ="sd "> mpi_prefix : str or None </ span >
18191818< span class ="sd "> The conda-forge variant prefix used in build-string selectors</ span >
18201819< span class ="sd "> (e.g. "nompi", "mpi_mpich", "mpi_openmpi").</ span >
18211820< span class ="sd "> """</ span >
18221821
18231822 < span class ="k "> if</ span > < span class ="s1 "> 'mpi'</ span > < span class ="ow "> not</ span > < span class ="ow "> in</ span > < span class ="n "> pixi_cfg</ span > < span class ="p "> :</ span >
1824- < span class ="k "> raise</ span > < span class ="ne "> ValueError</ span > < span class ="p "> (</ span >
1825- < span class ="s2 "> "'mpi' not found in [pixi] section of deploy/config.yaml.j2"</ span >
1826- < span class ="p "> )</ span >
1823+ < span class ="k "> return</ span > < span class ="kc "> None</ span > < span class ="p "> ,</ span > < span class ="kc "> None</ span >
18271824
1828- < span class ="n "> mpi_raw</ span > < span class ="o "> =</ span > < span class ="n "> pixi_cfg</ span > < span class ="o "> .</ span > < span class ="n "> get</ span > < span class ="p "> (</ span > < span class ="s1 "> 'mpi'</ span > < span class ="p "> )</ span >
1829- < span class ="n "> mpi</ span > < span class ="o "> =</ span > < span class ="nb "> str</ span > < span class ="p "> (</ span > < span class ="n "> mpi_raw</ span > < span class ="p "> )</ span > < span class ="o "> .</ span > < span class ="n "> strip</ span > < span class ="p "> ()</ span > < span class ="o "> .</ span > < span class ="n "> lower</ span > < span class ="p "> ()</ span > < span class ="k "> if</ span > < span class ="n "> mpi_raw</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="kc "> None</ span > < span class ="k "> else</ span > < span class ="s1 "> ''</ span >
1830- < span class ="k "> if</ span > < span class ="ow "> not</ span > < span class ="n "> mpi</ span > < span class ="p "> :</ span >
1831- < span class ="k "> raise</ span > < span class ="ne "> ValueError</ span > < span class ="p "> (</ span >
1832- < span class ="s2 "> "'mpi' in [pixi] section of deploy/config.yaml.j2 is empty"</ span >
1833- < span class ="p "> )</ span >
1825+ < span class ="n "> mpi</ span > < span class ="o "> =</ span > < span class ="n "> _normalize_optional_token</ span > < span class ="p "> (</ span > < span class ="n "> pixi_cfg</ span > < span class ="o "> .</ span > < span class ="n "> get</ span > < span class ="p "> (</ span > < span class ="s1 "> 'mpi'</ span > < span class ="p "> ))</ span >
1826+ < span class ="k "> if</ span > < span class ="n "> mpi</ span > < span class ="ow "> is</ span > < span class ="kc "> None</ span > < span class ="p "> :</ span >
1827+ < span class ="k "> return</ span > < span class ="kc "> None</ span > < span class ="p "> ,</ span > < span class ="kc "> None</ span >
1828+
1829+ < span class ="n "> mpi</ span > < span class ="o "> =</ span > < span class ="n "> mpi</ span > < span class ="o "> .</ span > < span class ="n "> lower</ span > < span class ="p "> ()</ span >
18341830 < span class ="k "> if</ span > < span class ="nb "> any</ span > < span class ="p "> (</ span > < span class ="n "> ch</ span > < span class ="o "> .</ span > < span class ="n "> isspace</ span > < span class ="p "> ()</ span > < span class ="k "> for</ span > < span class ="n "> ch</ span > < span class ="ow "> in</ span > < span class ="n "> mpi</ span > < span class ="p "> ):</ span >
18351831 < span class ="k "> raise</ span > < span class ="ne "> ValueError</ span > < span class ="p "> (</ span >
18361832 < span class ="s2 "> "'mpi' in [pixi] section of deploy/config.yaml.j2 must not "</ span >
0 commit comments