pluskid / Mocha.jl

Deep Learning framework for Julia
Other
1.29k stars 254 forks source link

Compiling Mocha cuda kernel failed #205

Closed AStupidBear closed 8 years ago

AStupidBear commented 8 years ago
shell> make
nvcc -ptx kernels.cu
logistic_loss.impl(34): error: identifier "atomicAdd" is undefined

binary_cross_entropy_loss.impl(32): error: identifier "atomicAdd" is undefined

binary_accuracy.impl(24): error: identifier "atomicAdd" is undefined

l1.impl(10): error: identifier "atomicAdd" is undefined

4 errors detected in the compilation of "/tmp/tmpxft_000082b1_00000000-6_kernels.cpp1.ii".
make: *** [kernels.ptx] Error 2
rluser@highchain-Z10PE-D8-WS:~/examples/build$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2013 NVIDIA Corporation
Built on Wed_Jul_17_18:36:13_PDT_2013
Cuda compilation tools, release 5.5, V5.5.0
ranjanan commented 8 years ago

Are you simply trying to compile a CUDA file to PTX code?

If so, try looking at this.

AStupidBear commented 8 years ago

@ranjanan

rluser@highchain-Z10PE-D8-WS:~/.julia/v0.4/Mocha/src/cuda/kernels$ nvcc -arch compute_11 kernels.cu
logistic_loss.impl(34): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (float *, float)

binary_cross_entropy_loss.impl(32): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (float *, float)

binary_accuracy.impl(24): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (float *const __restrict__, float)

l1.impl(10): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (float *, float)

4 errors detected in the compilation of "/tmp/tmpxft_00007e6e_00000000-6_kernels.cpp1.ii".
rluser@highchain-Z10PE-D8-WS:~/.julia/v0.4/Mocha/src/cuda/kernels$ nvcc -arch compute_12 kernels.cu
logistic_loss.impl(34): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (float *, float)

binary_cross_entropy_loss.impl(32): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (float *, float)

binary_accuracy.impl(24): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (float *const __restrict__, float)

l1.impl(10): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (float *, float)

4 errors detected in the compilation of "/tmp/tmpxft_00007e80_00000000-6_kernels.cpp1.ii".
AStupidBear commented 8 years ago

@pluskid Cannot get through this. Help?

pluskid commented 8 years ago

Hi, @AStupidBear I think cuda 5.5 is too old to compile this. You might need at least cuda 6.5~7.5 and cuDNN v4 to run Mocha.jl.

AStupidBear commented 8 years ago

@pluskid Thank you!