Both sides previous revision Previous revision Next revision | Previous revision |
technical:recipes:mpi4py-in-virtualenv [2024-03-07 15:06] – [DARWIN] anita | technical:recipes:mpi4py-in-virtualenv [2024-03-07 17:04] (current) – [Building mpi4py] anita |
---|
===== Caviness ===== | ===== Caviness ===== |
| |
The steps for completing this work on Caviness are similar to those presented for Farber. We will instead use the Intel Python distribution: | The steps for completing this work on Caviness are similar to those presented for Farber and of course following the first part to [[technical:recipes:mpi4py-in-virtualenv#create-a-directory-hierarchy|create a directory hierarchy]]. We will instead use the Intel Python distribution: |
| |
<code bash> | <code bash> |
===== DARWIN ===== | ===== DARWIN ===== |
| |
The steps for completing this work on DARWIN are similar to those presented for Caviness and of course following the first part to create the directory structure setup. We will instead use the Intel oneAPI Python distribution: | The steps for completing this work on DARWIN are similar to those presented for Caviness and of course following the first part to [[technical:recipes:mpi4py-in-virtualenv#create-a-directory-hierarchy|create a directory hierarchy]]. We will instead use the Intel oneAPI Python distribution: |
| |
<code bash> | <code bash> |
$ vpkg_require intel-oneapi/2024 | $ vpkg_require openmpi/5.0.2:intel-oneapi-2024 intel-oneapi/2024 |
Adding dependency `gcc/12.2.0` to your environment | Adding dependency `gcc/12.2.0` to your environment |
Adding package `intel-oneapi/2024.0.1.46` to your environment | Adding dependency `intel-oneapi/2024.0.1.46` to your environment |
| Adding dependency `ucx/1.13.1` to your environment |
| Adding package `openmpi/5.0.2:intel-oneapi-2024` to your environment |
</code> | </code> |
| |
</code> | </code> |
| |
The ''--no-binary :all:'' flag prohibits the installation of any packages that include binary components, effectively forcing a rebuild of mpi4py from source. The ''--compile'' flag pre-processes all Python scripts in the mpi4py package (versus allowing them to be processed and cached later). The environment now includes support for mpi4py linked against the ''Intel oneAPI mpi'' library on DARWIN: | The ''--no-binary :all:'' flag prohibits the installation of any packages that include binary components, effectively forcing a rebuild of mpi4py from source. The ''--compile'' flag pre-processes all Python scripts in the mpi4py package (versus allowing them to be processed and cached later). The environment now includes support for mpi4py linked against the ''''openmpi/5.0.2:intel-oneapi-2024'''' library on DARWIN: |
| |
<code bash> | <code bash> |
description: environment built Mar 7, 2024 | description: environment built Mar 7, 2024 |
dependencies: | dependencies: |
| - openmpi/5.0.2:intel-oneapi-2024 |
- intel-oneapi/2024 | - intel-oneapi/2024 |
</code> | </code> |
Adding dependency `gcc/12.2.0` to your environment | Adding dependency `gcc/12.2.0` to your environment |
Adding dependency `intel-oneapi/2024.0.1.46` to your environment | Adding dependency `intel-oneapi/2024.0.1.46` to your environment |
| Adding dependency `ucx/1.13.1` to your environment |
| Adding dependency `openmpi/5.0.2:intel-oneapi-2024` to your environment |
Adding package `my-sci-app/20240307` to your environment | Adding package `my-sci-app/20240307` to your environment |
(/home/1006/conda-envs/my-sci-app/20240307)$ which python3 | (/home/1006/conda-envs/my-sci-app/20240307)$ which python3 |
mpi4py 3.1.5 | mpi4py 3.1.5 |
(/home/1006/conda-envs/my-sci-app/20240305)$ which mpirun | (/home/1006/conda-envs/my-sci-app/20240305)$ which mpirun |
/opt/shared/intel-oneapi/2024.0.1.46/mpi/2021.11/bin/mpirun | /opt/shared/openmpi/5.0.2-intel-oneapi-2024/bin/mpirun |
</code> | </code> |
| |