Win10 install scs-gpu
Please read this first
If you are have a problem that SCS struggles with you can pass a string to the
write_data_filename argument and SCS will dump a file containing the problem
to disk. Zip the file and send it to us or attach it to this bug report for easy
reproduction of the issue.
A common cause of issues is not linking BLAS/LAPACK libraries correctly. If you are having this issue please search for resources on installing and linking these libraries first. You can try openblas if you need a BLAS library.
Specifications
- OS:win10
- SCS Version:3.0.0
- Compiler: ?
Description
Try to install scs -gpu in win10 /gtx 1650
In my computer finish to install vs2019 (all) and cuda 10.1
set cuda
CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
CUDA_PATH_V10_1=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Fri_Feb__8_19:08:26_Pacific_Standard_Time_2019
Cuda compilation tools, release 10.1, V10.1.105
How to reproduce
git clne https://github.com/bodono/scs-python.git(3.0.0) cd scs-python git clone git clone https://github.com/cvxgrp/scs.git
python setup.py install --scs --gpu
Additional information
I use the conda env conda list:
atomicwrites 1.4.0 pypi_0 pypi
attrs 21.4.0 pypi_0 pypi
blas 1.0 mkl https://mirrors.ustc.edu.cn/anaconda/pkgs/main
certifi 2020.6.20 pyhd3eb1b0_3 https://mirrors.ustc.edu.cn/anaconda/pkgs/main
charset-normalizer 2.0.12 pypi_0 pypi
colorama 0.4.4 pypi_0 pypi
cvxpy 1.1.11 pypi_0 pypi
decorator 4.4.2 pypi_0 pypi
easydict 1.9 pypi_0 pypi
ecos 2.0.10 pypi_0 pypi
flake8 4.0.1 pypi_0 pypi
flake8-import-order 0.18.1 pypi_0 pypi
future 0.18.2 pypi_0 pypi
googledrivedownloader 0.4 pypi_0 pypi
idna 3.3 pypi_0 pypi
importlib-metadata 4.2.0 pypi_0 pypi
importlib-resources 5.4.0 pypi_0 pypi
iniconfig 1.1.1 pypi_0 pypi
isodate 0.6.1 pypi_0 pypi
jinja2 3.0.3 pypi_0 pypi
markupsafe 2.0.1 pypi_0 pypi
mccabe 0.6.1 pypi_0 pypi
mkl 2017.0.3 0 https://mirrors.ustc.edu.cn/anaconda/pkgs/free
motmetrics 1.2.0 pypi_0 pypi
networkx 2.5.1 pypi_0 pypi
numpy 1.19.5 pypi_0 pypi
opencv-python 4.5.5.62 pypi_0 pypi
osqp 0.6.2.post5 pypi_0 pypi
packaging 21.3 pypi_0 pypi
pandas 1.1.5 pypi_0 pypi
pillow 8.4.0 pypi_0 pypi
pip 21.2.2 py36haa95532_0 https://mirrors.ustc.edu.cn/anaconda/pkgs/main
pluggy 1.0.0 pypi_0 pypi
py 1.11.0 pypi_0 pypi
py-cpuinfo 8.0.0 pypi_0 pypi
pycodestyle 2.8.0 pypi_0 pypi
pyflakes 2.4.0 pypi_0 pypi
pyparsing 3.0.7 pypi_0 pypi
pytest 7.0.1 pypi_0 pypi
pytest-benchmark 3.4.1 pypi_0 pypi
python 3.6.2 0 https://mirrors.ustc.edu.cn/anaconda/pkgs/free
python-dateutil 2.8.2 pypi_0 pypi
pytz 2021.3 pypi_0 pypi
pyyaml 6.0 pypi_0 pypi
qdldl 0.1.5.post0 pypi_0 pypi
qpth 0.0.15 dev_0
Output
error: Command "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DPYTHON -DCTRLC=1 -DGPU_TRANSPOSE_MAT=1 -DPY_GPU -DINDIRECT=1 -Iscs/include -Iscs/linsys -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1/include" -Iscs/linsys/gpu/ -Iscs/linsys/gpu/indirect -ID:\ANACONDA\envs\gmt\lib\site-packages\numpy\core\include -ID:\ANACONDA\envs\gmt\include -ID:\ANACONDA\envs\gmt\include -I"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\ATLMFC\include" -I"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include" -I"C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /Tcscs/linsys/gpu\gpu.c /Fobuild\temp.win-amd64-3.6\Release\scs/linsys/gpu\gpu.obj -O3" failed with exit status 2
This is comlete mistake news python setup.py install --scs --gpu Namespace(blas64=False, extraverbose=False, float32=False, gpu=True, gpu_atrans=True, int32=False, scs=True) running install running bdist_egg running egg_info creating scs.egg-info writing scs.egg-info\PKG-INFO writing dependency_links to scs.egg-info\dependency_links.txt writing requirements to scs.egg-info\requires.txt writing top-level names to scs.egg-info\top_level.txt writing manifest file 'scs.egg-info\SOURCES.txt' blas_mkl_info: libraries = ['mkl_core_dll', 'mkl_intel_lp64_dll', 'mkl_intel_thread_dll'] library_dirs = ['D:/ANACONDA/envs/gmt\Library\lib'] define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)] include_dirs = ['D:/ANACONDA/envs/gmt\Library\include'] blas_opt_info: libraries = ['mkl_core_dll', 'mkl_intel_lp64_dll', 'mkl_intel_thread_dll'] library_dirs = ['D:/ANACONDA/envs/gmt\Library\lib'] define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)] include_dirs = ['D:/ANACONDA/envs/gmt\Library\include'] lapack_mkl_info: libraries = ['mkl_core_dll', 'mkl_intel_lp64_dll', 'mkl_intel_thread_dll'] library_dirs = ['D:/ANACONDA/envs/gmt\Library\lib'] define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)] include_dirs = ['D:/ANACONDA/envs/gmt\Library\include'] lapack_opt_info: libraries = ['mkl_core_dll', 'mkl_intel_lp64_dll', 'mkl_intel_thread_dll'] library_dirs = ['D:/ANACONDA/envs/gmt\Library\lib'] define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)] include_dirs = ['D:/ANACONDA/envs/gmt\Library\include'] D:\ANACONDA\envs\gmt\lib\site-packages\numpy\distutils\system_info.py:655: UserWarning: Specified path D:/ANACONDA/envs/gmt\Library\lib is invalid. return self.get_paths(self.section, key) D:\ANACONDA\envs\gmt\lib\site-packages\numpy\distutils\system_info.py:664: UserWarning: Specified path D:/ANACONDA/envs/gmt\Library\include is invalid. return self.get_paths(self.section, key) D:\ANACONDA\envs\gmt\lib\site-packages\numpy\distutils\system_info.py:572: UserWarning: Atlas (http://math-atlas.sourceforge.net/) libraries not found. Directories to search for the libraries can be specified in the numpy/distutils/site.cfg file (section [atlas]) or by setting the ATLAS environment variable. self.calc_info() D:\ANACONDA\envs\gmt\lib\site-packages\numpy\distutils\system_info.py:572: UserWarning: Blas (http://www.netlib.org/blas/) libraries not found. Directories to search for the libraries can be specified in the numpy/distutils/site.cfg file (section [blas]) or by setting the BLAS environment variable. self.calc_info() D:\ANACONDA\envs\gmt\lib\site-packages\numpy\distutils\system_info.py:572: UserWarning: Blas (http://www.netlib.org/blas/) sources not found. Directories to search for the sources can be specified in the numpy/distutils/site.cfg file (section [blas_src]) or by setting the BLAS_SRC environment variable. self.calc_info() {} D:\ANACONDA\envs\gmt\lib\site-packages\numpy\distutils\system_info.py:572: UserWarning: Lapack (http://www.netlib.org/lapack/) libraries not found. Directories to search for the libraries can be specified in the numpy/distutils/site.cfg file (section [lapack]) or by setting the LAPACK environment variable. self.calc_info() D:\ANACONDA\envs\gmt\lib\site-packages\numpy\distutils\system_info.py:572: UserWarning: Lapack (http://www.netlib.org/lapack/) sources not found. Directories to search for the sources can be specified in the numpy/distutils/site.cfg file (section [lapack_src]) or by setting the LAPACK_SRC environment variable. self.calc_info() {} cl: 命令行 warning D9002 :忽略未知选项“-O3” gpu.c C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1/include\cuda_fp16.h(1): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 D:\GMTraker\GMTracker\scs-python\scs\linsys\gpu\gpu.h(100): error C2146: 语法错误: 缺少“)”(在标识符“x”的前面) D:\GMTraker\GMTracker\scs-python\scs\linsys\gpu\gpu.h(100): error C2061: 语法错误: 标识符“x” D:\GMTraker\GMTracker\scs-python\scs\linsys\gpu\gpu.h(100): error C2059: 语法错误:“;” D:\GMTraker\GMTracker\scs-python\scs\linsys\gpu\gpu.h(100): error C2059: 语法错误:“,” D:\GMTraker\GMTracker\scs-python\scs\linsys\gpu\gpu.h(103): error C2059: 语法错误:“)” D:\GMTraker\GMTracker\scs-python\scs\linsys\gpu\gpu.h(105): error C2146: 语法错误: 缺少“)”(在标识符“x”的前面) D:\GMTraker\GMTracker\scs-python\scs\linsys\gpu\gpu.h(105): error C2061: 语法错误: 标识符“x” D:\GMTraker\GMTracker\scs-python\scs\linsys\gpu\gpu.h(105): error C2059: 语法错误:“;” D:\GMTraker\GMTracker\scs-python\scs\linsys\gpu\gpu.h(105): error C2059: 语法错误:“,” D:\GMTraker\GMTracker\scs-python\scs\linsys\gpu\gpu.h(108): error C2059: 语法错误:“)” D:\GMTraker\GMTracker\scs-python\scs\linsys\gpu\gpu.h(110): error C2146: 语法错误: 缺少“)”(在标识符“x”的前面) D:\GMTraker\GMTracker\scs-python\scs\linsys\gpu\gpu.h(110): error C2061: 语法错误: 标识符“x” D:\GMTraker\GMTracker\scs-python\scs\linsys\gpu\gpu.h(110): error C2059: 语法错误:“;” D:\GMTraker\GMTracker\scs-python\scs\linsys\gpu\gpu.h(110): error C2059: 语法错误:“,” D:\GMTraker\GMTracker\scs-python\scs\linsys\gpu\gpu.h(113): error C2059: 语法错误:“)” scs/linsys/gpu\gpu.c(4): error C2146: 语法错误: 缺少“)”(在标识符“x”的前面) scs/linsys/gpu\gpu.c(4): error C2061: 语法错误: 标识符“x” scs/linsys/gpu\gpu.c(4): error C2059: 语法错误:“;” scs/linsys/gpu\gpu.c(4): error C2059: 语法错误:“,” scs/linsys/gpu\gpu.c(7): error C2059: 语法错误:“)” scs/linsys/gpu\gpu.c(32): error C2146: 语法错误: 缺少“)”(在标识符“x”的前面) scs/linsys/gpu\gpu.c(32): error C2061: 语法错误: 标识符“x” scs/linsys/gpu\gpu.c(32): error C2059: 语法错误:“;” scs/linsys/gpu\gpu.c(32): error C2059: 语法错误:“,” scs/linsys/gpu\gpu.c(35): error C2059: 语法错误:“)” scs/linsys/gpu\gpu.c(66): error C2146: 语法错误: 缺少“)”(在标识符“x”的前面) scs/linsys/gpu\gpu.c(66): error C2061: 语法错误: 标识符“x” scs/linsys/gpu\gpu.c(66): error C2059: 语法错误:“;” scs/linsys/gpu\gpu.c(66): error C2059: 语法错误:“,” scs/linsys/gpu\gpu.c(69): error C2059: 语法错误:“)” error: Command "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DPYTHON -DCTRLC=1 -DGPU_TRANSPOSE_MAT=1 -DPY_GPU -DINDIRECT=1 -Iscs/include -Iscs/linsys -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1/include" -Iscs/linsys/gpu/ -Iscs/linsys/gpu/indirect -ID:\ANACONDA\envs\gmt\lib\site-packages\numpy\core\include -ID:\ANACONDA\envs\gmt\include -ID:\ANACONDA\envs\gmt\include -I"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\ATLMFC\include" -I"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include" -I"C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /Tcscs/linsys/gpu\gpu.c /Fobuild\temp.win-amd64-3.6\Release\scs/linsys/gpu\gpu.obj -O3" failed with exit status 2
pls give me a advice thanks !
Sorry, I can't read those error messages so I can't tell what's happening. In many cases the GPU solver is actually slower than the CPU solver, so I would advise starting with that first.