Difference between revisions of "OpenCL GPGPU Brep Raytracing"
From BRL-CAD
Vasco.costa (talk | contribs) |
|||
(2 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
While there is existing ANSI C/C++ code for [[wikipedia:Boundary representation|Brep]] in BRL-CAD it is not GPU parallel. Porting it to the GPU with OpenCL should be rather complex because much of this code is written in object oriented C++. | While there is existing ANSI C/C++ code for [[wikipedia:Boundary representation|Brep]] in BRL-CAD it is not GPU parallel. Porting it to the GPU with OpenCL should be rather complex because much of this code is written in object oriented C++. | ||
− | + | So the first task you should make to start an OpenCL port of this is to make a simplified version of the code which uses just ANSI C. Alternatively you can also look into incorporating SYCL for the Brep code. SYCL is a GPU parallel language based on C++ which should be possible to interface with OpenCL. | |
− | So the first task you should make to start an OpenCL port of this is to make a simplified version of the code which uses | ||
* https://www.khronos.org/sycl/ | * https://www.khronos.org/sycl/ |
Latest revision as of 05:05, 29 April 2021
While there is existing ANSI C/C++ code for Brep in BRL-CAD it is not GPU parallel. Porting it to the GPU with OpenCL should be rather complex because much of this code is written in object oriented C++.
So the first task you should make to start an OpenCL port of this is to make a simplified version of the code which uses just ANSI C. Alternatively you can also look into incorporating SYCL for the Brep code. SYCL is a GPU parallel language based on C++ which should be possible to interface with OpenCL.