dmlc/mshadow

Error on compiling basic_stream.cu with CUDA 9.0

vomarazabo opened this issue · 3 comments

I tried to compile basic_stream.cu included in the tutorial with the following command. I'm using nvcc 9.0.176.

nvcc -o basic_stream -O3 --use_fast_math -ccbin g++  -Xcompiler "-fopenmp -Wall -O3 -I mshadow -funroll-loops -Wno-unused-variable -Wno-unused-parameter -Wno-unknown-pragmas -Wno-unused-local-typedefs -msse3 -I/opt/cuda/include -DMSHADOW_USE_CBLAS=1 -DMSHADOW_USE_MKL=0 -DMSHADOW_RABIT_PS=0 -DMSHADOW_DIST_PS=0 -DMSHADOW_USE_PASCAL=0" -Xlinker "-lm -lcudart -lcublas -lcurand -lcusolver -L/opt/cuda/lib64 -L/opt/cuda/lib -lblas" basic_stream.cu

I got these error.

basic_stream.cu(12): error: no instance of overloaded function "NewStream" matches the argument list
basic_stream.cu(13): error: no instance of overloaded function "NewStream" matches the argument list
basic_stream.cu(19): error: no instance of overloaded function "NewStream" matches the argument list
3 errors detected in the compilation of "/tmp/tmpxft_00002131_00000000-8_basic_stream.cpp1.ii".

Any idea?

Beside this, I had to add -fopenmp by myself to compile basic.cpp with gcc 7.2.0. Compiling with mshadow.mk and config.mk in the tutorial don't work without adding -fopenmp.

lwpyr commented

CUDA 8.0 failed too
But if I use openblas instead of mkl, complie correctly but fail in running.
and I modified the .cu file where $NewSteam()$ to $NewSteam(0)$, or there are still errors.
I don't understand why this happened, because mxnet could build successfully, I come here to learn mshadow because mxnet widely uses mshadow

lwpyr commented

beside, It seems that cuda 9.0 doesn't support gcc-7

szha commented

This code base has been donated to the Apache MXNet project per #373, and repo is deprecated. Future development and issue tracking should continue in Apache MXNet.