Skip to content

Commit eebc2f0

Browse files
authored
Windows use mkl static lib (take 2) (#1798)
resubmit #1790 with fix PR #1797. From pytorch issue: pytorch/pytorch#124009 I found libtorch seems use shared mkl lib and missing some mkl dll files. 1. Currently pytorch Linux already use static mkl lib. 2. Windows can also support static mkl lib, I have validated as pytorch/pytorch#116946 Tested in https://github.com/pytorch/pytorch/actions/runs/8836875904/job/24264643410
1 parent d8a3ebd commit eebc2f0

File tree

6 files changed

+9
-27
lines changed

6 files changed

+9
-27
lines changed

windows/build_pytorch.bat

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,6 @@ echo "Failed to create conda env"
6363
exit /B 1
6464
:done
6565

66-
67-
:: Install MKL
68-
rmdir /s /q mkl
69-
del mkl_2020.2.254.7z
70-
7166
:: Download MAGMA Files on CUDA builds
7267
set MAGMA_VERSION=2.5.4
7368

@@ -122,7 +117,7 @@ for %%v in (%DESIRED_PYTHON_PREFIX%) do (
122117
) else (
123118
set "PATH=%CONDA_HOME%\envs\%%v;%CONDA_HOME%\envs\%%v\scripts;%CONDA_HOME%\envs\%%v\Library\bin;%ORIG_PATH%"
124119
)
125-
pip install ninja mkl-include==2021.4.0 mkl-devel==2021.4.0
120+
pip install ninja
126121
@setlocal
127122
:: Set Flags
128123
if not "%CUDA_VERSION%"=="cpu" (

windows/condaenv.bat

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ FOR %%v IN (%DESIRED_PYTHON%) DO (
99
set PYTHON_VERSION_STR=%%v
1010
set PYTHON_VERSION_STR=!PYTHON_VERSION_STR:.=!
1111
conda remove -n py!PYTHON_VERSION_STR! --all -y || rmdir %CONDA_HOME%\envs\py!PYTHON_VERSION_STR! /s
12-
if "%%v" == "3.8" call conda create -n py!PYTHON_VERSION_STR! -y -q numpy=1.11 "mkl=2020.2" pyyaml boto3 cmake ninja typing_extensions python=%%v
13-
if "%%v" == "3.9" call conda create -n py!PYTHON_VERSION_STR! -y -q numpy>=1.11 "mkl=2020.2" pyyaml boto3 cmake ninja typing_extensions python=%%v
14-
if "%%v" == "3.10" call conda create -n py!PYTHON_VERSION_STR! -y -q -c=conda-forge numpy=1.21.3 "mkl=2020.2" intel-openmp=2023.2.0 pyyaml boto3 "cmake=3.19.6" ninja typing_extensions python=%%v
15-
if "%%v" == "3.11" call conda create -n py!PYTHON_VERSION_STR! -y -q -c=conda-forge numpy=1.23.4 "mkl=2020.2" intel-openmp=2023.2.0 pyyaml boto3 "cmake=3.19.6" ninja typing_extensions python=%%v
16-
if "%%v" == "3.12" call conda create -n py!PYTHON_VERSION_STR! -y -q -c=conda-forge numpy=1.26.0 "mkl=2023.1" intel-openmp=2023.2.0 pyyaml boto3 "cmake=3.19.6" ninja typing_extensions python=%%v
12+
if "%%v" == "3.8" call conda create -n py!PYTHON_VERSION_STR! -y -q numpy=1.11 intel::mkl-static intel::mkl-include pyyaml boto3 cmake ninja typing_extensions python=%%v
13+
if "%%v" == "3.9" call conda create -n py!PYTHON_VERSION_STR! -y -q numpy>=1.11 intel::mkl-static intel::mkl-include pyyaml boto3 cmake ninja typing_extensions python=%%v
14+
if "%%v" == "3.10" call conda create -n py!PYTHON_VERSION_STR! -y -q -c=conda-forge numpy=1.21.3 intel::mkl-static intel::mkl-include pyyaml boto3 cmake ninja typing_extensions python=%%v
15+
if "%%v" == "3.11" call conda create -n py!PYTHON_VERSION_STR! -y -q -c=conda-forge numpy=1.23.4 intel::mkl-static intel::mkl-include pyyaml boto3 cmake ninja typing_extensions python=%%v
16+
if "%%v" == "3.12" call conda create -n py!PYTHON_VERSION_STR! -y -q -c=conda-forge numpy=1.26.0 intel::mkl-static intel::mkl-include pyyaml boto3 cmake ninja typing_extensions python=%%v
1717
)
1818
endlocal
1919

windows/internal/check_deps.bat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ if %PYVER% LSS 35 (
6565
echo Warning: PyTorch for Python 2 under Windows is experimental.
6666
echo Python x64 3.5 or up is recommended to compile PyTorch on Windows
6767
echo Maybe you can create a virual environment if you have conda installed:
68-
echo ^> conda create -n test python=3.6 pyyaml mkl numpy
68+
echo ^> conda create -n test python=3.6 pyyaml numpy
6969
echo ^> activate test
7070
)
7171

windows/internal/copy.bat

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,7 @@ copy "%CUDA_PATH%\extras\CUPTI\lib64\cupti64_*.dll*" pytorch\torch\lib
1111

1212
copy "C:\Program Files\NVIDIA Corporation\NvToolsExt\bin\x64\nvToolsExt64_1.dll*" pytorch\torch\lib
1313
copy "%CONDA_LIB_PATH%\libiomp*5md.dll" pytorch\torch\lib
14-
IF "%PACKAGE_TYPE%"=="libtorch" (
15-
copy "%CONDA_LIB_PATH%\mkl_intel_thread.1.dll" pytorch\torch\lib
16-
copy "%CONDA_LIB_PATH%\mkl_core.1.dll" pytorch\torch\lib
17-
)
14+
1815
:: Should be set in build_pytorch.bat
1916
copy "%libuv_ROOT%\bin\uv.dll" pytorch\torch\lib
2017

windows/internal/copy_cpu.bat

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
11
copy "%CONDA_LIB_PATH%\libiomp*5md.dll" pytorch\torch\lib
22
:: Should be set in build_pytorch.bat
3-
copy "%libuv_ROOT%\bin\uv.dll" pytorch\torch\lib
4-
5-
IF "%PACKAGE_TYPE%"=="libtorch" (
6-
copy "%CONDA_LIB_PATH%\mkl_intel_thread.1.dll" pytorch\torch\lib
7-
copy "%CONDA_LIB_PATH%\mkl_core.1.dll" pytorch\torch\lib
8-
)
3+
copy "%libuv_ROOT%\bin\uv.dll" pytorch\torch\lib

windows/internal/static_lib_test.bat

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,6 @@ echo "install and test libtorch"
7070
pip install cmake
7171
echo "installing cmake"
7272

73-
curl https://s3.amazonaws.com/ossci-windows/mkl_2020.2.254.7z -k -O
74-
7z x -aoa mkl_2020.2.254.7z -omkl
75-
set LIB=%CD%\mkl\lib;%LIB%
76-
77-
7873
if "%VC_YEAR%" == "2019" powershell internal\vs2019_install.ps1
7974
if "%VC_YEAR%" == "2022" powershell internal\vs2022_install.ps1
8075

0 commit comments

Comments
 (0)