[Mesa-dev] Clover Platform Naming

Aaron Watry awatry at gmail.com
Wed Jul 30 07:40:32 PDT 2014


These are the platforms recognized by cppamp-driver-ng, and what I'd
need to add currently to get clover working on radeonsi (assuming we
supported all the necessary built-ins and also enabled the static
storage class specifier in clang successfully):

Label I've assigned: Vendor String / Platform String

AMD: "Advanced Micro Devices, Inc." / "AMD Accelerated Parallel Processing"
NVIDIA: "NVIDIA Corporation" / "NVIDIA CUDA"
Intel: "Intel Corporation" / "Intel OpenCL"
Intel (With registration): "Intel Corporation" / "Intel(R) OpenCL"
POCL: "The pocl project" / "Portable Computing Language"
Apple: (missing vendor name declaration in cppamp-driver-ng) / "Apple"

We'd currently need to add in the following, which seems odd:
Clover: "Mesa" / "Default"

Note that cppamp-driver-ng doesn't really care about the vendor name
(reinforced by the missing Apple vendor variable name), and chooses
code paths based on platform name, which is why I'm a bit hesitant to
have us just declare Default as our platform name here...  As I said
before, we may be a bit late to change this as there may be other code
in the wild that is already looking us up by name, but it's also
possible that this is still an OK time to do it because most
distributions that I'm aware of don't yet build clover by default.  If
we decide that we don't want to rename clover to reflect what we call
it, then maybe I need to submit some patches to cppamp-driver-ng to
have them also use the vendor name in the case that the platform name
might be ambiguous.

--Aaron

On Wed, Jul 30, 2014 at 9:05 AM, Tom Stellard <tom at stellard.net> wrote:
> On Tue, Jul 29, 2014 at 09:50:23AM -0500, Aaron Watry wrote:
>> Hi list,
>>
>> I was starting to look into getting cppamp-driver-ng working with
>> mesa/clover, and I quickly ran into a question...
>>
>> cppamp-driver-ng explicitly lists which platforms are supported in its
>> OpenCL back-end's source code. I went to add in the Mesa/Clover
>> entries, and discovered that we're actually reporting ourselves as:
>> CL_PLATFORM_VENDOR="Mesa"
>> CL_PLATFORM_NAME="Default"
>>
>
> What do other implementations return for CL_PLATFORM_NAME ?
>
> -Tom
>
>> The way that cppamp-driver-ng is written, they don't really care about
>> the vendor so much as the platform name, and "Default" is about as
>> generic as you can get.
>>
>> At this point in the game, are we stuck with this platform name, or
>> would we be able to change this to "Clover" (or something more
>> appropriate)?
>>
>> Just wanted to ask around and see what people thought.
>>
>> --Aaron


More information about the mesa-dev mailing list