[Mesa-dev] OpenCL for radeon Hawaii?

Sam Halliday sam.halliday at gmail.com
Thu Aug 4 19:54:40 UTC 2016


Thanks Jan,

This is what it comes up with
https://gist.github.com/fommil/c97d4c8fb2790e28ecaf8d334ebf1746

Are there any demo apps I could expect to run with this? What is
involved in writing missing functionality?

Number of platforms 1
Platform Name Clover
Platform Vendor Mesa
Platform Version OpenCL 1.1 Mesa 12.0.1
Platform Profile FULL_PROFILE
Platform Extensions cl_khr_icd
Platform Extensions function suffix MESA
Platform Name Clover
Number of devices 1
Device Name AMD HAWAII (DRM 2.43.0 / 4.6.4-1-ARCH, LLVM 3.8.0)
Device Vendor AMD
Device Vendor ID 0x1002
Device Version OpenCL 1.1 Mesa 12.0.1
Driver Version 12.0.1
Device OpenCL C Version OpenCL C 1.1
Device Type GPU
Device Profile FULL_PROFILE
Max compute units 44
Max clock frequency 1090MHz
Max work item dimensions 3
Max work item sizes 256x256x256
Max work group size 256
Preferred work group size multiple 64
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 32, Little-Endian
Global memory size 1073741824 (1024MiB)
Error Correction support No
Max memory allocation 268435456 (256MiB)
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 268435456 (256MiB)
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 HAWAII (DRM 2.43.0 / 4.6.4-1-ARCH, LLVM 3.8.0)
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 HAWAII (DRM 2.43.0 / 4.6.4-1-ARCH, LLVM 3.8.0)
ICD loader properties
ICD loader Name OpenCL ICD Loader
ICD loader Vendor OCL Icd free software
ICD loader Version 2.2.9
ICD loader Profile OpenCL 2.1

On 3 August 2016 at 21:33, Jan Vesely <jan.vesely at rutgers.edu> wrote:
> Hi,
>
> you can use clinfo utility to check whether OpenCL has been setup
> correctly. It won't be able to run luxmark, but simpler stuff should
> work.
>
> Jan
>
> On Wed, 2016-08-03 at 20:45 +0100, Sam Halliday wrote:
>> Hello everybody,
>>
>> I recently got a Radeon R9 290x (aka Hawaii). I run ArchLinux, which
>> has
>> mesa 12.0.1.
>>
>> I am keen to try out mesa's partial OpenCL implementation. Ideally to
>> use a BLAS implementation such as https://github.com/CNugteren/CLBlas
>> t
>> but I'd also be happy to just write something basic like dense
>> matrix/matrix multiplication in OpenCL.
>>
>>
>> However, when I tried to run the "luxmark" OpenCL benchmark (the only
>> way I could think to test if my card is supported), I got this error
>>
>> [PathOCLBaseRenderThread::0] Compiling kernels
>> [PathOCLBaseRenderThread::0] PathOCL kernel compilation error ERROR
>> clBuildProgram[CL_INVALID_BUILD_OPTIONS]:
>> RUNTIME ERROR: PathOCLBase kernel compilation error
>>
>> which, I'm guessing, means that my GPU isn't supported for OpenCL by
>> mesa yet. Is that correct? (I don't know how to get any more output
>> or
>> logs than this).
>>
>>
>> Could somebody please help by letting me know if there is a ticket I
>> could subscribe to track progress of support for my card (a simple
>> search of the bug database didn't bring up anything obvious). This
>> message is to the -dev list, so I am suppose I am saying that I am
>> prepared to get my hands dirty... but I am primarily a Scala
>> developer
>> and haven't done any C in years so the extent of my help is limited.
>>
>> If somebody who knows what they are doing would be willing to
>> implement
>> some of the functionality needed, I'd be prepared to buy this GPU for
>> them to use for their hacking - it's the least I could do (but it is
>> an
>> absolute monster, I didn't even know GPUs could be this big! I needed
>> to
>> get a bigger case for it).
>>
>>
>> Somewhat tangentially, if OpenCL support is really not a possibility
>> anytime soon, could somebody please point me in the direction of a
>> way
>> to use this card programmatically for something like matrix/matrix
>> multiplication? (I'm prepared to go really low level if there is
>> sufficient documentation).
>>
>>
>> I'm not at all interested in using proprietary drivers for OpenCL.
>>
>>
> --
> Jan Vesely <jan.vesely at rutgers.edu>


More information about the mesa-dev mailing list