[Mesa-dev] Status of Clover (AMDGPU)

Aaron Watry awatry at gmail.com
Wed May 31 21:44:51 UTC 2017


On Wed, May 31, 2017 at 9:37 AM, Luke A. Guest <laguest at archeia.com> wrote:

> Hi,
>
> I've just reinstalled Gentoo on my machine and I no longer have
> AMDGPU-Pro on it due to it using ancient libs. My machine is an FX-8350
> one, so it's PCIe-2.0. Clover is currently lacking in CL compliance at
> this time.
>
> So, I'm wondering if anyone is actually working on it now that AMD have
> abandoned it in favour of ROCm? Does anyone know the actual status, i.e.
> what is and isn't done? I think it's worth getting OpenCL support
> working for older hw, ROCm has a PCIe-3.0 intrinsics requirement, so for
> older hardware this isn't an option.
>

I'd suggest that you check out the recently-open-sourced OpenCL conformance
test suite [0] or my slightly-more-linux-build-friendly fork [1] and give
it a run on top of mesa/clover. It'll give you a good list of things to
work on.

I ran the integer_ops sub-tests last night, and besides the missing CL 1.2
popcount() function, that entire sub-suite succeeds. Feel free to attempt
to implement that built-in function in the libclc[2] library to get your
feet wet.

There are also issues with buffer copies (using host-pointers,
copySubRect), and there are a subset of the floating-point math built-ins
which are either missing or fail some test scenarios. Some atomic
operations seem to be incorrect, and that's about as far as I've managed to
get so far in looking at the results. I'm sure plenty of other things need
work/polish. Note that many of these things are gpu-independent and can be
implemented either in the clover state-tracker, or in the generic
(non-GPU-specific) portion of libclc.

I've been looking into implementing the clCreateCommandQueueWithProperties
API function as well, since there seem to be a bunch of CL programs that
just blindly assume the API function exists for all platforms when using
the ocl-icd loader, and segfault as a result.

One big missing piece is image support. It's an optional feature of OpenCL,
but there are a good number of programs used by a certain benchmarking site
that depend on it.

--Aaron

[0] - https://github.com/KhronosGroup/OpenCL-CTS/tree/cl12_trunk
[1] - https://github.com/awatry/OpenCL-CTS/tree/cl12_cmake_fixes
[2] - http://libclc.llvm.org/


>
> So far I've found that gl sharing is missing as are some entry points in
> dispatch.cpp.
>
> 1) Would it be worth continuting and if so would we be allowed to shared
> clc files from ROCm to Mesa?
>
> 2) If not, is it worth considering porting Beignet instead, that at
> least gives OpenCL 2.0.
>
> Thoughts?
>
> Thanks,
>
> Luke A. Guest.
>
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170531/32703528/attachment.html>


More information about the mesa-dev mailing list