Difference between revisions of "OpenCL GPGPU Brep Raytracing"

From BRL-CAD
(Created page with "While there is existing ANSI C/C++ code for [Brep|https://en.wikipedia.org/wiki/Boundary_representation] in BRL-CAD it is not GPU parallel. Porting it to the GPU with OpenCL s...")
 
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
While there is existing ANSI C/C++ code for [Brep|https://en.wikipedia.org/wiki/Boundary_representation] 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 strict 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 strict ANSI C. Alternative 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.
 
  
 
* https://www.khronos.org/sycl/
 
* https://www.khronos.org/sycl/

Latest revision as of 17:33, 6 April 2019

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 strict 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.