Announcement

Collapse
No announcement yet.

Mesa's New OpenCL Stack "Rusticl" Nearing Formal Support For OpenCL 3.0

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

  • #41
    Originally posted by karolherbst View Post

    good question. I doubt anybody did Also support for this on radeonsi is being worked on by others, but I don't think anybody got it ready to run yet.
    Mind telling me who's working on it? I've been absent from radeonsi/clover development for far too long and might need something to ease myself back into it.

    --Aaron

    Comment


    • #42
      Originally posted by karolherbst View Post

      We use clang to compile OpenCL C to LLVM IR, and then use the SPIRV-LLVM-translator to translate that into SPIR-V and from there it's all common/shared code (between OpenGL SPIR-V, Vulkan, and OpenCL kernel SPIR-V)
      Still using libclc to provide the OpenCL C library functions, or something else? I assume the former, but wanted to check.

      Edit: Nevermind, I see in the MR on the mesa gitlab that it is in fact using libclc
      Last edited by Veerappan; 30 April 2022, 02:58 PM.

      Comment


      • #43
        Originally posted by karolherbst View Post

        yeah, so besides requiring NIR there are a few other things drivers need:
        1. able to bind global buffers with full pointer support. Some devices can only do SSBOs, which are a little different. We might be able to get around that by just advertising such devices as 32 bit ones, but there is no fallback code for that at the moment anyway.

        2. compute shaders (obviously), but the requirements are actually weaker than in OpenGL. E.g. on Nvidia Tesla (nv50) we can't really expose compute shaders, because of some minor details, but the devices are CL 1.1 compliant

        3. a few gallium callbacks I depend upon, but Jason has been working on writing proper fallbacks, so drivers can just use those.
        You are a wonderful hooman for this explanation! Now I need to do more research so that I better understand the full meaning and implication of everything you stated. I really wish I had started learning more years ago instead of puttering around with windows sysadmin and sql things.

        Things like: what is the difference between full pointer support vs shader support buffer objects vs uniform buffer objects.... how to know how to write a workaround vs. how to know how to get full support vs. how to deal with NVIDIA limitations, etc. Basically: I *really* want to fully comprehend this, its super fascinating. But need to learn before getting "too old" to learn new tricks...

        (PS if Herbst is your last name are you by chance related to any of the Herbst's in northern Wisconsin by way of Southeastern Germany or northeastern Austria and/or Bohemia region? Grew up with a few in Wisconsin who are all software engineers of some sort now. Seems like it comes with the name!)

        Comment

        Working...
        X