-
Notifications
You must be signed in to change notification settings - Fork 1
error class "__half" has no member "x" #19
Description
Bump bump bump...
This is on Ubuntu 18.04, GCC 6.4, CUDA 9, ROCm 1.9.2, kernel 4.15.0-42, an RX Vega 64 card, X370 mobo and a Ryzen 1700 CPU.
This is ALSO on Ubuntu 16.04, GCC 5.something, CUDA 9, ROCm 1.9.2, an RX Vega 64 card, X370 mobo and a Ryzen 1700 CPU. I can't remember the kernel version in this one.
Building torch per the instructions in README.ROCm.md, I get dozens of errors and ultimately build fail:
~/torch/extra/cutorch/lib/THC/generated/../THCTensorTypeUtils.cuh(141): error: class "__half" has no member "x"
-and -
~/torch/extra/cutorch/lib/THC/generated/../THCTensorTypeUtils.cuh(145): error: class "__half" has no member "x"
Has anyone found a solution to this?
During the Ubuntu 18.04 build attempt, the build script does indeed say to the effect that it is using gcc and g++ version 6.4.0. Please don't tell me to back-rev my compiler to 6.4 or OS to Ubuntu 14/16.
I've done some work trying to figure this out.
Here are the ways I can generate the fail:
torch ((HEAD detached at a58889e)) $ ./clean; ./clean.sh; TORCH_LUA_VERSION=LUA52 CC=/usr/bin/gcc-6 CXX=/usr/bin/g++-6 CFLAGS="${CFLAGS/-fno-plt/}" CXXFLAGS="${CFLAGS/-fno-plt/}" WITH_CUDA=1 WITH_CUDNN=0 TORCH_NVCC_FLAGS="-D__CUDA_NO_HALF_OPERATORS__" ./install.sh
torch ((HEAD detached at a58889e)) $ ./clean; ./clean.sh; TORCH_LUA_VERSION=LUA52 CC=/usr/bin/gcc-6 CXX=/usr/bin/g++-6 WITH_CUDA=1 WITH_CUDNN=0 TORCH_NVCC_FLAGS="-D__CUDA_NO_HALF_OPERATORS__" ./install.sh
torch ((HEAD detached at a58889e)) $ ./clean; ./clean.sh; TORCH_LUA_VERSION=LUA52 CC=/usr/bin/gcc-6 CXX=/usr/bin/g++-6 TORCH_NVCC_FLAGS="-D__CUDA_NO_HALF_OPERATORS__" ./install.sh
torch ((HEAD detached at a58889e)) $ ./clean; ./clean.sh; TORCH_LUA_VERSION=LUA52 CC=/usr/bin/gcc-6 CXX=/usr/bin/g++-6 TORCH_NVCC_FLAGS="-D__CUDA_NO_HALF_OPERATORS__" ./install.sh
torch ((HEAD detached at a58889e)) $ ./clean; ./clean.sh; TORCH_LUA_VERSION=LUA52 CC=/usr/bin/gcc-6 CXX=/usr/bin/g++-6 ./install.sh
torch ((HEAD detached at a58889e)) $ ./clean; ./clean.sh; TORCH_LUA_VERSION=LUA52 ./install.sh
In this last case the compiler detected is not 6.4 but 7.3.
Other than not running a command at all, I don't know how I can simplify it more.