Skip to content
This repository was archived by the owner on Feb 2, 2024. It is now read-only.

Commit a80f2d4

Browse files
Vyacheslav-Smirnovshssf
authored andcommitted
Move to use Intel IMPI conda package for Windows (#90)
* Move to use Intel IMPI conda package for Windows Use impi-devel and impi_rt conda packages for Windows instead of Intel(R) MPI. This will remove requirement to have already installed MPI for HPAT build on Windows. * Update documents described how to build HPAT Add link to install.rst in README.rst in the Building HPAT from Source section. Update build instruction for Linux and Windows: - Use conda-build - Do not require Intel(R) MPI to be installed on Windows * Add alternative build instruction using setuptools Put back updated instruction of build HPAT using setuptools in addition to conda-build.
1 parent 3e879ed commit a80f2d4

4 files changed

Lines changed: 54 additions & 19 deletions

File tree

README.rst

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,18 @@ environment easily (Linux/Mac/Windows)::
3131
.. used if master of Numba is needed for latest hpat package
3232
.. conda create -n HPAT -c ehsantn -c numba/label/dev -c anaconda -c conda-forge hpat
3333
34-
Windows installaton requires
35-
`Intel MPI <https://software.intel.com/en-us/intel-mpi-library>`_ to be
36-
installed.
37-
3834
Docker Container
3935
----------------
4036

4137
An HPAT docker image is also available for running containers. For example::
4238

4339
docker run -it ehsantn/hpat bash
4440

41+
Building HPAT from Source
42+
-------------------------
43+
44+
To build HPAT from Source, please refer to the following `instrunction <docs/source/install.rst>`_
45+
4546
Example
4647
#######
4748

buildscripts/hpat-conda-recipe/meta.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ requirements:
2525
- hdf5
2626
- h5py
2727
- mpich # [not win]
28+
- impi-devel # [win]
29+
- impi_rt # [win]
2830

2931
run:
3032
- python
@@ -35,6 +37,7 @@ requirements:
3537
- boost
3638
- numba 0.44.*
3739
- mpich # [not win]
40+
- impi_rt # [win]
3841

3942
test:
4043
requires:
@@ -46,7 +49,7 @@ test:
4649

4750

4851
about:
49-
home: https://github.com/IntelLabs/hpat
52+
home: https://github.com/IntelPython/hpat
5053
license: BSD
5154
license_file: LICENSE.md
5255
summary: A compiler-based big data framework in Python

docs/source/install.rst

Lines changed: 44 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,29 +11,45 @@ easily. On Linux/Mac/Windows::
1111
.. used if master of Numba is needed for latest hpat package
1212
.. conda create -n HPAT -c ehsantn -c numba/label/dev -c anaconda -c conda-forge hpat
1313
14-
Windows installaton requires
15-
`Intel MPI <https://software.intel.com/en-us/intel-mpi-library>`_ to be
16-
installed.
17-
1814
Building HPAT from Source
1915
-------------------------
2016

2117
We use `Anaconda <https://www.anaconda.com/download/>`_ distribution of
22-
Python for setting up HPAT. These commands install HPAT and its dependencies
23-
such as Numba on Ubuntu Linux::
18+
Python for setting up HPAT.
19+
20+
Miniconda3 is required for build::
2421

2522
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh
2623
chmod +x miniconda.sh
2724
./miniconda.sh -b
2825
export PATH=$HOME/miniconda3/bin:$PATH
29-
conda create -n HPAT -q -y numpy scipy pandas boost cmake
26+
27+
It is possible to build HPAT via conda-build or setuptools. Follow one of the cases below to install HPAT and its dependencies
28+
such as Numba on Ubuntu Linux.
29+
30+
Build with conda-build:
31+
~~~~~~~~~~~~~~~~~~~~~~~
32+
::
33+
34+
conda create -n HPAT python=<3.7 or 3.6>
35+
source activate HPAT
36+
conda install conda-build
37+
git clone https://github.com/IntelPython/hpat
38+
# build HPAT
39+
conda build --python <3.6 or 3.7> -c numba -c conda-forge -c defaults hpat/buildscripts/hpat-conda-recipe/
40+
41+
Build with setuptools:
42+
~~~~~~~~~~~~~~~~~~~~~~
43+
::
44+
45+
conda create -n HPAT -q -y numpy scipy pandas boost cmake python=<3.6 or 3.7>
3046
source activate HPAT
3147
conda install -c numba/label/dev numba
3248
conda install mpich mpi -c conda-forge
3349
conda install pyarrow
3450
conda install h5py -c ehsantn
3551
conda install gcc_linux-64 gxx_linux-64 gfortran_linux-64
36-
git clone https://github.com/IntelLabs/hpat
52+
git clone https://github.com/IntelPython/hpat
3753
cd hpat
3854
# build HPAT
3955
HDF5_DIR=$CONDA_PREFIX python setup.py develop
@@ -57,22 +73,37 @@ to check the channel of ``hdf5`` package.
5773
Building from Source on Windows
5874
-------------------------------
5975

60-
Building HPAT on Windows requires Build Tools for Visual Studio 2017 (14.0) and Intel MPI:
76+
Building HPAT on Windows requires Build Tools for Visual Studio 2017 (14.0):
6177

6278
* Install `Build Tools for Visual Studio 2017 (14.0) <https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2017>`_.
63-
* Install `Intel MPI <https://software.intel.com/en-us/intel-mpi-library>`_.
6479
* Install `Miniconda for Windows <https://repo.continuum.io/miniconda/Miniconda3-latest-Windows-x86_64.exe>`_.
6580
* Start 'Anaconda prompt'
6681
* Setup the Conda environment in Anaconda Prompt::
6782

68-
conda create -n HPAT -c ehsantn -c numba/label/dev -c anaconda -c conda-forge python=3.7 pandas pyarrow h5py numba scipy boost libboost tbb-devel mkl-devel
83+
It is possible to build HPAT via conda-build or setuptools. Follow one of the cases below to install HPAT and its dependencies on Windows.
84+
85+
Build with conda-build:
86+
~~~~~~~~~~~~~~~~~~~~~~~
87+
::
88+
89+
conda create -n HPAT python=<3.7 or 3.6>
90+
activate HPAT
91+
conda install vc vs2015_runtime vs2015_win-64
92+
git clone https://github.com/IntelPython/hpat.git
93+
conda build --python <3.6 or 3.7> -c numba -c conda-forge -c defaults -c intel hpat/buildscripts/hpat-conda-recipe/
94+
95+
Build with setuptools:
96+
~~~~~~~~~~~~~~~~~~~~~~
97+
::
98+
99+
conda create -n HPAT -c ehsantn -c numba/label/dev -c anaconda -c conda-forge -c intel python=<3.6 or 3.7> pandas pyarrow h5py numba scipy boost libboost tbb-devel mkl-devel impi-devel impi_rt
69100
activate HPAT
70101
conda install vc vs2015_runtime vs2015_win-64
71-
git clone https://github.com/IntelLabs/hpat.git
102+
git clone https://github.com/IntelPython/hpat.git
72103
cd hpat
73104
set INCLUDE=%INCLUDE%;%CONDA_PREFIX%\Library\include
74105
set LIB=%LIB%;%CONDA_PREFIX%\Library\lib
75-
"%I_MPI_ROOT%"\intel64\bin\mpivars.bat
106+
%CONDA_PREFIX%\Library\bin\mpivars.bat quiet
76107
set HDF5_DIR=%CONDA_PREFIX%\Library
77108
python setup.py develop
78109

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ def readme():
9494

9595
if is_win:
9696
# use Intel MPI on Windows
97-
MPI_LIBS = ['impi', 'impicxx']
97+
MPI_LIBS = ['impi']
9898
# hdf5-parallel Windows build uses CMake which needs this flag
9999
H5_CPP_FLAGS = [('H5_BUILT_AS_DYNAMIC_LIB', None)]
100100

0 commit comments

Comments
 (0)