Will installing pytorch on linux solve my problem?

Hi all,

I tried installing pytorch to run with my GPU on python 3.10 to run a specific application — on my windows setup — without success, since my NVIDIA drivers (ge force 740m — driver version 426.00) are only able to run CUDA up to 10.1, and the lowest pytorch version compatible to python 3.10 version is 1.11 which requires CUDA 10.2.

First of all, I don’t understand why can’t I run CUDA 10.2 since my GPU capability is 3.0, the same as the required for this version CUDA. I always get the message “your nvidia drivers are too old” (my drivers are all updated) and so I can only run with CUDA 10.1, which is only supported on Windows until pytorch 1.7 (not compatible with python 3.10).

I see that https://download.pytorch.org/whl/cu101/torch_stable.html has cuda 10.1 binaries for pytorch 1.11 compatible with python 3.10 — in fact, up until pytorch 2.0.1 — , but only for manylinux. (I don’t understand why not for windows)

In a nutshell, my problem is that i want to run pytorch with GPU on python 3.10 using my current NVIDIA driver (seems to me that CUDA 10.1 is the max I can use). If I get linux and install pytorch, should it solve my issue? Do I have any other alternative?

Another question, is it possible to install pytorch 1.7 on python 3.10 building it from source? I guess if possible this would also solve my problem.

Since I never used linux before I’d rather have a solution to run it on windows. But I’m getting a new ssd and I can try some dual boot stuff if I need to.

Thanks very much.

By the way, I forgot to mention but I found this folder https://pypi.org/project/torch/1.11.0/#files with pytorch 1.11 wheels that run on windows with python 3.10.

Somehow I just can’t get them to work with my GPU either. Maybe because these wheels were build with CUDA 10.2 which again my NVIDIA driver can’t seem to be able to use.

The PyTorch binaries are not build for compute capability 3.0 anymore and I don’t know which exact release dropped it. The current binaries support 3.7-9.0 using the CUDA 11.8 runtime and 5.0-9.0 using the CUDA 12.1 runtime.

Thanks for letting me know. Do you have more info about the other questions I asked?

pls refer to compatibility-matrix

Trust me, don’t do like this, it’s a waste of time

Thanks, but this matrix doesn’t show the pytorch versions I am working with.

What I am currently doing is installing pytorch 1.11 (compatible with python 3.10 and CUDA 10.2) by building it from the source files. It doesn’t support my version of CUDA (10.1) but I am trying to make it read the cuda files. There are some minor differences that break the installation.

It seems like some of it is related to cuSparse descriptors not being read correctly. Can anybody give me a clue for what I can do to fix or work around it? What was pytorch doing to manage these descriptors in version 1.7.1 that it stopped doing in 1.8.0 (when it stopped supporting my cuda)?

Should I add any library / script to pytorch or the compiler (e.g. conda install) to make these cusparce readable or should I just deactivate this feature?

C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(45): error C4430: missing type - int assumed. Note: C++ doesnt support default-int
C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(45): error C2086: 'int at::cuda::sparse::cusparseIndexType_t': redefini´┐¢
C:\Users\claud\pytorch\aten\src\ATen/cuda/CUDASparseDescriptors.h(97): note: consulte a declara´┐¢ de 'at::cuda::sparse::cusparseIndexType_t'
C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(45): error C2146: erro de sintaxe: ';' missing before 'getCuSparseIndexType'
C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(45): error C2143: erro de sintaxe: ';' missing before '{'
C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(45): error C2447: '{': faltando cabealho de fun´┐¢ (old formal style list?)
C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(79): error C2065: 'CUSPARSE_ORDER_COL': not declared
C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(87): error C2065: 'cusparseDnMatDescr_t': not declared
C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(87): error C2146: erro de sintaxe: ';' missing before 'raw_descriptor'
C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(87): error C2065: 'raw_descriptor': not declared
C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(88): error C2065: 'raw_descriptor': not declared
C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(88): error C3861: 'cusparseCreateDnMat': not found
the list goes on
C:\...\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(100): error C2065: 'raw_descriptor': identificador n´┐¢ declarado
C:\...\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(100): error C3861: 'cusparseDnMatSetStridedBatch': identificador n´┐¢ encontrado
C:\...\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(104): error C2065: 'descriptor_': identificador n´┐¢ declarado
C:\...\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(104): error C2065: 'raw_descriptor': identificador n´┐¢ declarado
C:\...\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(118): error C2065: 'cusparseDnVecDescr_t': identificador n´┐¢ declarado
C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(118): error C2146: erro de sintaxe: ';' ausente antes do identificador 'raw_descriptor'
C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(118): error C2065: 'raw_descriptor': identificador n´┐¢ declarado
C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(119): error C2065: 'raw_descriptor': identificador n´┐¢ declarado
C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(119): error C3861: 'cusparseCreateDnVec': identificador n´┐¢ encontrado
C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(121): error C2065: 'descriptor_': identificador n´┐¢ declarado
C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(121): error C2065: 'raw_descriptor': identificador n´┐¢ declarado
C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(142): error C2146: erro de sintaxe: ';' ausente antes do identificador 'index_type'
C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(142): error C2065: 'index_type': identificador n´┐¢ declarado
C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(143): error C3861: 'getCuSparseIndexType': identificador n´┐¢ encontrado
C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(147): error C2065: 'cusparseSpMatDescr_t': identificador n´┐¢ declarado
C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(147): error C2146: erro de sintaxe: ';' ausente antes do identificador 'raw_descriptor'
C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(147): error C2065: 'raw_descriptor': identificador n´┐¢ declarado
C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(148): error C2065: 'raw_descriptor': identificador n´┐¢ declarado
C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(148): error C2065: 'index_type': identificador n´┐¢ declarado
C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(148): error C3861: 'cusparseCreateCsr': identificador n´┐¢ encontrado
C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(189): error C2065: 'descriptor_': identificador n´┐¢ declarado
C:\Users\claud\pytorch\aten\src\ATen\cuda\CUDASparseDescriptors.cpp(189): error C2065: 'raw_descriptor': identificador n´┐¢ declarado