From yimmanuel3 at gatech.edu Wed Aug 28 04:50:40 2019 From: yimmanuel3 at gatech.edu (Immanuel, Yehowshua U) Date: Wed, 28 Aug 2019 02:50:40 +0000 Subject: [Bf-cycles] Implementing | Vulkan Support For Blender Message-ID: <823346D1-0F04-4F8F-A20B-F76436C85AB4@gatech.edu> Hello Blender Developer community, This is my first message to the mailing list and I am a little new to this community so please bear with me. I am considering adding Vulkan support to Cycles. I found a translation header that translates CUDA to Vulkan here(https://github.com/jgbit/vuda) and it seems to work fine. Motivation: Macs support Vulkan through the Vulcan Metal layer - and Apple has abandoned support for OpenCL - which is already Mal-functioning on MacOS. If this works - there could theoretically be just one codebase for Cycles since AMD cards also support Vulkan - there would be no need to use OpenCL. Implementation Approach: The CUDA compiled code could exist along side the VUDA compiled code - the user could choose to use CUDA directly or VUDA. I am thinking of applying to GSOC for funding. I imagine that a at least a modest amount of progress could be made in one summer. I would hope to make sufficient progress so that another dev could pick up where I left off. My familiarity with blender: I?ve used Blender since 2009 for animation and scientific visualization on occasion. I?m not particularly familiar with the codebase. My programming strengths as pertains to this effort: C, C++, Python. I have not done a terribly large amount of GPU programming, but I do have expertise in hardware accelerator design and writing drivers, so this effort shouldn?t be out of my reach. I also have a strong background in Vector calculus and matrix mathematics - so I?m not too worried about making sense of the codebase. Is this a feasible/good idea? Does this align with your vision for Cycles and Blender? My personal motivation stems from frustration with NVIDIAs proprietary driver game and the lack of portability of numerous apps that use CUDA to other graphics cards/platforms because of NVIDIAs unwillingness to play fair. I also often work with Macs and Linux machines that use AMD hardware - so more future proof options for Blender. would be nice. Humbly, Yehowshua