Announcement

Collapse
No announcement yet.

AMD's ROCm 1.4 Now Available With OpenCL Support

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • AMD's ROCm 1.4 Now Available With OpenCL Support

    Phoronix: AMD's ROCm 1.4 Now Available With OpenCL Support

    The Radeon Open Compute platform has been updated and quietly released prior to the weekend. The ROCm 1.4 release comes with preliminary OpenCL support...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    It still needs closed source components ---> useless.
    ## VGA ##
    AMD: X1950XTX, HD3870, HD5870
    Intel: GMA45, HD3000 (Core i5 2500K)

    Comment


    • #3
      So, leave that alone for a moment, it requires PCI-e atomics, which apparently only exist in certain Xeons, certain v3 Core series, and only Ryzen and Naples AMD CPUs, which haven't been released yet at the time of this post. So, if you don't have a Broadwell-based server chip, or aren't in AMD or Cavium's inner circle testing the chips, this isn't going to work.

      Comment


      • #4
        Hopefully AMD will make amdgpu-pro available via packages.amd.com someday.

        Comment


        • #5
          Originally posted by darkbasic View Post
          It still needs closed source components ---> useless.
          It was advertised as a closed-source developer preview running in parallel with the remaining open sourcing effort. How does that make it useless ?
          Test signature

          Comment


          • #6
            Originally posted by bridgman View Post

            It was advertised as a closed-source developer preview running in parallel with the remaining open sourcing effort. How does that make it useless ?
            It's useless unless you use the sanctioned Ubuntu 4.7 blessed Kernel and a few other tag along options which I know no one who is going to rebuild a system [outside of Phoronix whose livelihood seems to be a perpetual state of testing] to use AMDGPU-Pro.

            Seeing as OpenCL is broken on the Mesa stack and libclc [having tested LLVM 3.9.1 and Debian rebuilt Mesa] against Blender 2.78a and Luxrender 1.6 with the following erroneous error that Debian refuses to test further. The work Stellar did to add those 2 lousy lines of Code to recognize Polaris based GPGPUs was for naught with libclc throwing errors: a project Mesa depends on and has been languishing since mid September 2016.

            For reference the version of libclc in use: libclc-amdgcn (0.2.0+git20160907-3)

            Pardon the long dump of info:

            Code:
            evice init success
            Compiling OpenCL program base
            OpenCL build failed with error CL_BUILD_PROGRAM_FAILURE, errors in console.
            OpenCL program base build output: /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../kernel_compat_opencl.h:134:9: warning: 'NULL' macro redefined
            /usr/include/clc/clctypes.h:89:9: note: previous definition is here
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../util_math.h:1426:14: warning: implicit declaration of function 'lgamma' is invalid in C99
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../kernel_montecarlo.h:41:14: warning: double precision constant requires cl_khr_fp64, casting to single precision
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../util_math.h:56:26: note: expanded from macro 'M_2PI_F'
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../kernel_montecarlo.h:75:14: warning: double precision constant requires cl_khr_fp64, casting to single precision
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../util_math.h:56:26: note: expanded from macro 'M_2PI_F'
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../kernel_montecarlo.h:92:14: warning: double precision constant requires cl_khr_fp64, casting to single precision
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../util_math.h:56:26: note: expanded from macro 'M_2PI_F'
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../kernel_montecarlo.h:107:14: warning: double precision constant requires cl_khr_fp64, casting to single precision
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../util_math.h:56:26: note: expanded from macro 'M_2PI_F'
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../kernel_projection.h:78:62: warning: double precision constant requires cl_khr_fp64, casting to single precision
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../util_math.h:56:26: note: expanded from macro 'M_2PI_F'
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../kernel_projection.h:83:63: warning: double precision constant requires cl_khr_fp64, casting to single precision
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../util_math.h:56:26: note: expanded from macro 'M_2PI_F'
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../closure/alloc.h:65:5: error: invalid argument type 'ShaderClosure *' (aka 'struct ShaderClosure *') to unary expression
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../closure/../closure/bsdf_microfacet.h:62:21: warning: double precision constant requires cl_khr_fp64, casting to single precision
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../util_math.h:56:26: note: expanded from macro 'M_2PI_F'
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../closure/../closure/bsdf_microfacet.h:145:21: warning: double precision constant requires cl_khr_fp64, casting to single precision
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../util_math.h:56:26: note: expanded from macro 'M_2PI_F'
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../closure/../closure/bsdf_microfacet.h:269:11: error: invalid argument type 'MicrofacetExtra *' (aka 'struct MicrofacetExtra *') to unary expression
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../closure/../closure/bsdf_microfacet.h:269:29: error: invalid argument type 'MicrofacetExtra *' (aka 'struct MicrofacetExtra *') to unary expression
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../closure/../closure/bsdf_microfacet_multi.h:47:21: warning: double precision constant requires cl_khr_fp64, casting to single precision
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../util_math.h:56:26: note: expanded from macro 'M_2PI_F'
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../closure/../closure/bsdf_ashikhmin_shirley.h:136:52: warning: implicit declaration of function 'native_tan' is invalid in C99
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../kernel_compat_opencl.h:116:19: note: expanded from macro 'tanf'
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../closure/../closure/bsdf_ashikhmin_shirley.h:167:10: warning: double precision constant requires cl_khr_fp64, casting to single precision
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../util_math.h:56:26: note: expanded from macro 'M_2PI_F'
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../svm/svm_gradient.h:46:25: warning: double precision constant requires cl_khr_fp64, casting to single precision
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../util_math.h:56:26: note: expanded from macro 'M_2PI_F'
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../svm/svm_closure.h:295:64: warning: double precision constant requires cl_khr_fp64, casting to single precision
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../util_math.h:56:26: note: expanded from macro 'M_2PI_F'
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../svm/svm_wave.h:37:8: warning: double precision constant requires cl_khr_fp64, casting to single precision
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../util_math.h:56:26: note: expanded from macro 'M_2PI_F'
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../svm/svm_sky.h:105:32: warning: double precision constant requires cl_khr_fp64, casting to single precision
            /usr/lib/blender/2.78/scripts/addons/cycles/kernel/kernels/opencl/../../util_math.h:56:26: note: expanded from macro 'M_2PI_F'
            
            Caching exr file, 1920x1080, /home/mdriftmeyer/Blender/Render-Cache/cached_RR_showerGlass_Scene_6977eba0dfffb5ff4cc8fd123d14ac62.exr
            Error: Failed loading render kernel, see console for errors
            
            
            CLINFO:
            
            mdriftmeyer@horus:~/Downloads$ clinfo
            Number of platforms                               1
              Platform Name                                   Clover
              Platform Vendor                                 Mesa
              Platform Version                                OpenCL 1.1 Mesa 13.0.2
              Platform Profile                                FULL_PROFILE
              Platform Extensions                             cl_khr_icd
              Platform Extensions function suffix             MESA
            
              Platform Name                                   Clover
            Number of devices                                 1
              Device Name                                     AMD POLARIS10 (DRM 3.3.0 / 4.8.0-2-amd64, LLVM 3.9.1)
              Device Vendor                                   AMD
              Device Vendor ID                                0x1002
              Device Version                                  OpenCL 1.1 Mesa 13.0.2
              Driver Version                                  13.0.2
              Device OpenCL C Version                         OpenCL C 1.1
              Device Type                                     GPU
              Device Profile                                  FULL_PROFILE
              Max compute units                               36
              Max clock frequency                             0MHz
              Max work item dimensions                        3
              Max work item sizes                             256x256x256
              Max work group size                             256
            [B]=== CL_PROGRAM_BUILD_LOG ===
            ./generic/lib/workitem/get_global_id.cl:4:30: in function sum void (float addrspace(1)*, float addrspace(1)*, float addrspace(1)*): unsupported call to function get_local_size
              Preferred work group size multiple              ./generic/lib/workitem/get_global_id.cl:4:30: in function sum void (float addrspace(1)*, float addrspace(1)*, float addrspace(1)*): unsupported call to function get_local_size[/B]
            
              Preferred / native vector sizes                 
                char                                                16 / 16      
                short                                                8 / 8       
                int                                                  4 / 4       
                long                                                 2 / 2       
                half                                                 0 / 0        (n/a)
                float                                                4 / 4       
                double                                               2 / 2        (cl_khr_fp64)
              Half-precision Floating-point support           (n/a)
              Single-precision Floating-point support         (core)
                Denormals                                     No
                Infinity and NANs                             Yes
                Round to nearest                              Yes
                Round to zero                                 No
                Round to infinity                             No
                IEEE754-2008 fused multiply-add               No
                Support is emulated in software               No
                Correctly-rounded divide and sqrt operations  No
              Double-precision Floating-point support         (cl_khr_fp64)
                Denormals                                     Yes
                Infinity and NANs                             Yes
                Round to nearest                              Yes
                Round to zero                                 Yes
                Round to infinity                             Yes
                IEEE754-2008 fused multiply-add               Yes
                Support is emulated in software               No
                Correctly-rounded divide and sqrt operations  No
              Address bits                                    64, Little-Endian
              Global memory size                              8587284480 (7.998GiB)
              Error Correction support                        No
              Max memory allocation                           7728556032 (7.198GiB)
              Unified memory for Host and Device              Yes
              Minimum alignment for any data type             128 bytes
              Alignment of base address                       1024 bits (128 bytes)
              Global Memory cache type                        None
              Image support                                   No
              Local memory type                               Local
              Local memory size                               32768 (32KiB)
              Max constant buffer size                        2147483647 (2GiB)
              Max number of constant args                     16
              Max size of kernel argument                     1024
              Queue properties                                
                Out-of-order execution                        No
                Profiling                                     Yes
              Profiling timer resolution                      0ns
              Execution capabilities                          
                Run OpenCL kernels                            Yes
                Run native kernels                            No
              Device Available                                Yes
              Compiler Available                              Yes
              Device Extensions                               cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_fp64
            
            NULL platform behavior
              clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...)  Clover
              clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...)   Success [MESA]
              clCreateContext(NULL, ...) [default]            Success [MESA]
              clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No devices found in platform
              clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  Success (1)
                Platform Name                                 Clover
                Device Name                                   AMD POLARIS10 (DRM 3.3.0 / 4.8.0-2-amd64, LLVM 3.9.1)
              clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR)  No devices found in platform
              clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM)  No devices found in platform
              clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL)  Success (1)
                Platform Name                                 Clover
                Device Name                                   AMD POLARIS10 (DRM 3.3.0 / 4.8.0-2-amd64, LLVM 3.9.1)
            
            ICD loader properties
              ICD loader Name                                 OpenCL ICD Loader
              ICD loader Vendor                               OCL Icd free software
              ICD loader Version                              2.2.10
              ICD loader Profile                              OpenCL 2.1
            mdriftmeyer@horus:~/Downloads$
            I am hardly convinced that ROCm will `just work' with the FOSS status currently hosed.

            Comment


            • #7
              Does the new version of rocm handle newer Linux kernel?
              Has it been tested on hybrid laptop i.e. AMD Radeon M265DX?
              Edit: I decide to install rocm anyway and encounter this issue while following the instruction

              Code:
              $ sudo dnf install rocm --allowerasing
              Last metadata expiration check: 0:00:42 ago on Mon Dec 19 09:32:16 2016.
              Error: package rocm-1.4.0-0.x86_64 requires rocm-kernel = 1.4.0, but none of the providers can be installed
              It looks like rocm-kernel is missing.
              Last edited by finalzone; 19 December 2016, 01:35 PM.

              Comment


              • #8
                Originally posted by Min1123 View Post
                which apparently only exist in certain Xeons, certain v3 Core series
                They said this is available on all Haswell+ CPU (except lower-end, like Pentium and Celeron).

                Anyway, this is useless at least for one case: crypto currency miner. In this use case, people are using mostly PCI-Ex 1x riser so they do not plug to the CPU PCI-Ex root port.

                Comment


                • #9
                  Originally posted by finalzone View Post
                  Does the new version of rocm handle newer Linux kernel?
                  Has it been tested on hybrid laptop i.e. AMD Radeon M265DX?
                  Edit: I decide to install rocm anyway and encounter this issue while following the instruction

                  Code:
                  $ sudo dnf install rocm --allowerasing
                  Last metadata expiration check: 0:00:42 ago on Mon Dec 19 09:32:16 2016.
                  Error: package rocm-1.4.0-0.x86_64 requires rocm-kernel = 1.4.0, but none of the providers can be installed
                  It looks like rocm-kernel is missing.
                  It supports the distros listed in the README with their stock kernels - IIRC that is Ubuntu 16.04, 16.10 plus Fedora 23.

                  The M265 is an SI chip with no MEC block, so ROCM is not going to work on it.
                  Test signature

                  Comment


                  • #10
                    Originally posted by bridgman View Post

                    It supports the distros listed in the README with their stock kernels - IIRC that is Ubuntu 16.04, 16.10 plus Fedora 23.

                    The M265 is an SI chip with no MEC block, so ROCM is not going to work on it.
                    Thanks for the reply. Just to let you know Fedora 23 is reaching EOL on December 20.

                    Comment

                    Working...
                    X