conda-forge / cupy-feedstock

A conda-smithy repository for cupy.
BSD 3-Clause "New" or "Revised" License
5 stars 23 forks source link

Testing CuPy 13 on Windows #254

Closed jakirkham closed 8 months ago

jakirkham commented 8 months ago

Previously we saw this warning

UserWarning: CUDA path could not be detected. Set CUDA_PATH environment variable if CuPy fails to load.

Changes were made upstream to resolve the warning ( https://github.com/cupy/cupy/pull/8051 ). Particularly in CuPy 13.0.0 ( https://github.com/cupy/cupy/pull/8076 )

Would like to confirm that the warning is gone as of CuPy 13.0.0+


Would suggest the following test procedure

Install:

conda create -n cupy-win-tst -c conda-forge cuda-version=12.0 cupy=13.0.0

Test code:

import cupy as cp

x_gpu = cp.array([1, 2, 3])
total = x_gpu.sum().get()

Please share your results below

jakirkham commented 8 months ago

Also linking issue ( https://github.com/conda-forge/cupy-feedstock/issues/206 ) and issue ( https://github.com/conda-forge/cupy-feedstock/issues/232 ) for some past discussion on this warning

gmarkall commented 8 months ago

Looks good:

(base) C:\Users\gmarkall> conda create -n cupy-win-tst -c conda-forge cuda-version=12.0 cupy=13.0.0
Channels:
 - conda-forge
Platform: win-64
Collecting package metadata (repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: C:\Users\gmarkall\AppData\Local\miniforge3\envs\cupy-win-tst

  added / updated specs:
    - cuda-version=12.0
    - cupy=13.0.0

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    cuda-nvrtc-12.0.76         |       h63175ca_2        14.0 MB  conda-forge
    cuda-version-12.0          |       hffde075_2          20 KB  conda-forge
    cupy-13.0.0                |  py312h00e393b_3         344 KB  conda-forge
    cupy-core-13.0.0           |  py312h0c45704_3        36.7 MB  conda-forge
    fastrlock-0.8.2            |  py312h53d5487_2          35 KB  conda-forge
    intel-openmp-2024.0.0      |   h57928b3_49841         2.2 MB  conda-forge
    libblas-3.9.0              |     21_win64_mkl         4.8 MB  conda-forge
    libcblas-3.9.0             |     21_win64_mkl         4.8 MB  conda-forge
    libcublas-12.0.1.189       |       h63175ca_3       235.6 MB  conda-forge
    libcufft-11.0.0.21         |       h63175ca_2        42.2 MB  conda-forge
    libcurand-10.3.1.50        |       h63175ca_1        41.9 MB  conda-forge
    libcusolver-11.4.2.57      |       h63175ca_2        53.9 MB  conda-forge
    libcusparse-12.0.0.76      |       h63175ca_2        93.1 MB  conda-forge
    liblapack-3.9.0            |     21_win64_mkl         4.8 MB  conda-forge
    libnvjitlink-12.0.76       |       h63175ca_2        11.8 MB  conda-forge
    libxml2-2.12.5             |       hc3477c8_0         1.5 MB  conda-forge
    mkl-2024.0.0               |   h66d3029_49657       103.5 MB  conda-forge
    numpy-1.26.4               |  py312h8753938_0         6.2 MB  conda-forge
    pip-24.0                   |     pyhd8ed1ab_0         1.3 MB  conda-forge
    tbb-2021.11.0              |       h91493d7_1         158 KB  conda-forge
    tzdata-2024a               |       h0c530f3_0         117 KB  conda-forge
    ------------------------------------------------------------
                                           Total:       659.0 MB

The following NEW packages will be INSTALLED:

  bzip2              conda-forge/win-64::bzip2-1.0.8-hcfcfb64_5
  ca-certificates    conda-forge/win-64::ca-certificates-2024.2.2-h56e8100_0
  cuda-nvrtc         conda-forge/win-64::cuda-nvrtc-12.0.76-h63175ca_2
  cuda-version       conda-forge/noarch::cuda-version-12.0-hffde075_2
  cupy               conda-forge/win-64::cupy-13.0.0-py312h00e393b_3
  cupy-core          conda-forge/win-64::cupy-core-13.0.0-py312h0c45704_3
  fastrlock          conda-forge/win-64::fastrlock-0.8.2-py312h53d5487_2
  intel-openmp       conda-forge/win-64::intel-openmp-2024.0.0-h57928b3_49841
  libblas            conda-forge/win-64::libblas-3.9.0-21_win64_mkl
  libcblas           conda-forge/win-64::libcblas-3.9.0-21_win64_mkl
  libcublas          conda-forge/win-64::libcublas-12.0.1.189-h63175ca_3
  libcufft           conda-forge/win-64::libcufft-11.0.0.21-h63175ca_2
  libcurand          conda-forge/win-64::libcurand-10.3.1.50-h63175ca_1
  libcusolver        conda-forge/win-64::libcusolver-11.4.2.57-h63175ca_2
  libcusparse        conda-forge/win-64::libcusparse-12.0.0.76-h63175ca_2
  libexpat           conda-forge/win-64::libexpat-2.5.0-h63175ca_1
  libffi             conda-forge/win-64::libffi-3.4.2-h8ffe710_5
  libhwloc           conda-forge/win-64::libhwloc-2.9.3-default_haede6df_1009
  libiconv           conda-forge/win-64::libiconv-1.17-hcfcfb64_2
  liblapack          conda-forge/win-64::liblapack-3.9.0-21_win64_mkl
  libnvjitlink       conda-forge/win-64::libnvjitlink-12.0.76-h63175ca_2
  libsqlite          conda-forge/win-64::libsqlite-3.44.2-hcfcfb64_0
  libxml2            conda-forge/win-64::libxml2-2.12.5-hc3477c8_0
  libzlib            conda-forge/win-64::libzlib-1.2.13-hcfcfb64_5
  mkl                conda-forge/win-64::mkl-2024.0.0-h66d3029_49657
  numpy              conda-forge/win-64::numpy-1.26.4-py312h8753938_0
  openssl            conda-forge/win-64::openssl-3.2.1-hcfcfb64_0
  pip                conda-forge/noarch::pip-24.0-pyhd8ed1ab_0
  pthreads-win32     conda-forge/win-64::pthreads-win32-2.9.1-hfa6e2cd_3
  python             conda-forge/win-64::python-3.12.1-h2628c8c_1_cpython
  python_abi         conda-forge/win-64::python_abi-3.12-4_cp312
  setuptools         conda-forge/noarch::setuptools-69.0.3-pyhd8ed1ab_0
  tbb                conda-forge/win-64::tbb-2021.11.0-h91493d7_1
  tk                 conda-forge/win-64::tk-8.6.13-h5226925_1
  tzdata             conda-forge/noarch::tzdata-2024a-h0c530f3_0
  ucrt               conda-forge/win-64::ucrt-10.0.22621.0-h57928b3_0
  vc                 conda-forge/win-64::vc-14.3-hcf57466_18
  vc14_runtime       conda-forge/win-64::vc14_runtime-14.38.33130-h82b7239_18
  vs2015_runtime     conda-forge/win-64::vs2015_runtime-14.38.33130-hcb4865c_18
  wheel              conda-forge/noarch::wheel-0.42.0-pyhd8ed1ab_0
  xz                 conda-forge/win-64::xz-5.2.6-h8d14728_0

Proceed ([y]/n)? y

Downloading and Extracting Packages:

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate cupy-win-tst
#
# To deactivate an active environment, use
#
#     $ conda deactivate

(base) C:\Users\gmarkall>  conda activate cupy-win-tst
(cupy-win-tst) C:\Users\gmarkall> python -c "import cupy as cp; x = cp.array([1, 2, 3]); print(x.sum().get())"
6
(cupy-win-tst) C:\Users\gmarkall> echo $env:CUDA_PATH
(cupy-win-tst) C:\Users\gmarkall>

(Last line demonstrates my CUDA_PATH is unset)

jarmak-nv commented 8 months ago

Ran without warning on my Win 11 CUDA 12 machine as well 🎉

leofang commented 8 months ago

Thanks to all for help!