ROCm/hipBLAS

Error while build hipBLAS

Closed this issue · 0 comments

What is the expected behavior

  • build successful

What actually happens

running develop
running egg_info
writing hipmat.egg-info/PKG-INFO
writing top-level names to hipmat.egg-info/top_level.txt
writing dependency_links to hipmat.egg-info/dependency_links.txt
reading manifest file 'hipmat.egg-info/SOURCES.txt'
writing manifest file 'hipmat.egg-info/SOURCES.txt'
running build_ext
building 'hipmat.libhipmat' extension
/opt/rocm/hip/bin/hipcc -I/opt/rocm/hipblas/include -I/opt/rocm/hip/include/hip/ -I/usr/include/python2.7 -c hipmat/hipmat.cpp -o build/temp.linux-x86_64-2.7/hipmat/hipmat.o -O -fPIC
In file included from hipmat/hipmat.cpp:5:
In file included from /opt/rocm/hipblas/include/hipblas.h:17:
In file included from /opt/rocm/hip/include/hip/hip_complex.h:29:
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:107:5: error: expected 'restrict' specifier
    MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipFloatComplex, signed short)
    ^
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:108:5: error: expected 'restrict' specifier
    MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipFloatComplex, unsigned int)
    ^
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:109:5: error: expected 'restrict' specifier
    MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipFloatComplex, signed int)
    ^
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:110:5: error: expected 'restrict' specifier
    MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipFloatComplex, double)
    ^
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:111:5: error: expected 'restrict' specifier
    MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipFloatComplex, unsigned long)
    ^
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:112:5: error: expected 'restrict' specifier
    MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipFloatComplex, signed long)
    ^
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:113:5: error: expected 'restrict' specifier
    MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipFloatComplex, unsigned long long)
    ^
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:114:5: error: expected 'restrict' specifier
    MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipFloatComplex, signed long long)
    ^
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:106:5: error: C++ requires a type specifier for all declarations
    MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipFloatComplex, unsigned short)
    ^
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:114:80: error: expected ';' at end of declaration list
    MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipFloatComplex, signed long long)
                                                                               ^
                                                                               ;
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:103:45: error: member initializer 'x' does not name a non-static data member or base class
    __device__ __host__ hipFloatComplex() : x(0.0f), y(0.0f) {}
                                            ^~~~~~~
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:103:54: error: member initializer 'y' does not name a non-static data member or base class
    __device__ __host__ hipFloatComplex() : x(0.0f), y(0.0f) {}
                                                     ^~~~~~~
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:104:52: error: member initializer 'x' does not name a non-static data member or base class
    __device__ __host__ hipFloatComplex(float x) : x(x), y(0.0f) {}
                                                   ^~~~
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:104:58: error: member initializer 'y' does not name a non-static data member or base class
    __device__ __host__ hipFloatComplex(float x) : x(x), y(0.0f) {}
                                                         ^~~~~~~
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:105:61: error: member initializer 'x' does not name a non-static data member or base class
    __device__ __host__ hipFloatComplex(float x, float y) : x(x), y(y) {}
                                                            ^~~~
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:105:67: error: member initializer 'y' does not name a non-static data member or base class
    __device__ __host__ hipFloatComplex(float x, float y) : x(x), y(y) {}
                                                                  ^~~~
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:126:5: error: expected 'restrict' specifier
    MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipDoubleComplex, signed short)
    ^
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:127:5: error: expected 'restrict' specifier
    MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipDoubleComplex, unsigned int)
    ^
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:128:5: error: expected 'restrict' specifier
    MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipDoubleComplex, signed int)
    ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
In file included from hipmat/hipmat.cpp:5:
In file included from /opt/rocm/hipblas/include/hipblas.h:17:
In file included from /opt/rocm/hip/include/hip/hip_complex.h:29:
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:107:5: error: expected 'restrict' specifier
    MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipFloatComplex, signed short)
    ^
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:108:5: error: expected 'restrict' specifier
    MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipFloatComplex, unsigned int)
    ^
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:109:5: error: expected 'restrict' specifier
    MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipFloatComplex, signed int)
    ^
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:110:5: error: expected 'restrict' specifier
    MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipFloatComplex, double)
    ^
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:111:5: error: expected 'restrict' specifier
    MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipFloatComplex, unsigned long)
    ^
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:112:5: error: expected 'restrict' specifier
    MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipFloatComplex, signed long)
    ^
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:113:5: error: expected 'restrict' specifier
    MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipFloatComplex, unsigned long long)
    ^
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:114:5: error: expected 'restrict' specifier
    MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipFloatComplex, signed long long)
    ^
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:106:5: error: C++ requires a type specifier for all declarations
    MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipFloatComplex, unsigned short)
    ^
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:114:80: error: expected ';' at end of declaration list
    MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipFloatComplex, signed long long)
                                                                               ^
                                                                               ;
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:103:45: error: member initializer 'x' does not name a non-static data member or base class
    __device__ __host__ hipFloatComplex() : x(0.0f), y(0.0f) {}
                                            ^~~~~~~
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:103:54: error: member initializer 'y' does not name a non-static data member or base class
    __device__ __host__ hipFloatComplex() : x(0.0f), y(0.0f) {}
                                                     ^~~~~~~
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:104:52: error: member initializer 'x' does not name a non-static data member or base class
    __device__ __host__ hipFloatComplex(float x) : x(x), y(0.0f) {}
                                                   ^~~~
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:104:58: error: member initializer 'y' does not name a non-static data member or base class
    __device__ __host__ hipFloatComplex(float x) : x(x), y(0.0f) {}
                                                         ^~~~~~~
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:105:61: error: member initializer 'x' does not name a non-static data member or base class
    __device__ __host__ hipFloatComplex(float x, float y) : x(x), y(y) {}
                                                            ^~~~
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:105:67: error: member initializer 'y' does not name a non-static data member or base class
    __device__ __host__ hipFloatComplex(float x, float y) : x(x), y(y) {}
                                                                  ^~~~
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:126:5: error: expected 'restrict' specifier
    MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipDoubleComplex, signed short)
    ^
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:127:5: error: expected 'restrict' specifier
    MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipDoubleComplex, unsigned int)
    ^
/opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:128:5: error: expected 'restrict' specifier
    MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipDoubleComplex, signed int)
    ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
Died at /opt/rocm/hip/bin/hipcc line 565.
error: command '/opt/rocm/hip/bin/hipcc' failed with exit status 1

How to reproduce

  • cd hipBLAS && mkdir build && cd build
  • ccmake ..
  • make

Environment

Hardware description
GPU Radeon R9 Fury Nano
CPU Intel i5-4440

Software stack

  • I am currently using latest version of HIP, hipBLAS