undefined symbol: __cudaRegisterFatBinaryEnd CUDA compilador Uso de la solución discrepancia de la versión

 

¿Cómo resolver pytorch CUDA compilador y la versión de tiempo de ejecución de la versión CUDA no corresponde

modelo FPN cuando es ejecutado, la máquina se encuentra CUDA10.1 y pytoch == 0.4.0, hasta 9,0, por lo que el CUDA9.0 instalación, conexión suave en lugar cuda10.1-CUDA CUDA versión 9.0 a la conmutación completa ( no es necesario para participar en cudnn)

Después de reemplazar dicho cuda9.0, re make.sh, va a resolver el símbolo indefinido: __cudaRegisterFatBinaryEnd. Es un análisis detallado

 

Si inconsistencias versión CUDA CUDA y ejecutar la versión compilada de pytorch cuando, debido a diferentes compilador NVCC generará código para diferentes función dinámica, lo que conducirá a su función CUDA preparación no funciona correctamente.

Los errores comunes:

símbolo indefinido: __cudaRegisterFatBinaryEnd (CUDA10.1 se está ejecutando, tiempo de compilación versión CUDA <10.1)

símbolo indefinido: __cudaPopCallConfiguration (CUDA10.0 tiempo de ejecución, al compilar CUDA <10.0)

Espere

Así, hay dos ideas:

1. Tiempo de pytorch recompilación permite el compilador CUDA CUDA puede ser compatible con el tiempo de ejecución

2. Vuelva a instalar el CUDA hace que sea coherente con la versión compilada pytorch.

Involucrado en un servidor multi-usuario, por lo que el uso de un esquema para evitar la introducción de otras cuestiones:

Puedo ver detalles específicos de la discusión de nuevo github: Emisión

 

Recompilar el script de instalación de acabado pytorch de la siguiente manera:

Desinstalación de desinstalación pytorch # Conda PIP pytorch, SI utilizar Conda 
NVCC - V # Ver versión NVCC de 

sudo  RM -f / usr / CUDA # opcional / local, sólo SI ya tiene tener el este enlace simbólico
 sudo  LN -s / usr / local / cuda- 10.0 / usr / local / CUDA 

# Añadir las siguientes variables de entorno de la ruta, como por ejemplo ~ / .bashrc 
exportación CUDA_HOME = / usr / local / CUDA 
exportación el camino = " / usr / local / CUDA / bin: $ el camino " 
exportación LD_LIBRARY_PATH = " $ LD_LIBRARY_PATH: / usr / local / CUDA / lib64 " 
exportación LIBRARY_PATH =" $ LIBRARY_PATH: / usr / local / CUDA / lib64 " 

fuente ~ / .bashrc #确保路径被加载

#编译并安装pytorch 
Conda instalar numpy PyYAML mkl = 2019,3 mkl- incluir setuptools cmake CFFI tipificación 
Conda instalar -c pytorch magma- cuda100 # paso opcional 
# clon de código fuente pytorch 
git clone --recursive https: // github.com/pytorch/pytorch 
cd pytorch
 hacen limpias # hacen limpia que se necesita en mi caso 
CMAKE_PREFIX_PATH exportación = $ {CONDA_PREFIX: - "$ ($ nombredir (que Conda)) /../ " }
 sudo python setup.py install # sudo es necesaria en mi caso .

Para el segundo esquema, el CUDA9.0 recién instalado, el compilador puede realizar

 

 

referencia:

https://www.cnblogs.com/luruiyuan/p/10720581.html

Supongo que te gusta

Origin www.cnblogs.com/wind-chaser/p/12611503.html
Recomendado
Clasificación