Skip to content
This repository was archived by the owner on Mar 22, 2019. It is now read-only.

error class "__half" has no member "x" #19

@emerth

Description

@emerth

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions